Index: src/gnome-utils/gnc-main-window.c =================================================================== --- src/gnome-utils/gnc-main-window.c (Revision 14575) +++ src/gnome-utils/gnc-main-window.c (Arbeitskopie) @@ -83,6 +83,7 @@ #define PLUGIN_PAGE_CLOSE_BUTTON "close-button" #define KEY_SHOW_CLOSE_BUTTON "tab_close_buttons" +#define KEY_TAB_POSITION "tab_position" /* Static Globals *******************************************************/ @@ -2369,6 +2370,28 @@ LEAVE(""); } +static void +gnc_main_window_update_tab_position (GncMainWindow *window) +{ + GtkPositionType position = GTK_POS_TOP; + gchar *conf_string; + GncMainWindowPrivate *priv; + + ENTER ("window %p", window); + conf_string = gnc_gconf_get_string (GCONF_GENERAL, + KEY_TAB_POSITION, NULL); + if (conf_string) { + position = gnc_enum_from_nick (GTK_TYPE_POSITION_TYPE, + conf_string, GTK_POS_TOP); + g_free (conf_string); + } + + priv = GNC_MAIN_WINDOW_GET_PRIVATE (window); + gtk_notebook_set_tab_pos (GTK_NOTEBOOK (priv->notebook), position); + + LEAVE (""); +} + /* * Based on code from Epiphany (src/ephy-window.c) */ @@ -2502,6 +2525,8 @@ key_tail++; if (strcmp(key_tail, KEY_TOOLBAR_STYLE) == 0) { gnc_main_window_update_toolbar(window); + } else if (strcmp(key_tail, KEY_TAB_POSITION) == 0) { + gnc_main_window_update_tab_position(window); } } @@ -2710,6 +2735,7 @@ gnc_gconf_add_notification(G_OBJECT(window), DESKTOP_GNOME_INTERFACE, gnc_main_window_gconf_changed); gnc_main_window_update_toolbar(window); + gnc_main_window_update_tab_position(window); gnc_main_window_init_menu_updaters(window); Index: src/gnome-utils/glade/preferences.glade =================================================================== --- src/gnome-utils/glade/preferences.glade (Revision 14575) +++ src/gnome-utils/glade/preferences.glade (Arbeitskopie) @@ -3020,7 +3020,7 @@ 6 True - 9 + 15 4 False 0 @@ -3244,6 +3244,150 @@ + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 9 + 10 + fill + + + + + + + True + <b>Tab Position</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 10 + 11 + fill + + + + + + + True + True + Top + True + GTK_RELIEF_NORMAL + True + False + False + True + gconf/general/toolbar_style/text + + + 0 + 1 + 11 + 12 + 12 + fill + + + + + + + True + True + Left + True + GTK_RELIEF_NORMAL + True + False + False + True + gconf/general/toolbar_style/text + + + 0 + 1 + 12 + 13 + 12 + fill + + + + + + + True + True + Bottom + True + GTK_RELIEF_NORMAL + True + False + False + True + gconf/general/toolbar_style/text + + + 0 + 1 + 13 + 14 + 12 + fill + + + + + + + True + True + Right + True + GTK_RELIEF_NORMAL + True + False + False + True + gconf/general/toolbar_style/text + + + 0 + 1 + 14 + 15 + 12 + fill + + + False Index: src/gnome/schemas/apps_gnucash_general.schemas.in =================================================================== --- src/gnome/schemas/apps_gnucash_general.schemas.in (Revision 14575) +++ src/gnome/schemas/apps_gnucash_general.schemas.in (Arbeitskopie) @@ -462,5 +462,22 @@ + + /schemas/apps/gnucash/general/tab_position + /apps/gnucash/general/tab_position + gnucash + string + top + + Position of the notebook tabs + + This setting determines the edge at which the tabs for + switching pages in notebooks are drawn. Possible values + are "top", "left", "bottom" and "right". + It defaults to "top". + + + +