2007-06-08 [wwp] 2.9.2cvs49
authorTristan Chabredier <wwp@claws-mail.org>
Fri, 8 Jun 2007 13:03:33 +0000 (13:03 +0000)
committerTristan Chabredier <wwp@claws-mail.org>
Fri, 8 Jun 2007 13:03:33 +0000 (13:03 +0000)
* src/prefs_account.c
* src/gtk/prefswindow.c
* src/gtk/prefswindow.h
Activate the Basic page when opening account prefs.

ChangeLog
PATCHSETS
configure.ac
src/gtk/prefswindow.c
src/gtk/prefswindow.h
src/prefs_account.c

index a1b02beb8af8813848f7da4b247ff6dfd13e6c43..e3d976d43fddb1e28859230959134de3122a78e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-06-08 [wwp]       2.9.2cvs49
+
+       * src/prefs_account.c
+       * src/gtk/prefswindow.c
+       * src/gtk/prefswindow.h
+               Activate the Basic page when opening account prefs.
+
 2007-06-08 [wwp]       2.9.2cvs48
 
        * src/common/socket.c
index 5929a8088a39362e4783f595f7001d2a6d6438ce..75f1bc19f16d690a63a4556e37ee87825c900a44 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.36.2.103 -r 1.36.2.104 src/common/utils.c;  ) > 2.9.2cvs46.patchset
 ( cvs diff -u -r 1.12.2.34 -r 1.12.2.35 src/gtk/prefswindow.c;  ) > 2.9.2cvs47.patchset
 ( cvs diff -u -r 1.13.2.32 -r 1.13.2.33 src/common/socket.c;  ) > 2.9.2cvs48.patchset
+( cvs diff -u -r 1.105.2.101 -r 1.105.2.102 src/prefs_account.c;  cvs diff -u -r 1.12.2.35 -r 1.12.2.36 src/gtk/prefswindow.c;  cvs diff -u -r 1.7.2.9 -r 1.7.2.10 src/gtk/prefswindow.h;  ) > 2.9.2cvs49.patchset
index c2ab0b1e40960bc525c493cd1ad5cb546d8afe6e..e0a716f6fd1787298f52f58a16fd7993da2b8b64 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=2
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=48
+EXTRA_VERSION=49
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 5c9514d1dd2a3572f3ba6c78c7091da3ac3391b5..e15f6dabae7d1d381a46116b7632e0db5ba33cf9 100644 (file)
@@ -267,7 +267,8 @@ static void prefswindow_build_all_pages(PrefsWindow *prefswindow, GSList *prefs_
 
 static void prefswindow_build_tree(GtkWidget *tree_view, GSList *prefs_pages,
                                                                        PrefsWindow *prefswindow,
-                                                                       gboolean preload_pages)
+                                                                       gboolean preload_pages,
+                                                                       gboolean activate_child)
 {
        GtkTreeStore *store = GTK_TREE_STORE(gtk_tree_view_get_model
                        (GTK_TREE_VIEW(tree_view)));
@@ -352,15 +353,22 @@ static void prefswindow_build_tree(GtkWidget *tree_view, GSList *prefs_pages,
        if (preload_pages)
                prefswindow_build_all_pages(prefswindow, prefs_pages);
 
-       /* select first one */                                       
+       /* select first one or its first child if necessary */
        selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
-       if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter))
+       if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter)) {
+               if (activate_child && gtk_tree_model_iter_has_child(GTK_TREE_MODEL(store), &iter)) {
+                       GtkTreeIter parent = iter;
+                       if (!gtk_tree_model_iter_children(GTK_TREE_MODEL(store), &iter, &parent))
+                               iter = parent;
+               }
                gtk_tree_selection_select_iter(selection, &iter);
+       }
 }
 
 void prefswindow_open_full(const gchar *title, GSList *prefs_pages,
                                                         gpointer data, GtkDestroyNotify func,
-                                                        gint *save_width, gint *save_height, gboolean preload_pages)
+                                                        gint *save_width, gint *save_height,
+                                                        gboolean preload_pages, gboolean activate_child)
 {
        PrefsWindow *prefswindow;
        gint x = gdk_screen_width();
@@ -440,7 +448,8 @@ void prefswindow_open_full(const gchar *title, GSList *prefs_pages,
        gtk_widget_show(prefswindow->empty_page);
        gtk_container_add(GTK_CONTAINER(prefswindow->notebook), prefswindow->empty_page);
 
-       prefswindow_build_tree(prefswindow->tree_view, prefs_pages, prefswindow, preload_pages);                
+       prefswindow_build_tree(prefswindow->tree_view, prefs_pages, prefswindow,
+                                                       preload_pages, activate_child);
 
        gtk_widget_grab_focus(prefswindow->tree_view);
 
@@ -502,7 +511,8 @@ void prefswindow_open_full(const gchar *title, GSList *prefs_pages,
 void prefswindow_open(const gchar *title, GSList *prefs_pages, gpointer data,
                                         gint *save_width, gint *save_height)
 {
-       prefswindow_open_full(title, prefs_pages, data, NULL, save_width, save_height, FALSE);
+       prefswindow_open_full(title, prefs_pages, data, NULL, save_width, save_height,
+                                                 FALSE, FALSE);
 }
 
 /*!
index 7350b380acbde7bb32868613016036381c5e353b..7049d092b8335f4acfb9897ec4176b8e4c677069 100644 (file)
@@ -49,7 +49,7 @@ void prefswindow_open_full            (const gchar *title,
                                         gpointer data,
                                         GtkDestroyNotify func,
                                         gint *save_width, gint *save_height,
-                                        gboolean preload_pages);
+                                        gboolean preload_pages, gboolean activate_child);
 
 void prefswindow_open                  (const gchar *title, 
                                         GSList *prefs_pages,
index af6a715de0518c21491d4c2f8e05f756dee676ed..4a0333e72ac5eab40872bf52941e7c9273d337df 100644 (file)
@@ -3327,7 +3327,7 @@ PrefsAccount *prefs_account_open(PrefsAccount *ac_prefs, gboolean *dirty)
 
        prefswindow_open_full(title, prefs_pages, ac_prefs, destroy_dialog,
                        &prefs_common.editaccountwin_width, &prefs_common.editaccountwin_height,
-                       TRUE);
+                       TRUE, TRUE);
        g_free(title);
        gtk_main();