From 9a2a6a34682af3eb6ff1741e45a0c1b5cd4d386f Mon Sep 17 00:00:00 2001 From: ranjiao Date: Tue, 8 Dec 2009 09:29:25 +0800 Subject: remember the chat window's paned width (#586290) --- libempathy-gtk/empathy-chat.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libempathy-gtk/empathy-chat.c') diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index e942f2151..e627a5ef8 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -1994,6 +1994,18 @@ chat_destroy_cb (EmpathyTpChat *tp_chat, chat_update_contacts_visibility (chat, FALSE); } +static gboolean +chat_hpaned_pos_changed_cb (GtkWidget* hpaned, gpointer user_data) +{ + gint hpaned_pos; + hpaned_pos = gtk_paned_get_position (GTK_PANED(hpaned)); + empathy_conf_set_int (empathy_conf_get (), + EMPATHY_PREFS_UI_CHAT_WINDOW_PANED_POS, + hpaned_pos); + return TRUE; +} + + static void show_pending_messages (EmpathyChat *chat) { EmpathyChatPriv *priv = GET_PRIV (chat); @@ -2019,6 +2031,7 @@ chat_create_ui (EmpathyChat *chat) GList *list = NULL; gchar *filename; GtkTextBuffer *buffer; + gint paned_pos; filename = empathy_file_lookup ("empathy-chat.ui", "libempathy-gtk"); @@ -2085,6 +2098,17 @@ chat_create_ui (EmpathyChat *chat) /* Initialy hide the topic, will be shown if not empty */ gtk_widget_hide (priv->hbox_topic); + g_signal_connect (priv->hpaned, "notify::position", + G_CALLBACK (chat_hpaned_pos_changed_cb), + NULL); + + /* Load the paned position */ + if (empathy_conf_get_int (empathy_conf_get (), + EMPATHY_PREFS_UI_CHAT_WINDOW_PANED_POS, + &paned_pos) + && paned_pos) + gtk_paned_set_position (GTK_PANED(priv->hpaned), paned_pos); + /* Set widget focus order */ list = g_list_append (NULL, priv->scrolled_window_input); gtk_container_set_focus_chain (GTK_CONTAINER (priv->vbox_left), list); -- cgit v1.2.3