SF.net SVN: geany-plugins:[406] branches/GeanyVC_menu_redesign

kugel- at users.sourceforge.net kugel- at xxxxx
Mon Jan 26 22:51:55 UTC 2009


Revision: 406
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=406&view=rev
Author:   kugel-
Date:     2009-01-26 22:51:55 +0000 (Mon, 26 Jan 2009)

Log Message:
-----------
Use flags in command_with_question_activated (and remove the ask flag). Commands can set FLAG_DIR, so that the dir instead of the filename will passed to that command. Remove code which is only needed to reload the file after an action, and use command_with_question_activated for the reload (with FLAG_RELOAD). Some other cleanup. Run that rediculous indent-all.sh script.

Modified Paths:
--------------
    branches/GeanyVC_menu_redesign/geanyvc.c
    branches/GeanyVC_menu_redesign/geanyvc.h

Modified: branches/GeanyVC_menu_redesign/geanyvc.c
===================================================================
--- branches/GeanyVC_menu_redesign/geanyvc.c	2009-01-26 18:52:40 UTC (rev 405)
+++ branches/GeanyVC_menu_redesign/geanyvc.c	2009-01-26 22:51:55 UTC (rev 406)
@@ -131,9 +131,7 @@
 };
 
 PLUGIN_KEY_GROUP(geanyvc, COUNT_KB)
-
-GSList *
-get_commit_files_null(G_GNUC_UNUSED const gchar * dir)
+GSList *get_commit_files_null(G_GNUC_UNUSED const gchar * dir)
 {
 	return NULL;
 }
@@ -446,23 +444,23 @@
 		if (cur != g_slist_last(largv))
 		{
 			utils_spawn_sync(dir, cur->data, (gchar **) env,
-					    G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL |
-					    G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL,
-					    &exit_code, &error);
+					 G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL |
+					 G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL,
+					 &exit_code, &error);
 		}
 		else
 		{
 			utils_spawn_sync(dir, cur->data, (gchar **) env,
-					    G_SPAWN_SEARCH_PATH | (std_out ? 0 :
-								   G_SPAWN_STDOUT_TO_DEV_NULL) |
-					    (std_err ? 0 : G_SPAWN_STDERR_TO_DEV_NULL), NULL, NULL,
-					    std_out, std_err, &exit_code, &error);
+					 G_SPAWN_SEARCH_PATH | (std_out ? 0 :
+								G_SPAWN_STDOUT_TO_DEV_NULL) |
+					 (std_err ? 0 : G_SPAWN_STDERR_TO_DEV_NULL), NULL, NULL,
+					 std_out, std_err, &exit_code, &error);
 		}
 		if (error)
 		{
 			g_warning("geanyvc: s_spawn_sync error: %s", error->message);
 			ui_set_statusbar(FALSE, _("geanyvc: s_spawn_sync error: %s"),
-					    error->message);
+					 error->message);
 			g_error_free(error);
 		}
 
@@ -478,8 +476,7 @@
 			if (!g_utf8_validate(*std_out, -1, NULL))
 			{
 				setptr(*std_out, encodings_convert_to_utf8(*std_out,
-									      strlen(*std_out),
-									      NULL));
+									   strlen(*std_out), NULL));
 			}
 			if (!NZV(*std_out))
 			{
@@ -497,8 +494,7 @@
 			if (!g_utf8_validate(*std_err, -1, NULL))
 			{
 				setptr(*std_err, encodings_convert_to_utf8(*std_err,
-									      strlen(*std_err),
-									      NULL));
+									   strlen(*std_err), NULL));
 			}
 			if (!NZV(*std_err))
 			{
@@ -850,7 +846,7 @@
 }
 
 static gboolean
-command_with_question_activated(gchar ** text, gint cmd, const gchar * question, gboolean ask)
+command_with_question_activated(gchar ** text, gint cmd, const gchar * question, gint flags)
 {
 	GtkWidget *dialog;
 	gint result;
@@ -861,17 +857,22 @@
 	doc = document_get_current();
 	g_return_val_if_fail(doc != NULL && doc->file_name != NULL, FALSE);
 
+	dir = g_path_get_dirname(doc->file_name);
+	vc = find_vc(dir);
+	g_return_val_if_fail(vc, FALSE);
+
 	if (doc->changed)
 	{
 		document_save_file(doc, FALSE);
 	}
 
-	if (ask)
+	if ((flags & FLAG_FORCE_ASK) || set_add_confirmation)
 	{
 		dialog = gtk_message_dialog_new(GTK_WINDOW(geany->main_widgets->window),
 						GTK_DIALOG_DESTROY_WITH_PARENT,
 						GTK_MESSAGE_QUESTION,
-						GTK_BUTTONS_YES_NO, question, doc->file_name);
+						GTK_BUTTONS_YES_NO, question,
+						(flags & FLAG_DIR ? dir : doc->file_name));
 		result = gtk_dialog_run(GTK_DIALOG(dialog));
 		gtk_widget_destroy(dialog);
 	}
