diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2007-12-06 22:31:58 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2007-12-06 22:31:58 +0800 |
commit | e0de4a5f2a254beef02021573c57543dfd33311f (patch) | |
tree | e515549717771ce1d566a004aec1df6669264207 /libempathy-gtk | |
parent | 17b31a900a57de69d2a222683dea403b2d8a3346 (diff) | |
download | gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar.gz gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar.bz2 gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar.lz gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar.xz gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.tar.zst gsoc2013-empathy-e0de4a5f2a254beef02021573c57543dfd33311f.zip |
Add a preference option to disable/enable NM support.
2007-12-06 Xavier Claessens <xclaesse@gmail.com>
* data/empathy.schemas.in:
* libempathy-gtk/empathy-preferences.c:
* libempathy-gtk/empathy-preferences.glade:
* libempathy-gtk/empathy-preferences.h:
* libempathy-gtk/empathy-status-icon.c:
* libempathy/empathy-idle.c:
* libempathy/empathy-idle.h: Add a preference option to disable/enable
NM support.
svn path=/trunk/; revision=468
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-preferences.c | 6 | ||||
-rw-r--r-- | libempathy-gtk/empathy-preferences.glade | 50 | ||||
-rw-r--r-- | libempathy-gtk/empathy-preferences.h | 1 | ||||
-rw-r--r-- | libempathy-gtk/empathy-status-icon.c | 30 |
4 files changed, 75 insertions, 12 deletions
diff --git a/libempathy-gtk/empathy-preferences.c b/libempathy-gtk/empathy-preferences.c index a8b52954d..14ee8f763 100644 --- a/libempathy-gtk/empathy-preferences.c +++ b/libempathy-gtk/empathy-preferences.c @@ -50,6 +50,7 @@ typedef struct { GtkWidget *combobox_chat_theme; GtkWidget *checkbutton_theme_chat_room; GtkWidget *checkbutton_separate_chat_windows; + GtkWidget *checkbutton_use_nm; GtkWidget *radiobutton_contact_list_sort_by_name; GtkWidget *radiobutton_contact_list_sort_by_state; @@ -178,6 +179,10 @@ preferences_setup_widgets (EmpathyPreferences *preferences) preferences->checkbutton_separate_chat_windows); preferences_hookup_toggle_button (preferences, + EMPATHY_PREFS_USE_NM, + preferences->checkbutton_use_nm); + + preferences_hookup_toggle_button (preferences, EMPATHY_PREFS_UI_SHOW_AVATARS, preferences->checkbutton_show_avatars); @@ -939,6 +944,7 @@ empathy_preferences_show (GtkWindow *parent) "combobox_chat_theme", &preferences->combobox_chat_theme, "checkbutton_theme_chat_room", &preferences->checkbutton_theme_chat_room, "checkbutton_separate_chat_windows", &preferences->checkbutton_separate_chat_windows, + "checkbutton_use_nm", &preferences->checkbutton_use_nm, "radiobutton_contact_list_sort_by_name", &preferences->radiobutton_contact_list_sort_by_name, "radiobutton_contact_list_sort_by_state", &preferences->radiobutton_contact_list_sort_by_state, "checkbutton_sounds_for_messages", &preferences->checkbutton_sounds_for_messages, diff --git a/libempathy-gtk/empathy-preferences.glade b/libempathy-gtk/empathy-preferences.glade index 73cb66d5f..5c3321197 100644 --- a/libempathy-gtk/empathy-preferences.glade +++ b/libempathy-gtk/empathy-preferences.glade @@ -209,16 +209,48 @@ <property name="right_padding">0</property> <child> - <widget class="GtkCheckButton" id="checkbutton_separate_chat_windows"> + <widget class="GtkVBox" id="vbox218"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Open new chats in separate windows</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <widget class="GtkCheckButton" id="checkbutton_separate_chat_windows"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Open new chats in separate windows</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="checkbutton_use_nm"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">_Use network manager</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> </child> </widget> diff --git a/libempathy-gtk/empathy-preferences.h b/libempathy-gtk/empathy-preferences.h index 39c2994c1..e4cf122bc 100644 --- a/libempathy-gtk/empathy-preferences.h +++ b/libempathy-gtk/empathy-preferences.h @@ -50,6 +50,7 @@ G_BEGIN_DECLS #define EMPATHY_PREFS_CONTACTS_SORT_CRITERIUM EMPATHY_PREFS_PATH "/contacts/sort_criterium" #define EMPATHY_PREFS_HINTS_CLOSE_MAIN_WINDOW EMPATHY_PREFS_PATH "/hints/close_main_window" #define EMPATHY_PREFS_SALUT_ACCOUNT_CREATED EMPATHY_PREFS_PATH "/accounts/salut_created" +#define EMPATHY_PREFS_USE_NM EMPATHY_PREFS_PATH "/use_nm" GtkWidget * empathy_preferences_show (GtkWindow *parent); diff --git a/libempathy-gtk/empathy-status-icon.c b/libempathy-gtk/empathy-status-icon.c index 4421ddc85..cca41d5dd 100644 --- a/libempathy-gtk/empathy-status-icon.c +++ b/libempathy-gtk/empathy-status-icon.c @@ -140,6 +140,19 @@ static void status_icon_event_free (StatusIconEvent *event G_DEFINE_TYPE (EmpathyStatusIcon, empathy_status_icon, G_TYPE_OBJECT); static void +status_icon_notify_use_nm_cb (EmpathyConf *conf, + const gchar *key, + gpointer user_data) +{ + EmpathyStatusIconPriv *priv = GET_PRIV (user_data); + gboolean use_nm; + + if (empathy_conf_get_bool (conf, key, &use_nm)) { + empathy_idle_set_use_nm (priv->idle, use_nm); + } +} + +static void empathy_status_icon_class_init (EmpathyStatusIconClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); @@ -154,13 +167,11 @@ empathy_status_icon_init (EmpathyStatusIcon *icon) { EmpathyStatusIconPriv *priv; GList *pendings, *l; + gboolean use_nm; priv = GET_PRIV (icon); priv->icon = gtk_status_icon_new (); - priv->idle = empathy_idle_new (); - empathy_idle_set_auto_away (priv->idle, TRUE); - empathy_idle_set_auto_disconnect (priv->idle, TRUE); priv->manager = empathy_contact_manager_new (); priv->mc = empathy_mission_control_new (); priv->text_filter = empathy_filter_new ("org.gnome.Empathy.ChatFilter", @@ -169,6 +180,19 @@ empathy_status_icon_init (EmpathyStatusIcon *icon) MC_FILTER_PRIORITY_DIALOG, MC_FILTER_FLAG_INCOMING); + /* Setup EmpathyIdle */ + priv->idle = empathy_idle_new (); + empathy_conf_get_bool (empathy_conf_get (), + EMPATHY_PREFS_USE_NM, + &use_nm); + empathy_conf_notify_add (empathy_conf_get (), + EMPATHY_PREFS_USE_NM, + status_icon_notify_use_nm_cb, + icon); + empathy_idle_set_auto_away (priv->idle, TRUE); + empathy_idle_set_use_nm (priv->idle, use_nm); + + status_icon_create_menu (icon); status_icon_idle_notify_cb (icon); |