SF.net SVN: geany-plugins:[1220] trunk/geany-plugins/treebrowser

dimitrov-adrian at users.sourceforge.net dimitrov-adrian at xxxxx
Wed Mar 31 15:25:20 UTC 2010


Revision: 1220
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1220&view=rev
Author:   dimitrov-adrian
Date:     2010-03-31 15:25:20 +0000 (Wed, 31 Mar 2010)

Log Message:
-----------
Treebrowser, fixed saving state of Show the toolbars when starting Geany;  added new function - save_settings() wich save the current settings.

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

Modified: trunk/geany-plugins/treebrowser/ChangeLog
===================================================================
--- trunk/geany-plugins/treebrowser/ChangeLog	2010-03-30 18:14:11 UTC (rev 1219)
+++ trunk/geany-plugins/treebrowser/ChangeLog	2010-03-31 15:25:20 UTC (rev 1220)
@@ -2,6 +2,13 @@
 -----------------------------
 
 
+31-03-2010 	Adrian Dimitrov 		<dimitrov.adrian at gmail.com>
+
+	* src/treebrowser.c
+		fixed saving state of Show the toolbars when starting Geany
+		moving settings saving in separated function - save_settings()
+
+
 30-03-2010 	Adrian Dimitrov 		<dimitrov.adrian at gmail.com>
 
 	* src/treebrowser.c

Modified: trunk/geany-plugins/treebrowser/src/treebrowser.c
===================================================================
--- trunk/geany-plugins/treebrowser/src/treebrowser.c	2010-03-30 18:14:11 UTC (rev 1219)
+++ trunk/geany-plugins/treebrowser/src/treebrowser.c	2010-03-31 15:25:20 UTC (rev 1220)
@@ -95,6 +95,8 @@
  * ------------------ */
 static void 	treebrowser_browse(gchar *directory, gpointer parent, gint deep_limit);
 static void 	gtk_tree_store_iter_clear_nodes(gpointer iter, gboolean delete_root);
+static void 	load_settings(void);
+static gboolean save_settings(void);
 
 
 /* ------------------
@@ -233,10 +235,8 @@
 			g_free(uri);
 		}
 	}
-
 	if (expanded)
 		gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), parent), FALSE);
-
 }
 
 static gboolean
@@ -274,13 +274,11 @@
 static void
 fs_remove(gchar *root, gboolean delete_root)
 {
-
 	if (! g_file_test(root, G_FILE_TEST_EXISTS))
 		return;
 
 	if (g_file_test(root, G_FILE_TEST_IS_DIR))
 	{
-
 		GDir *dir;
 		const gchar *name;
 
@@ -317,6 +315,7 @@
 	else 		gtk_widget_hide(sidebar_vbox_bars);
 	CONFIG_SHOW_BARS = state;
 	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_showbars), CONFIG_SHOW_BARS);
+	save_settings();
 }
 
 static void
@@ -1012,13 +1011,39 @@
 	g_key_file_free(config);
 }
 
-static void
-on_configure_response(GtkDialog *dialog, gint response, gpointer user_data)
+static gboolean
+save_settings(void)
 {
 	GKeyFile 	*config 		= g_key_file_new();
 	gchar 		*config_dir 	= g_path_get_dirname(CONFIG_FILE);
 	gchar 		*data;
 
+	g_key_file_load_from_file(config, CONFIG_FILE, G_KEY_FILE_NONE, NULL);
+	if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
+		return FALSE;
+
+	g_key_file_set_string(config, 	"treebrowser", "open_external_cmd", 	CONFIG_OPEN_EXTERNAL_CMD);
+	g_key_file_set_integer(config, 	"treebrowser", "initial_dir_deep", 		CONFIG_INITIAL_DIR_DEEP);
+	g_key_file_set_boolean(config, 	"treebrowser", "reverse_filter", 		CONFIG_REVERSE_FILTER);
+	g_key_file_set_boolean(config, 	"treebrowser", "one_click_chdoc", 		CONFIG_ONE_CLICK_CHDOC);
+	g_key_file_set_boolean(config, 	"treebrowser", "show_hidden_files", 	CONFIG_SHOW_HIDDEN_FILES);
+	g_key_file_set_boolean(config, 	"treebrowser", "show_bars", 			CONFIG_SHOW_BARS);
+	g_key_file_set_boolean(config, 	"treebrowser", "chroot_on_dclick", 		CONFIG_CHROOT_ON_DCLICK);
+	g_key_file_set_boolean(config, 	"treebrowser", "follow_current_doc", 	CONFIG_FOLLOW_CURRENT_DOC);
+	g_key_file_set_boolean(config, 	"treebrowser", "on_expand_refresh", 	CONFIG_ON_EXPAND_REFRESH);
+
+	/* write config to file */
+	data = g_key_file_to_data(config, NULL, NULL);
+	utils_write_file(CONFIG_FILE, data);
+	g_free(data);
+
+	return TRUE;
+}
+
+static void
+on_configure_response(GtkDialog *dialog, gint response, gpointer user_data)
+{
+
 	if (! (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY))
 		return;
 
@@ -1027,35 +1052,15 @@
 	CONFIG_REVERSE_FILTER 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.REVERSE_FILTER));
 	CONFIG_ONE_CLICK_CHDOC 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.ONE_CLICK_CHDOC));
 	CONFIG_SHOW_HIDDEN_FILES 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_HIDDEN_FILES));