@@ -882,52 +883,40 @@
 
 	if (result == GTK_RESPONSE_YES)
 	{
-		dir = g_path_get_dirname(doc->file_name);
-		vc = find_vc(dir);
-		g_return_val_if_fail(vc, FALSE);
-
-		execute_command(vc, text, NULL, doc->file_name, cmd, NULL, NULL);
-		g_free(dir);
+		if (flags & FLAG_FILE)
+			execute_command(vc, text, NULL, doc->file_name, cmd, NULL, NULL);
+		if (flags & FLAG_DIR)
+			execute_command(vc, text, NULL, dir, cmd, NULL, NULL);
+		if (flags & FLAG_RELOAD)
+			document_reload_file(doc, NULL);
 	}
-	return (result == GTK_RESPONSE_YES) ? TRUE : FALSE;
+	return (result == GTK_RESPONSE_YES);
 }
 
 static void
 vcrevert_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
 {
-	gboolean ret;
-	GeanyDocument *doc;
-
-	doc = document_get_current();
-	g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
-	ret = command_with_question_activated(NULL, VC_COMMAND_REVERT_FILE,
-					      _("Do you really want to revert: %s?"), TRUE);
-	if (ret)
-	{
-		document_reload_file(doc, NULL);
-	}
+	command_with_question_activated(NULL, VC_COMMAND_REVERT_FILE,
+					_("Do you really want to revert: %s?"),
+					FLAG_RELOAD | FLAG_FILE | FLAG_FORCE_ASK);
 }
 
-
 static void
 vcadd_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
 {
 	command_with_question_activated(NULL, VC_COMMAND_ADD,
-					_("Do you really want to add: %s?"), set_add_confirmation);
+					_("Do you really want to add: %s?"), FLAG_FILE);
 }
 
 static void
 vcremove_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
 {
-	gboolean ret;
-
-	ret = command_with_question_activated(NULL, VC_COMMAND_REMOVE,
-					      _("Do you really want to remove: %s?"), TRUE);
-	if (ret)
+	if (command_with_question_activated(NULL, VC_COMMAND_REMOVE,
+					    _("Do you really want to remove: %s?"),
+					    FLAG_FORCE_ASK | FLAG_FILE))
 	{
 		document_remove_page(gtk_notebook_get_current_page
-				    (GTK_NOTEBOOK(geany->main_widgets->notebook)));
+				     (GTK_NOTEBOOK(geany->main_widgets->notebook)));
 	}
 }
 
@@ -946,17 +935,14 @@
 		document_save_file(doc, FALSE);
 	}
 
-	ret = command_with_question_activated(&text, VC_COMMAND_UPDATE,
-					      _("Do you really want to update?"),
-					      set_add_confirmation);
-	if (ret)
+	if (command_with_question_activated(&text, VC_COMMAND_UPDATE,
+					    _("Do you really want to update?"), FLAG_FILE))
 	{
 		document_reload_file(doc, NULL);
 
 		if (NZV(text))
 			show_output(text, "*VC-UPDATE*", NULL);
-		if (text)
-			g_free(text);
+		g_free(text);
 	}
 }
 
@@ -1430,7 +1416,7 @@
 	if (speller == NULL)
 	{
 		ui_set_statusbar(FALSE, _("Error initializing spell checking: %s"),
-				    spellcheck_error->message);
+				 spellcheck_error->message);
 		g_error_free(spellcheck_error);
 		spellcheck_error = NULL;
 	}
@@ -1440,9 +1426,9 @@
 		if (spellcheck_error != NULL)
 		{
 			ui_set_statusbar(TRUE,
-					    _
-					    ("Error while setting up language for spellchecking. Please check configuration. Error message was: %s"),
-					    spellcheck_error->message);
+					 _
+					 ("Error while setting up language for spellchecking. Please check configuration. Error message was: %s"),
+					 spellcheck_error->message);
 			g_error_free(spellcheck_error);
 			spellcheck_error = NULL;
 		}
