SF.net SVN: geany-plugins:[1305] trunk/geany-plugins/treebrowser/src/ treebrowser.c

dimitrov-adrian at users.sourceforge.net dimitrov-adrian at xxxxx
Sun Apr 25 18:43:01 UTC 2010


Revision: 1305
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1305&view=rev
Author:   dimitrov-adrian
Date:     2010-04-25 18:43:01 +0000 (Sun, 25 Apr 2010)

Log Message:
-----------
Treebrowser: bookmarks expand state remember

Modified Paths:
--------------
    trunk/geany-plugins/treebrowser/src/treebrowser.c

Modified: trunk/geany-plugins/treebrowser/src/treebrowser.c
===================================================================
--- trunk/geany-plugins/treebrowser/src/treebrowser.c	2010-04-25 18:35:12 UTC (rev 1304)
+++ trunk/geany-plugins/treebrowser/src/treebrowser.c	2010-04-25 18:43:01 UTC (rev 1305)
@@ -29,6 +29,8 @@
 static gchar 				*addressbar_last_address 	= NULL;
 
 static GtkTreeIter 			bookmarks_iter;
+static gboolean 			bookmarks_expanded = FALSE;
+
 static GtkTreeViewColumn 	*treeview_column_icon, *treeview_column_text;
 static GtkCellRenderer 		*render_icon, *render_text;
 
@@ -109,6 +111,7 @@
 
 static void 	project_change_cb(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *config, G_GNUC_UNUSED gpointer data);
 static void 	treebrowser_browse(gchar *directory, gpointer parent, gint deep_limit);
+static void 	treebrowser_load_bookmarks(void);
 static void 	gtk_tree_store_iter_clear_nodes(gpointer iter, gboolean delete_root);
 static void 	load_settings(void);
 static gboolean save_settings(void);
@@ -254,9 +257,16 @@
 		return;
 	}
 
+	if (CONFIG_SHOW_BOOKMARKS)
+		bookmarks_expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &bookmarks_iter));
+
 	gtk_tree_store_clear(treestore);
 	addressbar_last_address = directory;
+
 	treebrowser_browse(directory, NULL, CONFIG_INITIAL_DIR_DEEP);
+
+	if (CONFIG_SHOW_BOOKMARKS)
+		treebrowser_load_bookmarks();
 }
 
 static void
@@ -349,14 +359,13 @@
 	gchar 		*contents, *path_full;
 	gchar 		**lines, **line;
 	GtkTreeIter iter;
-	gboolean 	expanded = FALSE;
 
 	bookmarks = g_build_filename (g_get_home_dir(), ".gtk-bookmarks", NULL);
 	if (g_file_get_contents(bookmarks, &contents, NULL, &error))
 	{
 		if (gtk_tree_store_iter_is_valid(treestore, &bookmarks_iter))
 		{
-			expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &bookmarks_iter));
+			bookmarks_expanded = gtk_tree_view_row_expanded(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &bookmarks_iter));
 			gtk_tree_store_iter_clear_nodes(&bookmarks_iter, FALSE);
 		}
 		else
@@ -410,7 +419,7 @@
 	else
 		g_error_free(error);
 
-	if (expanded)
+	if (bookmarks_expanded)
 		gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &bookmarks_iter), FALSE);
 }
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list