-	CONFIG_SHOW_BARS 			= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_BARS));
 	CONFIG_CHROOT_ON_DCLICK 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.CHROOT_ON_DCLICK));
 	CONFIG_FOLLOW_CURRENT_DOC 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.FOLLOW_CURRENT_DOC));
 	CONFIG_ON_EXPAND_REFRESH 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.ON_EXPAND_REFRESH));
 
-	g_key_file_load_from_file(config, CONFIG_FILE, G_KEY_FILE_NONE, NULL);
-	if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
+	if (save_settings() == TRUE)
+		treebrowser_chroot(addressbar_last_address);
+	else
 		dialogs_show_msgbox(GTK_MESSAGE_ERROR,
 			_("Plugin configuration directory could not be created."));
-	else
-	{
-		g_key_file_set_string(config, 	"treebrowser", "open_external_cmd", 	CONFIG_OPEN_EXTERNAL_CMD);
-		g_key_file_set_integer(config, 	"treebrowser", "initial_dir_deep", 		CONFIG_INITIAL_DIR_DEEP);
-		g_key_file_set_boolean(config, 	"treebrowser", "reverse_filter", 		CONFIG_REVERSE_FILTER);
-		g_key_file_set_boolean(config, 	"treebrowser", "one_click_chdoc", 		CONFIG_ONE_CLICK_CHDOC);
-		g_key_file_set_boolean(config, 	"treebrowser", "show_hidden_files", 	CONFIG_SHOW_HIDDEN_FILES);
-		g_key_file_set_boolean(config, 	"treebrowser", "show_bars", 			CONFIG_SHOW_BARS);
-		g_key_file_set_boolean(config, 	"treebrowser", "chroot_on_dclick", 		CONFIG_CHROOT_ON_DCLICK);
-		g_key_file_set_boolean(config, 	"treebrowser", "follow_current_doc", 	CONFIG_FOLLOW_CURRENT_DOC);
-		g_key_file_set_boolean(config, 	"treebrowser", "on_expand_refresh", 	CONFIG_ON_EXPAND_REFRESH);
-
-		/* write config to file */
-		data = g_key_file_to_data(config, NULL, NULL);
-		utils_write_file(CONFIG_FILE, data);
-		g_free(data);
-
-		treebrowser_chroot(addressbar_last_address);
-	}
-
 }
 
 GtkWidget*
@@ -1140,9 +1145,6 @@
 
 	load_settings();
 
-	if (CONFIG_SHOW_BARS)
-		dialogs_show_msgbox(GTK_MESSAGE_INFO, "wasaaaaa");
-
 	treeview = create_view_and_model();
 	create_sidebar();
 	treebrowser_chroot(get_default_dir());


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