SF.net SVN: geany: [538] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Fri Jul 7 14:34:54 UTC 2006


Revision: 538
Author:   eht16
Date:     2006-07-07 07:34:43 -0700 (Fri, 07 Jul 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=538&view=rev

Log Message:
-----------
Improved behaviour of toggle sidebar after a restart. Introduced new flag sidebar_visible, renamed configuration keys.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/callbacks.c
    trunk/src/geany.h
    trunk/src/keybindings.c
    trunk/src/keyfile.c
    trunk/src/prefs.c
    trunk/src/utils.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/ChangeLog	2006-07-07 14:34:43 UTC (rev 538)
@@ -1,6 +1,10 @@
 2006-07-07  Enrico Tröger  <enrico.troeger at uvena.de>
 
  * src/prefs.c: Fixed bug when saving VTE settings.
+ * src/keybindings.c, src/utils.c, src/callbacks.c, src/geany.h,
+   src/prefs.c, src/keyfile.c:
+   Improved behaviour of toggle sidebar after a restart.
+   Introduced new flag sidebar_visible, renamed configuration keys.
 
 
 2006-07-06  Nick Treleaven  <nick.treleaven at btinternet.com>

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/callbacks.c	2006-07-07 14:34:43 UTC (rev 538)
@@ -1513,14 +1513,13 @@
 				}
 				case 3:
 				{
-					app->treeview_openfiles_visible = FALSE;
+					app->sidebar_openfiles_visible = FALSE;
 					utils_treeviews_showhide();
 					break;
 				}
 				case 4:
 				{
-					app->treeview_openfiles_visible = FALSE;
-					app->treeview_symbol_visible = FALSE;
+					app->sidebar_visible = FALSE;
 					utils_treeviews_showhide();
 					break;
 				}
@@ -1538,14 +1537,13 @@
 	{
 		case 0:
 		{
-			app->treeview_symbol_visible = FALSE;
+			app->sidebar_symbol_visible = FALSE;
 			utils_treeviews_showhide();
 			break;
 		}
 		case 1:
 		{
-			app->treeview_openfiles_visible = FALSE;
-			app->treeview_symbol_visible = FALSE;
+			app->sidebar_visible = FALSE;
 			utils_treeviews_showhide();
 			break;
 		}

Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/geany.h	2006-07-07 14:34:43 UTC (rev 538)
@@ -132,8 +132,9 @@
 	gboolean			 quitting;
 	gboolean			 ignore_global_tags;
 	gboolean			 toolbar_visible;
-	gboolean			 treeview_symbol_visible;
-	gboolean			 treeview_openfiles_visible;
+	gboolean			 sidebar_symbol_visible;
+	gboolean			 sidebar_openfiles_visible;
+	gboolean			 sidebar_visible;
 	gboolean			 msgwindow_visible;
 	gboolean			 fullscreen;
 	gboolean			 beep_on_errors;

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/keybindings.c	2006-07-07 14:34:43 UTC (rev 538)
@@ -650,29 +650,21 @@
 
 static void cb_func_toggle_sidebar(void)
 {
-	static gboolean symbol = FALSE;
-	static gboolean openfiles = FALSE;
-	static gboolean is_visible = FALSE;
 	static gint active_page = -1;
 
-	/* this code is a bit confusing, but I want to keep the settings in the preferences dialog
-	 * synchronous with the real status of the sidebar, so we have to store the previous state when
-	 * hiding the sidebar to restore it correctly */
-	is_visible = (app->treeview_symbol_visible || app->treeview_openfiles_visible) ? TRUE : FALSE;
-	if (is_visible)
+	if (app->sidebar_visible)
 	{
-		symbol = app->treeview_symbol_visible;
-		openfiles = app->treeview_openfiles_visible;
-		app->treeview_symbol_visible = FALSE;
-		app->treeview_openfiles_visible = FALSE;
 		// 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(app->treeview_notebook));
 	}
-	else
+
+	app->sidebar_visible = ! app->sidebar_visible;
+
+	if ((! app->sidebar_openfiles_visible && ! app->sidebar_symbol_visible))
 	{
-		app->treeview_symbol_visible = symbol;
-		app->treeview_openfiles_visible = openfiles;
+		app->sidebar_openfiles_visible = TRUE;
+		app->sidebar_symbol_visible = TRUE;
 	}
 
 	utils_treeviews_showhide();

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/keyfile.c	2006-07-07 14:34:43 UTC (rev 538)
@@ -85,8 +85,9 @@
 	g_key_file_set_integer(config, PACKAGE, "long_line_column", app->long_line_column);
 	g_key_file_set_string(config, PACKAGE, "long_line_color", app->long_line_color);
 	g_key_file_set_boolean(config, PACKAGE, "beep_on_errors", app->beep_on_errors);
-	g_key_file_set_boolean(config, PACKAGE, "treeview_symbol_visible", app->treeview_symbol_visible);
-	g_key_file_set_boolean(config, PACKAGE, "treeview_openfiles_visible", app->treeview_openfiles_visible);
+	g_key_file_set_boolean(config, PACKAGE, "sidebar_symbol_visible", app->sidebar_symbol_visible);
+	g_key_file_set_boolean(config, PACKAGE, "sidebar_openfiles_visible", app->sidebar_openfiles_visible);
+	g_key_file_set_boolean(config, PACKAGE, "sidebar_visible", app->sidebar_visible);
 	g_key_file_set_boolean(config, PACKAGE, "msgwindow_visible", app->msgwindow_visible);
 	g_key_file_set_boolean(config, PACKAGE, "use_folding", app->pref_editor_folding);
 	g_key_file_set_boolean(config, PACKAGE, "use_auto_indention", app->pref_editor_use_auto_indention);
@@ -235,8 +236,9 @@
 	app->tab_pos_editor = utils_get_setting_integer(config, PACKAGE, "tab_pos_editor", GTK_POS_TOP);
 	app->tab_pos_msgwin = utils_get_setting_integer(config, PACKAGE, "tab_pos_msgwin",GTK_POS_LEFT);
 	app->tab_pos_sidebar = utils_get_setting_integer(config, PACKAGE, "tab_pos_sidebar", GTK_POS_TOP);
-	app->treeview_symbol_visible = utils_get_setting_boolean(config, PACKAGE, "treeview_symbol_visible", TRUE);
-	app->treeview_openfiles_visible = utils_get_setting_boolean(config, PACKAGE, "treeview_openfiles_visible", TRUE);
+	app->sidebar_symbol_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_symbol_visible", TRUE);
+	app->sidebar_openfiles_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_openfiles_visible", TRUE);
+	app->sidebar_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_visible", TRUE);
 	app->msgwindow_visible = utils_get_setting_boolean(config, PACKAGE, "msgwindow_visible", TRUE);
 	app->pref_editor_folding = utils_get_setting_boolean(config, PACKAGE, "use_folding", TRUE);
 	app->pref_editor_use_indicators = utils_get_setting_boolean(config, PACKAGE, "use_indicators", TRUE);

Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/prefs.c	2006-07-07 14:34:43 UTC (rev 538)
@@ -100,10 +100,10 @@
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->pref_main_show_goto);
 
 	widget = lookup_widget(app->prefs_dialog, "check_list_symbol");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->treeview_symbol_visible);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->sidebar_symbol_visible);
 
 	widget = lookup_widget(app->prefs_dialog, "check_list_openfiles");
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->treeview_openfiles_visible);
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), app->sidebar_openfiles_visible);
 
 	widget = lookup_widget(app->prefs_dialog, "tagbar_font");
 	gtk_font_button_set_font_name(GTK_FONT_BUTTON(widget), app->tagbar_font);
