Skip to content
Snippets Groups Projects
Commit 37e8f9f1 authored by Alexandre Savard's avatar Alexandre Savard
Browse files

Merge branch 'master' into conference

parents 00de1821 0a931f99
Branches
Tags
No related merge requests found
...@@ -25,6 +25,7 @@ buttons_DATA = current.svg \ ...@@ -25,6 +25,7 @@ buttons_DATA = current.svg \
busy.svg \ busy.svg \
sflphone.svg \ sflphone.svg \
sflphone_small.svg \ sflphone_small.svg \
sflphone_notif.svg \
stock_person.svg \ stock_person.svg \
icon_rec.svg \ icon_rec.svg \
rec_call.svg \ rec_call.svg \
......
...@@ -87,9 +87,9 @@ start_hidden( void ) ...@@ -87,9 +87,9 @@ start_hidden( void )
dbus_start_hidden(); dbus_start_hidden();
} }
static void static void set_popup_mode (GtkWidget *widget, gpointer *userdata)
set_popup_mode( void )
{ {
if (dbus_popup_mode () || gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
dbus_switch_popup_mode (); dbus_switch_popup_mode ();
} }
...@@ -452,14 +452,15 @@ create_general_settings () ...@@ -452,14 +452,15 @@ create_general_settings ()
gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0);
GtkWidget* trayItem1 = gtk_radio_button_new_with_mnemonic(NULL, _("_Popup main window on incoming call")); GtkWidget* trayItem1 = gtk_radio_button_new_with_mnemonic(NULL, _("_Popup main window on incoming call"));
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(trayItem1), dbus_popup_mode() ); g_signal_connect(G_OBJECT (trayItem1), "toggled", G_CALLBACK (set_popup_mode), NULL);
g_signal_connect(G_OBJECT( trayItem1 ), "clicked", G_CALLBACK( set_popup_mode ) , NULL);
gtk_table_attach( GTK_TABLE(table), trayItem1, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); gtk_table_attach( GTK_TABLE(table), trayItem1, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5);
trayItem = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(trayItem1), _("Ne_ver popup main window")); trayItem = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON(trayItem1), _("Ne_ver popup main window"));
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(trayItem), !dbus_popup_mode() );
gtk_table_attach( GTK_TABLE(table), trayItem, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); gtk_table_attach( GTK_TABLE(table), trayItem, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5);
// Toggle according to the user configuration
dbus_popup_mode () ? gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (trayItem1), TRUE) : gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (trayItem), TRUE);
trayItem = gtk_check_button_new_with_mnemonic(_("Hide SFLphone window on _startup")); trayItem = gtk_check_button_new_with_mnemonic(_("Hide SFLphone window on _startup"));
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(trayItem), dbus_is_start_hidden() ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(trayItem), dbus_is_start_hidden() );
g_signal_connect(G_OBJECT( trayItem ) , "clicked" , G_CALLBACK( start_hidden ) , NULL); g_signal_connect(G_OBJECT( trayItem ) , "clicked" , G_CALLBACK( start_hidden ) , NULL);
......
...@@ -65,6 +65,7 @@ incoming_call_cb (DBusGProxy *proxy UNUSED, ...@@ -65,6 +65,7 @@ incoming_call_cb (DBusGProxy *proxy UNUSED,
create_new_call (CALL, CALL_STATE_INCOMING, g_strdup(callID), g_strdup(accountID), peer_name, peer_number, &c); create_new_call (CALL, CALL_STATE_INCOMING, g_strdup(callID), g_strdup(accountID), peer_name, peer_number, &c);
#if GTK_CHECK_VERSION(2,10,0) #if GTK_CHECK_VERSION(2,10,0)
status_tray_icon_blink (TRUE); status_tray_icon_blink (TRUE);
popup_main_window ();
#endif #endif
set_timestamp (&c->_time_start); set_timestamp (&c->_time_start);
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
#define LOGO ICONS_DIR "/sflphone.svg" #define LOGO ICONS_DIR "/sflphone.svg"
#define LOGO_NOTIF ICONS_DIR "/sflphone_notif.svg"
#define LOGO_SMALL ICONS_DIR "/sflphone_small.svg" #define LOGO_SMALL ICONS_DIR "/sflphone_small.svg"
#define CURRENT_CALLS "current_calls" #define CURRENT_CALLS "current_calls"
......
...@@ -29,6 +29,16 @@ GtkStatusIcon* status; ...@@ -29,6 +29,16 @@ GtkStatusIcon* status;
GtkWidget * show_menu_item; GtkWidget * show_menu_item;
gboolean __minimized = MINIMIZED; gboolean __minimized = MINIMIZED;
void popup_main_window (void)
{
if (__POPUP_WINDOW)
{
gtk_widget_show (get_main_window ());
set_minimized (FALSE);
}
}
void void
status_quit ( void * foo UNUSED) status_quit ( void * foo UNUSED)
{ {
...@@ -41,14 +51,12 @@ status_icon_unminimize() ...@@ -41,14 +51,12 @@ status_icon_unminimize()
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), TRUE); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), TRUE);
} }
gboolean gboolean main_widget_minimized()
main_widget_minimized()
{ {
return __minimized; return __minimized;
} }
void void show_hide (void)
show_hide (void)
{ {
if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))) if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item)))
{ {
...@@ -60,12 +68,10 @@ show_hide (void) ...@@ -60,12 +68,10 @@ show_hide (void)
gtk_widget_hide(GTK_WIDGET(get_main_window())); gtk_widget_hide(GTK_WIDGET(get_main_window()));
set_minimized( MINIMIZED ); set_minimized( MINIMIZED );
} }
} }
void void status_click (GtkStatusIcon *status_icon UNUSED, void * foo UNUSED)
status_click (GtkStatusIcon *status_icon UNUSED, void * foo UNUSED)
{ {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item), gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_menu_item),
!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))); !gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item)));
...@@ -80,8 +86,7 @@ void menu (GtkStatusIcon *status_icon, ...@@ -80,8 +86,7 @@ void menu (GtkStatusIcon *status_icon,
status_icon, button, activate_time); status_icon, button, activate_time);
} }
GtkWidget * GtkWidget* create_menu()
create_menu()
{ {
GtkWidget * menu; GtkWidget * menu;
GtkWidget * menu_items; GtkWidget * menu_items;
...@@ -129,10 +134,13 @@ show_status_icon() ...@@ -129,10 +134,13 @@ show_status_icon()
g_free(tip); g_free(tip);
} }
void void status_tray_icon_blink (gboolean active)
status_tray_icon_blink( gboolean active )
{ {
gtk_status_icon_set_blinking( status , active ); // Set a different icon to notify of an event
active ? gtk_status_icon_set_from_file (status, LOGO_NOTIF) : gtk_status_icon_set_from_file (status, LOGO);
// Do not blink anymore ...
// gtk_status_icon_set_blinking (status, active);
} }
GtkStatusIcon* GtkStatusIcon*
......
...@@ -30,6 +30,11 @@ ...@@ -30,6 +30,11 @@
* @brief The status icon in the system tray. * @brief The status icon in the system tray.
*/ */
/**
* Popup the main window. Used on incoming calls
*/
void popup_main_window (void);
/** /**
* Create the status icon * Create the status icon
*/ */
......
...@@ -30,7 +30,7 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ ...@@ -30,7 +30,7 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
$(CC_INC)../../pjlib-util/include \ $(CC_INC)../../pjlib-util/include \
$(CC_INC)../../pjnath/include \ $(CC_INC)../../pjnath/include \
$(CC_INC)../.. \ $(CC_INC)../.. \
$(SRTP_INC) $(SRTP_INC) -O2
export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
$(HOST_CXXFLAGS) $(CXXFLAGS) $(HOST_CXXFLAGS) $(CXXFLAGS)
export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \ export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment