diff --git a/sflphone-client-gnome/sflphone-client-gnome.schemas b/sflphone-client-gnome/sflphone-client-gnome.schemas index cd8fdfbd1601bdeda197fa70fb1964baf95c044e..cda7c5e3a686e440b7e751b44252430400d704c8 100644 --- a/sflphone-client-gnome/sflphone-client-gnome.schemas +++ b/sflphone-client-gnome/sflphone-client-gnome.schemas @@ -51,6 +51,19 @@ </locale> </schema> + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/dialpad</key> + <applyto>/apps/sflphone-client-gnome/state/dialpad</applyto> + <owner>sflphone-client-gnome</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Display dialpad</short> + <long>Display dialpad.</long> + </locale> + </schema> + + </schemalist> </gconfschemafile> diff --git a/sflphone-client-gnome/src/mainwindow.c b/sflphone-client-gnome/src/mainwindow.c index 58f96ad6002e9115b95990e3b8161070a08ab023..b6a939dbc0f27d24fa309af8dc9f2a8d8c08ed33 100644 --- a/sflphone-client-gnome/src/mainwindow.c +++ b/sflphone-client-gnome/src/mainwindow.c @@ -249,7 +249,7 @@ create_main_window () gtk_widget_show_all (mic_control); } - if(SHOW_DIALPAD){ + if (eel_gconf_get_boolean (CONF_SHOW_DIALPAD)){ dialpad = create_dialpad(); gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); gtk_widget_show_all (dialpad); diff --git a/sflphone-client-gnome/src/sflphone_const.h b/sflphone-client-gnome/src/sflphone_const.h index 78e1833b9df452a21cd2a04ca1436e0cad29960d..93e021f74f5b1ddd3a2df76061d7a2ccc16c2ef1 100644 --- a/sflphone-client-gnome/src/sflphone_const.h +++ b/sflphone-client-gnome/src/sflphone_const.h @@ -123,8 +123,6 @@ log4c_category_t* log4c_sfl_gtk_category; #define MINIMIZED TRUE /** Behaviour of the main window on incoming calls */ #define __POPUP_WINDOW ( dbus_popup_mode() ) -/** Show/Hide the dialpad */ -#define SHOW_DIALPAD ( dbus_get_dialpad() ) /** Show/Hide the alsa configuration panel */ #define SHOW_ALSA_CONF ( dbus_get_audio_manager() == ALSA ) /** Show/Hide the volume controls */ @@ -169,5 +167,7 @@ log4c_category_t* log4c_sfl_gtk_category; #define CONF_MAIN_WINDOW_HEIGHT CONF_PREFIX "/state/window_height" #define CONF_MAIN_WINDOW_POSITION_X CONF_PREFIX "/state/window_position_x" #define CONF_MAIN_WINDOW_POSITION_Y CONF_PREFIX "/state/window_position_y" +/** Show/Hide the dialpad */ +#define CONF_SHOW_DIALPAD CONF_PREFIX "/state/dialpad" #endif diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c index 1a4632c5898cb0c75e8c07bf5ce968830eeda8a6..9a84bb90ac02c55cb6884eb8f674202bf4814f33 100644 --- a/sflphone-client-gnome/src/uimanager.c +++ b/sflphone-client-gnome/src/uimanager.c @@ -297,11 +297,12 @@ static void volume_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data) static void dialpad_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data) { gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); - if (toggled == SHOW_DIALPAD) + gboolean conf_dialpad = eel_gconf_get_boolean (CONF_SHOW_DIALPAD); + if (toggled == conf_dialpad) return; main_window_dialpad (toggled); - if (toggled || SHOW_DIALPAD) - dbus_set_dialpad(toggled); + if (toggled || conf_dialpad) + eel_gconf_set_boolean (CONF_SHOW_DIALPAD, toggled); //dbus_set_dialpad (toggled); } static void help_contents_cb (GtkAction *action) @@ -1318,7 +1319,7 @@ void create_menus (GtkUIManager *ui_manager, GtkWidget **widget) volumeToggle = gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/VolumeControls"); // Set the toggle buttons - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Dialpad")), (gboolean) SHOW_DIALPAD); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean (CONF_SHOW_DIALPAD)); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (volumeToggle), (gboolean) SHOW_VOLUME); gtk_action_set_sensitive (GTK_ACTION (volumeToggle), SHOW_ALSA_CONF);