From 936d5ea952abe69e9ad5b8899eeceb240a26e49c Mon Sep 17 00:00:00 2001 From: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Date: Thu, 11 Feb 2010 16:25:16 -0500 Subject: [PATCH] [#1641] Store dialpad display in gconf --- sflphone-client-gnome/sflphone-client-gnome.schemas | 13 +++++++++++++ sflphone-client-gnome/src/mainwindow.c | 2 +- sflphone-client-gnome/src/sflphone_const.h | 4 ++-- sflphone-client-gnome/src/uimanager.c | 9 +++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/sflphone-client-gnome/sflphone-client-gnome.schemas b/sflphone-client-gnome/sflphone-client-gnome.schemas index cd8fdfbd16..cda7c5e3a6 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 58f96ad600..b6a939dbc0 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 78e1833b9d..93e021f74f 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 1a4632c589..9a84bb90ac 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); -- GitLab