@@ -348,10 +348,10 @@
 		app->pref_main_show_goto = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
 		widget = lookup_widget(app->prefs_dialog, "check_list_symbol");
-		app->treeview_symbol_visible = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+		app->sidebar_symbol_visible = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
 		widget = lookup_widget(app->prefs_dialog, "check_list_openfiles");
-		app->treeview_openfiles_visible = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+		app->sidebar_openfiles_visible = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
 		widget = lookup_widget(app->prefs_dialog, "radio_long_line_line");
 		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) app->long_line_type = 0;

Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c	2006-07-06 22:06:56 UTC (rev 537)
+++ trunk/src/utils.c	2006-07-07 14:34:43 UTC (rev 538)
@@ -2176,16 +2176,21 @@
 
 void utils_treeviews_showhide(void)
 {
-	utils_widget_show_hide(gtk_notebook_get_nth_page(
-					GTK_NOTEBOOK(app->treeview_notebook), 0), app->treeview_symbol_visible);
-	utils_widget_show_hide(gtk_notebook_get_nth_page(
-					GTK_NOTEBOOK(app->treeview_notebook), 1), app->treeview_openfiles_visible);
-
-	// hide complete notebook if both pages are hidden
-	if ((! app->treeview_symbol_visible) && (! app->treeview_openfiles_visible))
+	// hide complete notebook
+	if (! app->sidebar_visible || (! app->sidebar_openfiles_visible && ! app->sidebar_symbol_visible))
+	{
+		if (app->sidebar_visible) app->sidebar_visible = FALSE;
 		gtk_widget_hide(app->treeview_notebook);
+	}
 	else
+	{
 		gtk_widget_show(app->treeview_notebook);
+
+		utils_widget_show_hide(gtk_notebook_get_nth_page(
+					GTK_NOTEBOOK(app->treeview_notebook), 0), app->sidebar_symbol_visible);
+		utils_widget_show_hide(gtk_notebook_get_nth_page(
+					GTK_NOTEBOOK(app->treeview_notebook), 1), app->sidebar_openfiles_visible);
+	}
 }
 
 


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