@@ -1536,37 +1522,44 @@
 }
 
 
-static void kbdiff_file(G_GNUC_UNUSED guint key_id)
+static void
+kbdiff_file(G_GNUC_UNUSED guint key_id)
 {
 	vcdiff_file_activated(NULL, NULL);
 }
 
-static void kbdiff_dir(G_GNUC_UNUSED guint key_id)
+static void
+kbdiff_dir(G_GNUC_UNUSED guint key_id)
 {
 	vcdiff_dir_activated(NULL, NULL);
 }
 
-static void kbdiff_basedir(G_GNUC_UNUSED guint key_id)
+static void
+kbdiff_basedir(G_GNUC_UNUSED guint key_id)
 {
 	vcdiff_basedir_activated(NULL, NULL);
 }
 
-static void kbstatus(G_GNUC_UNUSED guint key_id)
+static void
+kbstatus(G_GNUC_UNUSED guint key_id)
 {
 	vcstatus_activated(NULL, NULL);
 }
 
-static void kbcommit(G_GNUC_UNUSED guint key_id)
+static void
+kbcommit(G_GNUC_UNUSED guint key_id)
 {
 	vccommit_activated(NULL, NULL);
 }
 
-static void kbrevert(G_GNUC_UNUSED guint key_id)
+static void
+kbrevert(G_GNUC_UNUSED guint key_id)
 {
 	vcrevert_activated(NULL, NULL);
 }
 
-static void kbupdate(G_GNUC_UNUSED guint key_id)
+static void
+kbupdate(G_GNUC_UNUSED guint key_id)
 {
 	vcupdate_activated(NULL, NULL);
 }
@@ -1645,8 +1638,8 @@
 		    && utils_mkdir(config_dir, TRUE) != 0)
 		{
 			dialogs_show_msgbox(GTK_MESSAGE_ERROR,
-					       _
-					       ("Plugin configuration directory could not be created."));
+					    _
+					    ("Plugin configuration directory could not be created."));
 		}
 		else
 		{
@@ -1890,16 +1883,16 @@
 }
 
 static void
