[geany/geany-plugins] 33042d: GeanyVC: move configuration file saving to separate function

Enrico Tröger git-noreply at xxxxx
Sat Jan 20 12:32:50 UTC 2018


Branch:      refs/heads/master
Author:      Enrico Tröger <enrico.troeger at uvena.de>
Committer:   Enrico Tröger <enrico.troeger at uvena.de>
Date:        Sat, 20 Jan 2018 12:32:50 UTC
Commit:      33042dc1b7ce419bfa9615a954ec1e0fb249c71e
             https://github.com/geany/geany-plugins/commit/33042dc1b7ce419bfa9615a954ec1e0fb249c71e

Log Message:
-----------
GeanyVC: move configuration file saving to separate function


Modified Paths:
--------------
    geanyvc/src/geanyvc.c

Modified: geanyvc/src/geanyvc.c
90 lines changed, 47 insertions(+), 43 deletions(-)
===================================================================
@@ -1785,16 +1785,58 @@ static struct
 }
 widgets;
 
+static void
+save_config(void)
+{
+	GKeyFile *config = g_key_file_new();
+	gchar *config_dir = g_path_get_dirname(config_file);
+
+	g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+
+	g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag);
+	g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation);
+	g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff);
+	g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog",
+			       set_maximize_commit_dialog);
+	g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries);
+	g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry);
+
+	g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs);
+	g_key_file_set_boolean(config, "VC", "enable_git", enable_git);
+	g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn);
+	g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk);
+	g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr);
+	g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg);
+
+#ifdef USE_GTKSPELL
+	g_key_file_set_string(config, "VC", "spellchecking_language", lang);
+#endif
+
+	if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR)
+	    && utils_mkdir(config_dir, TRUE) != 0)
+	{
+		dialogs_show_msgbox(GTK_MESSAGE_ERROR,
+				    _
+				    ("Plugin configuration directory could not be created."));
+	}
+	else
+	{
+		/* write config to file */
+		gchar *data = g_key_file_to_data(config, NULL, NULL);
+		utils_write_file(config_file, data);
+		g_free(data);
+	}
+
+	g_free(config_dir);
+	g_key_file_free(config);
+}
+
 static void
 on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response,
 		      G_GNUC_UNUSED gpointer user_data)
 {
 	if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY)
 	{
-		GKeyFile *config = g_key_file_new();
-		gchar *data;
-		gchar *config_dir = g_path_get_dirname(config_file);
-
 		set_changed_flag =
 			gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets.cb_changed_flag));
 		set_add_confirmation =
@@ -1822,51 +1864,13 @@ on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response,
 		lang = g_strdup(gtk_entry_get_text(GTK_ENTRY(widgets.spellcheck_lang_textbox)));
 #endif
 
-		g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
-
-		g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag);
-		g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation);
-		g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff);
-		g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog",
-				       set_maximize_commit_dialog);
-		g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries);
-		g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry);
-
-		g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs);
-		g_key_file_set_boolean(config, "VC", "enable_git", enable_git);
-		g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn);
-		g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk);
-		g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr);
-		g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg);
-
-#ifdef USE_GTKSPELL
-		g_key_file_set_string(config, "VC", "spellchecking_language", lang);
-#endif
-
-		if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR)
-		    && utils_mkdir(config_dir, TRUE) != 0)
-		{
-			dialogs_show_msgbox(GTK_MESSAGE_ERROR,
-					    _
-					    ("Plugin configuration directory could not be created."));
-		}
-		else
-		{
-			/* write config to file */
-			data = g_key_file_to_data(config, NULL, NULL);
-			utils_write_file(config_file, data);
-			g_free(data);
-		}
+		save_config();
 
 		if (set_editor_menu_entries == FALSE)
 			remove_menuitems_from_editor_menu();
 		else
 			add_menuitems_to_editor_menu();
 
-
-		g_free(config_dir);
-		g_key_file_free(config);
-
 		registrate();
 	}
 }



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list