SF.net SVN: geany:[3739] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Mon Apr 27 19:30:30 UTC 2009
Revision: 3739
http://geany.svn.sourceforge.net/geany/?rev=3739&view=rev
Author: eht16
Date: 2009-04-27 19:30:29 +0000 (Mon, 27 Apr 2009)
Log Message:
-----------
Remember the active sidebar page between sessions.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/keyfile.c
trunk/src/main.c
trunk/src/ui_utils.c
trunk/src/ui_utils.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/ChangeLog 2009-04-27 19:30:29 UTC (rev 3739)
@@ -1,3 +1,10 @@
+2009-04-27 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/callbacks.c, src/keyfile.c, src/main.c, src/ui_utils.c,
+ src/ui_utils.h:
+ Remember the active sidebar page between sessions.
+
+
2009-04-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/symbols.c:
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/src/callbacks.c 2009-04-27 19:30:29 UTC (rev 3739)
@@ -1623,16 +1623,12 @@
on_menu_show_sidebar1_toggled (GtkCheckMenuItem *checkmenuitem,
gpointer user_data)
{
- static gint active_page = -1;
+ if (ignore_callback)
+ return;
- if (ignore_callback) return;
-
if (ui_prefs.sidebar_visible)
- {
- /* to remember the active page because GTK (e.g. 2.8.18) doesn't do it and shows always
- * the last page (for unknown reason, with GTK 2.6.4 it works) */
- active_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(main_widgets.sidebar_notebook));
- }
+ ui_prefs.sidebar_page = gtk_notebook_get_current_page(
+ GTK_NOTEBOOK(main_widgets.sidebar_notebook));
ui_prefs.sidebar_visible = ! ui_prefs.sidebar_visible;
@@ -1643,7 +1639,8 @@
}
ui_sidebar_show_hide();
- gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.sidebar_notebook), active_page);
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.sidebar_notebook),
+ ui_prefs.sidebar_page);
}
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/src/keyfile.c 2009-04-27 19:30:29 UTC (rev 3739)
@@ -447,7 +447,14 @@
static void save_ui_prefs(GKeyFile *config)
{
+ /* If the sidebar is visible, retrieve the active page number. Otherwise it was already
+ * set on hiding the sidebar. */
+ if (ui_prefs.sidebar_visible)
+ ui_prefs.sidebar_page = gtk_notebook_get_current_page(
+ GTK_NOTEBOOK(main_widgets.sidebar_notebook));
+
g_key_file_set_boolean(config, PACKAGE, "sidebar_visible", ui_prefs.sidebar_visible);
+ g_key_file_set_integer(config, PACKAGE, "sidebar_page", ui_prefs.sidebar_page);
g_key_file_set_boolean(config, PACKAGE, "statusbar_visible", interface_prefs.statusbar_visible);
g_key_file_set_boolean(config, PACKAGE, "msgwindow_visible", ui_prefs.msgwindow_visible);
g_key_file_set_boolean(config, PACKAGE, "fullscreen", ui_prefs.fullscreen);
@@ -792,6 +799,7 @@
GError *error = NULL;
ui_prefs.sidebar_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_visible", TRUE);
+ ui_prefs.sidebar_page = utils_get_setting_integer(config, PACKAGE, "sidebar_page", 0);
ui_prefs.msgwindow_visible = utils_get_setting_boolean(config, PACKAGE, "msgwindow_visible", TRUE);
ui_prefs.fullscreen = utils_get_setting_boolean(config, PACKAGE, "fullscreen", FALSE);
ui_prefs.custom_date_format = utils_get_setting_string(config, PACKAGE, "custom_date_format", "");
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/src/main.c 2009-04-27 19:30:29 UTC (rev 3739)
@@ -191,6 +191,7 @@
ignore_callback = FALSE;
}
ui_sidebar_show_hide();
+
/* sets the icon style of the toolbar */
switch (toolbar_prefs.icon_style)
{
@@ -1048,6 +1049,9 @@
plugins_load_active();
#endif
+ /* set the active sidebar page after plugins have been loaded */
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(main_widgets.sidebar_notebook), ui_prefs.sidebar_page);
+
/* load keybinding settings after plugins have added their groups */
keybindings_load_keyfile();
Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/src/ui_utils.c 2009-04-27 19:30:29 UTC (rev 3739)
@@ -759,9 +759,9 @@
ui_widget_show_hide(main_widgets.sidebar_notebook, ui_prefs.sidebar_visible);
ui_widget_show_hide(gtk_notebook_get_nth_page(
- GTK_NOTEBOOK(main_widgets.sidebar_notebook), 0), interface_prefs.sidebar_symbol_visible);
+ GTK_NOTEBOOK(main_widgets.sidebar_notebook), 0), interface_prefs.sidebar_symbol_visible);
ui_widget_show_hide(gtk_notebook_get_nth_page(
- GTK_NOTEBOOK(main_widgets.sidebar_notebook), 1), interface_prefs.sidebar_openfiles_visible);
+ GTK_NOTEBOOK(main_widgets.sidebar_notebook), 1), interface_prefs.sidebar_openfiles_visible);
}
Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h 2009-04-27 19:29:33 UTC (rev 3738)
+++ trunk/src/ui_utils.h 2009-04-27 19:30:29 UTC (rev 3739)
@@ -83,6 +83,7 @@
gint geometry[5]; /* 0:x, 1:y, 2:width, 3:height, flag for maximized state */
gboolean fullscreen;
gboolean sidebar_visible;
+ gint sidebar_page;
gboolean msgwindow_visible;
gboolean allow_always_save; /* if set, files can always be saved, even if unchanged */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list