-do_current_file_menu(GtkWidget **parent_menu, GtkTooltips **tooltips)
+do_current_file_menu(GtkWidget ** parent_menu, GtkTooltips ** tooltips)
 {
 	GtkWidget *cur_file_menu = NULL;
-    /* Menu which will hold the items in the current file menu */
+	/* Menu which will hold the items in the current file menu */
 	cur_file_menu = gtk_menu_new();
 
 	*parent_menu = gtk_image_menu_item_new_with_mnemonic(_("Current _File"));
-	g_signal_connect((gpointer) *parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
+	g_signal_connect((gpointer) * parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
 
-    /* Diff of current file */
+	/* Diff of current file */
 	menu_vc_diff_file = gtk_menu_item_new_with_mnemonic(_("_Diff"));
 	gtk_container_add(GTK_CONTAINER(cur_file_menu), menu_vc_diff_file);
 	gtk_tooltips_set_tip(*tooltips, menu_vc_diff_file,
@@ -1961,19 +1954,19 @@
 	g_signal_connect((gpointer) menu_vc_remove_file, "activate",
 			 G_CALLBACK(vcremove_activated), NULL);
 
-    /* connect to parent menu */
+	/* connect to parent menu */
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(*parent_menu), cur_file_menu);
 }
 
 static void
-do_current_dir_menu(GtkWidget **parent_menu, GtkTooltips **tooltips)
+do_current_dir_menu(GtkWidget ** parent_menu, GtkTooltips ** tooltips)
 {
-    GtkWidget *cur_dir_menu = NULL;
-    /* Menu which will hold the items in the current file menu */
+	GtkWidget *cur_dir_menu = NULL;
+	/* Menu which will hold the items in the current file menu */
 	cur_dir_menu = gtk_menu_new();
 
 	*parent_menu = gtk_image_menu_item_new_with_mnemonic(_("Current _Directory"));
-	g_signal_connect((gpointer) *parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
+	g_signal_connect((gpointer) * parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
 	/* Diff of the current dir */
 	menu_vc_diff_dir = gtk_menu_item_new_with_mnemonic(_("_Diff"));
 	gtk_container_add(GTK_CONTAINER(cur_dir_menu), menu_vc_diff_dir);
@@ -1984,26 +1977,26 @@
 			 G_CALLBACK(vcdiff_dir_activated), NULL);
 
 	gtk_container_add(GTK_CONTAINER(cur_dir_menu), gtk_separator_menu_item_new());
-    /* History/log of the current dir */
+	/* History/log of the current dir */
 	menu_vc_log_dir = gtk_menu_item_new_with_mnemonic(_("_History"));
 	gtk_container_add(GTK_CONTAINER(cur_dir_menu), menu_vc_log_dir);
 	gtk_tooltips_set_tip(*tooltips, menu_vc_log_dir,
 			     _("Shows the log of the current directory"), NULL);
 
 
-    /* connect to parent menu */
+	/* connect to parent menu */
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(*parent_menu), cur_dir_menu);
 }
 
 static void
-do_basedir_menu(GtkWidget **parent_menu, GtkTooltips **tooltips)
+do_basedir_menu(GtkWidget ** parent_menu, GtkTooltips ** tooltips)
 {
-    GtkWidget *basedir_menu = NULL;
-    /* Menu which will hold the items in the current file menu */
+	GtkWidget *basedir_menu = NULL;
+	/* Menu which will hold the items in the current file menu */
 	basedir_menu = gtk_menu_new();
 
 	*parent_menu = gtk_image_menu_item_new_with_mnemonic(_("Current _Basedirectory"));
-	g_signal_connect((gpointer) *parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
+	g_signal_connect((gpointer) * parent_menu, "activate", G_CALLBACK(update_menu_items), NULL);
 
 	/* Complete diff of base directory */
 	menu_vc_diff_basedir = gtk_menu_item_new_with_mnemonic(_("_Diff"));
@@ -2018,7 +2011,7 @@
 	g_signal_connect((gpointer) menu_vc_log_dir, "activate",
 			 G_CALLBACK(vclog_dir_activated), NULL);
 
-    /* Complete History/Log of base directory */
+	/* Complete History/Log of base directory */
 	menu_vc_log_basedir = gtk_menu_item_new_with_mnemonic(_("_History"));
 	gtk_container_add(GTK_CONTAINER(basedir_menu), menu_vc_log_basedir);
 	gtk_tooltips_set_tip(*tooltips, menu_vc_log_basedir,
@@ -2027,7 +2020,7 @@
 	g_signal_connect((gpointer) menu_vc_log_basedir, "activate",
 			 G_CALLBACK(vclog_basedir_activated), NULL);
 
-    /* connect to parent menu */
+	/* connect to parent menu */
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(*parent_menu), basedir_menu);
 }
 
@@ -2036,19 +2029,21 @@
 {
 	/* init keybindins */
 	keybindings_set_item(plugin_key_group, VC_DIFF_FILE, kbdiff_file,
-	0, 0, "vc_show_diff_of_file", _("Show diff of file"), menu_vc_diff_file);
-	keybindings_set_item(plugin_key_group, VC_DIFF_DIR, kbdiff_dir,
-	0, 0, "vc_show_diff_of_dir", _("Show diff of diretory"), menu_vc_diff_dir);
-	keybindings_set_item(plugin_key_group, VC_DIFF_BASEDIR, kbdiff_basedir,
-	0, 0, "vc_show_diff_of_basedir", _("Show diff of basedir"), menu_vc_diff_basedir);
-	keybindings_set_item(plugin_key_group, VC_COMMIT, kbcommit,
-	0, 0, "vc_commit", _("Commit changes"), menu_vc_commit);
-	keybindings_set_item(plugin_key_group, VC_STATUS, kbstatus,
-	0, 0, "vc_status", _("Show status") , menu_vc_status);
-	keybindings_set_item(plugin_key_group, VC_REVERT, kbrevert,
-	0, 0, "vc_revert", _("Revert changes"), menu_vc_revert_file);
-	keybindings_set_item(plugin_key_group, VC_UPDATE, kbupdate,
-	0, 0, "vc_update", _("Update file"), menu_vc_update);
+			     0, 0, "vc_show_diff_of_file", _("Show diff of file"),
+			     menu_vc_diff_file);
+	keybindings_set_item(plugin_key_group, VC_DIFF_DIR, kbdiff_dir, 0, 0, "vc_show_diff_of_dir",
+			     _("Show diff of diretory"), menu_vc_diff_dir);
+	keybindings_set_item(plugin_key_group, VC_DIFF_BASEDIR, kbdiff_basedir, 0, 0,
+			     "vc_show_diff_of_basedir", _("Show diff of basedir"),
+			     menu_vc_diff_basedir);
+	keybindings_set_item(plugin_key_group, VC_COMMIT, kbcommit, 0, 0, "vc_commit",
+			     _("Commit changes"), menu_vc_commit);
+	keybindings_set_item(plugin_key_group, VC_STATUS, kbstatus, 0, 0, "vc_status",
+			     _("Show status"), menu_vc_status);
+	keybindings_set_item(plugin_key_group, VC_REVERT, kbrevert, 0, 0, "vc_revert",
+			     _("Revert changes"), menu_vc_revert_file);
+	keybindings_set_item(plugin_key_group, VC_UPDATE, kbupdate, 0, 0, "vc_update",
+			     _("Update file"), menu_vc_update);
 }
 
 /* Called by Geany to initialize the plugin */
@@ -2081,18 +2076,18 @@
 	menu_vc_menu = gtk_menu_new();
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_vc), menu_vc_menu);
 
