[geany/geany-plugins] 44b12b: Merge pull request #679 from eht16/geanyvc_commit_dialog_size

Frank Lanitz git-noreply at xxxxx
Sat Jan 20 16:55:49 UTC 2018


Branch:      refs/heads/master
Author:      Frank Lanitz <frank at frank.uvena.de>
Committer:   GitHub <noreply at github.com>
Date:        Sat, 20 Jan 2018 16:55:49 UTC
Commit:      44b12b520a2bcd573eeca352d865714a0f2707a0
             https://github.com/geany/geany-plugins/commit/44b12b520a2bcd573eeca352d865714a0f2707a0

Log Message:
-----------
Merge pull request #679 from eht16/geanyvc_commit_dialog_size

GeanyVC: Remember the commit dialog size


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

Modified: geanyvc/src/geanyvc.c
111 lines changed, 68 insertions(+), 43 deletions(-)
===================================================================
@@ -82,6 +82,8 @@ static gboolean set_maximize_commit_dialog;
 static gboolean set_external_diff;
 static gboolean set_editor_menu_entries;
 static gboolean set_menubar_entry;
+static gint commit_dialog_width = 0;
+static gint commit_dialog_height = 0;
 
 static gchar *config_file;
 
@@ -1598,6 +1600,8 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer
 	else
 	{
 		gtk_widget_set_size_request(commit, 700, 500);
+		gtk_window_set_default_size(GTK_WINDOW(commit),
+			commit_dialog_width, commit_dialog_height);
 	}
 
 	gtk_widget_show_now(commit);
@@ -1635,6 +1639,9 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer
 		}
 		g_free(message);
 	}
+	/* remember commit dialog widget size */
+	gtk_window_get_size(GTK_WINDOW(commit),
+		&commit_dialog_width, &commit_dialog_height);
 
 	gtk_widget_destroy(commit);
 	free_commit_list(lst);
@@ -1785,16 +1792,66 @@ 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 (commit_dialog_width > 0 && commit_dialog_height > 0)
+	{
+		g_key_file_set_integer(config, "CommitDialog",
+			"commit_dialog_width", commit_dialog_width);
+		g_key_file_set_integer(config, "CommitDialog",
+			"commit_dialog_height", commit_dialog_height);
+	}
+
+	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 +1879,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();
 	}
 }
@@ -2030,6 +2049,11 @@ load_config(void)
 	}
 #endif
 
+	commit_dialog_width = utils_get_setting_integer(config, "CommitDialog",
+		"commit_dialog_width", 700);
+	commit_dialog_height = utils_get_setting_integer(config, "CommitDialog",
+		"commit_dialog_height", 500);
+
 	g_key_file_free(config);
 }
 
@@ -2378,6 +2402,7 @@ plugin_init(G_GNUC_UNUSED GeanyData * data)
 void
 plugin_cleanup(void)
 {
+	save_config();
 	external_diff_viewer_deinit();
 	remove_menuitems_from_editor_menu();
 	gtk_widget_destroy(menu_entry);



--------------
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