SF.net SVN: geany: [356] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Mon May 22 13:44:05 UTC 2006


Revision: 356
Author:   eht16
Date:     2006-05-22 06:43:56 -0700 (Mon, 22 May 2006)
ViewCVS:  http://svn.sourceforge.net/geany/?rev=356&view=rev

Log Message:
-----------
improved toggle visibility of sidebar when toggled by keyboard

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/keybindings.c
    trunk/src/utils.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-05-22 11:55:07 UTC (rev 355)
+++ trunk/ChangeLog	2006-05-22 13:43:56 UTC (rev 356)
@@ -1,3 +1,9 @@
+2006-05-22  Enrico Troeger  <enrico.troeger at uvena.de>
+
+ * src/keybindings.c, src/utils.c: improved toggle visibility of
+                                   sidebar when toggled by keyboard
+
+
 2006-05-21  Enrico Troeger  <enrico.troeger at uvena.de>
 
  * src/keybindings.c: added menu_messagewindow and toggle_sidebar

Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c	2006-05-22 11:55:07 UTC (rev 355)
+++ trunk/src/keybindings.c	2006-05-22 13:43:56 UTC (rev 356)
@@ -484,10 +484,28 @@
 
 static void cb_func_toggle_sidebar(void)
 {
-	app->treeview_symbol_visible = ! app->treeview_symbol_visible;
-	app->treeview_openfiles_visible = ! app->treeview_openfiles_visible;
+	static gboolean symbol = FALSE;
+	static gboolean openfiles = FALSE;
+	static gboolean is_visible = FALSE;
 
-	utils_treeviews_showhide();;
+	/* 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)
+	{
+		symbol = app->treeview_symbol_visible;
+		openfiles = app->treeview_openfiles_visible;
+		app->treeview_symbol_visible = FALSE;
+		app->treeview_openfiles_visible = FALSE;
+	}
+	else
+	{
+		app->treeview_symbol_visible = symbol;
+		app->treeview_openfiles_visible = openfiles;
+	}
+
+	utils_treeviews_showhide();
 }
 
 static void cb_func_edit_duplicateline(void)

Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c	2006-05-22 11:55:07 UTC (rev 355)
+++ trunk/src/utils.c	2006-05-22 13:43:56 UTC (rev 356)
@@ -649,7 +649,7 @@
 	}
 
 	// make all inactive, because there is no more tab left, or something strange occured
-	if (idx == -1 || ! app->treeview_symbol_visible || ! doc_list[idx].file_type->has_tags)
+	if (idx == -1 || ! doc_list[idx].file_type->has_tags)
 	{
 		gtk_widget_set_sensitive(app->tagbar, FALSE);
 		gtk_container_add(GTK_CONTAINER(app->tagbar), app->default_tag_tree);


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