-    /* Create the current file Submenu */
+	/* Create the current file Submenu */
 	do_current_file_menu(&menu_vc_file, &tooltips);
 	gtk_container_add(GTK_CONTAINER(menu_vc_menu), menu_vc_file);
-    /* Create the current directory Submenu */
-    do_current_dir_menu(&menu_vc_dir, &tooltips);
+	/* Create the current directory Submenu */
+	do_current_dir_menu(&menu_vc_dir, &tooltips);
 	gtk_container_add(GTK_CONTAINER(menu_vc_menu), menu_vc_dir);
-    /* Create the current base directory Submenu */
-    do_basedir_menu(&menu_vc_basedir, &tooltips);
+	/* Create the current base directory Submenu */
+	do_basedir_menu(&menu_vc_basedir, &tooltips);
 	gtk_container_add(GTK_CONTAINER(menu_vc_menu), menu_vc_basedir);
 
 	gtk_container_add(GTK_CONTAINER(menu_vc_menu), gtk_separator_menu_item_new());
-    /* Status of basedir */
+	/* Status of basedir */
 	menu_vc_status = gtk_menu_item_new_with_mnemonic(_("_Status"));
 	gtk_container_add(GTK_CONTAINER(menu_vc_menu), menu_vc_status);
 	gtk_tooltips_set_tip(tooltips, menu_vc_status, _("Show status."), NULL);
@@ -2124,8 +2119,8 @@
 	gtk_widget_show_all(menu_vc_dir);
 	gtk_widget_show_all(menu_vc_basedir);
 
-    /* initialize keybindings */
-    init_keybindings();
+	/* initialize keybindings */
+	init_keybindings();
 
 	plugin_fields->menu_item = menu_vc;
 	plugin_fields->flags = PLUGIN_IS_DOCUMENT_SENSITIVE;

Modified: branches/GeanyVC_menu_redesign/geanyvc.h
===================================================================
--- branches/GeanyVC_menu_redesign/geanyvc.h	2009-01-26 18:52:40 UTC (rev 405)
+++ branches/GeanyVC_menu_redesign/geanyvc.h	2009-01-26 22:51:55 UTC (rev 406)
@@ -51,10 +51,15 @@
 	VC_COMMAND_STARTDIR_FILE
 };
 
-#define P_ABS_DIRNAME "*<?geanyvcDIRNAME>*"
-#define P_ABS_FILENAME "*<?geanyvcFILENAME>*"
-#define P_BASENAME "*<?geanyvcBASE_FILENAME>*"
+#define FLAG_RELOAD         (1<<0)
+#define FLAG_FORCE_ASK      (1<<1)
+#define FLAG_FILE           (1<<2)
+#define FLAG_DIR            (1<<3)
 
+#define P_ABS_DIRNAME       "*<?geanyvcDIRNAME>*"
+#define P_ABS_FILENAME      "*<?geanyvcFILENAME>*"
+#define P_BASENAME          "*<?geanyvcBASE_FILENAME>*"
+
 /* The addresses of these strings act as enums, their contents are not used. */
 
 


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