anjuta r4592 - in trunk: . plugins/subversion



Author: jrliggett
Date: Fri Jan 16 09:01:16 2009
New Revision: 4592
URL: http://svn.gnome.org/viewvc/anjuta?rev=4592&view=rev

Log:
* plugins/subversion/anjuta-subversion.ui:
* plugins/subversion/plugin.c:
* plugins/subversion/subversion-revert-dialog.c
(on_subversion_revert_response), (on_fm_subversion_revert):
* plugins/subversion/subversion-revert-dialog.h:
* plugins/subversion/svn-revert-command.c
(svn_revert_command_new_list), (svn_revert_command_new_path):
* plugins/subversion/svn-revert-command.h:
Fix Bug 564988 â Subversion context menu should have a Revert command

Modified:
   trunk/ChangeLog
   trunk/plugins/subversion/anjuta-subversion.ui
   trunk/plugins/subversion/plugin.c
   trunk/plugins/subversion/subversion-revert-dialog.c
   trunk/plugins/subversion/subversion-revert-dialog.h
   trunk/plugins/subversion/svn-revert-command.c
   trunk/plugins/subversion/svn-revert-command.h

Modified: trunk/plugins/subversion/anjuta-subversion.ui
==============================================================================
--- trunk/plugins/subversion/anjuta-subversion.ui	(original)
+++ trunk/plugins/subversion/anjuta-subversion.ui	Fri Jan 16 09:01:16 2009
@@ -27,6 +27,7 @@
 		<placeholder name="PlaceholderPopupFileVCS">
 			<menu name="PopupFileSubversion" action="ActionPopupSubversion">
 				<menuitem name="Update..." action="ActionPopupSubversionUpdate" />
+				<menuitem name="Revert..." action="ActionPopupSubversionRevert" />
 				<menuitem name="Add..." action="ActionPopupSubversionAdd" />
 				<menuitem name="Remove..." action="ActionPopupSubversionRemove" />
 				<menuitem name="Copy..." action="ActionPopupSubversionCopy" />

Modified: trunk/plugins/subversion/plugin.c
==============================================================================
--- trunk/plugins/subversion/plugin.c	(original)
+++ trunk/plugins/subversion/plugin.c	Fri Jan 16 09:01:16 2009
@@ -162,6 +162,14 @@
 		G_CALLBACK (on_fm_subversion_update)    /* action callback */
 	},
 	{
+		"ActionPopupSubversionRevert",                       /* Action name */
+		GTK_STOCK_UNDO,                            /* Stock icon, if any */
+		N_("_Revert..."),                     /* Display label */
+		NULL,                                     /* short-cut */
+		N_("Revert changes to your working copy."),                      /* Tooltip */
+		G_CALLBACK (on_fm_subversion_revert)    /* action callback */
+	},
+	{
 		"ActionPopupSubversionAdd",                       /* Action name */
 		GTK_STOCK_ADD,                            /* Stock icon, if any */
 		N_("_Add..."),                     /* Display label */

Modified: trunk/plugins/subversion/subversion-revert-dialog.c
==============================================================================
--- trunk/plugins/subversion/subversion-revert-dialog.c	(original)
+++ trunk/plugins/subversion/subversion-revert-dialog.c	Fri Jan 16 09:01:16 2009
@@ -53,7 +53,7 @@
 		revert_status_view = glade_xml_get_widget (data->gxml,
 												   "revert_status_view");
 		selected_paths = anjuta_vcs_status_tree_view_get_selected (ANJUTA_VCS_STATUS_TREE_VIEW (revert_status_view));
-		revert_command = svn_revert_command_new (selected_paths, TRUE);
+		revert_command = svn_revert_command_new_list (selected_paths, TRUE);
 		
 		svn_command_free_path_list (selected_paths);
 		
@@ -148,3 +148,23 @@
 {
 	subversion_revert_dialog (action, plugin);
 }
+
+void
+on_fm_subversion_revert (GtkAction *action, Subversion *plugin)
+{
+	SvnRevertCommand *revert_command;
+	
+	revert_command = svn_revert_command_new_path (plugin->fm_current_filename, TRUE);
+	
+	g_signal_connect (G_OBJECT (revert_command), "data-arrived",
+					  G_CALLBACK (on_command_info_arrived),
+					  plugin);
+	
+	g_signal_connect (G_OBJECT (revert_command), "command-finished",
+					  G_CALLBACK (on_revert_command_finished),
+					  plugin);
+	
+	create_message_view (plugin);
+	
+	anjuta_command_start (ANJUTA_COMMAND (revert_command));
+}

Modified: trunk/plugins/subversion/subversion-revert-dialog.h
==============================================================================
--- trunk/plugins/subversion/subversion-revert-dialog.h	(original)
+++ trunk/plugins/subversion/subversion-revert-dialog.h	Fri Jan 16 09:01:16 2009
@@ -29,5 +29,6 @@
 #include "svn-revert-command.h"
 
 void on_menu_subversion_revert (GtkAction *action, Subversion *plugin);
+void on_fm_subversion_revert (GtkAction *action, Subversion *plugin);
 
 #endif

Modified: trunk/plugins/subversion/svn-revert-command.c
==============================================================================
--- trunk/plugins/subversion/svn-revert-command.c	(original)
+++ trunk/plugins/subversion/svn-revert-command.c	Fri Jan 16 09:01:16 2009
@@ -100,7 +100,7 @@
 
 
 SvnRevertCommand *
-svn_revert_command_new (GList *paths, gboolean recursive)
+svn_revert_command_new_list (GList *paths, gboolean recursive)
 {
 	SvnRevertCommand *self;
 	
@@ -111,6 +111,20 @@
 	return self;
 }
 
+SvnRevertCommand *
+svn_revert_command_new_path (gchar *path, gboolean recursive)
+{
+	SvnRevertCommand *self;
+	
+	self = g_object_new (SVN_TYPE_REVERT_COMMAND, NULL);
+	self->priv->paths = g_list_append (self->priv->paths,  
+									   svn_command_make_canonical_path (SVN_COMMAND (self),
+																		path));
+	self->priv->recursive = recursive;
+	
+	return self;
+}
+
 void
 svn_revert_command_destroy (SvnRevertCommand *self)
 {

Modified: trunk/plugins/subversion/svn-revert-command.h
==============================================================================
--- trunk/plugins/subversion/svn-revert-command.h	(original)
+++ trunk/plugins/subversion/svn-revert-command.h	Fri Jan 16 09:01:16 2009
@@ -54,7 +54,9 @@
 };
 
 GType svn_revert_command_get_type (void) G_GNUC_CONST;
-SvnRevertCommand * svn_revert_command_new (GList *paths, gboolean recursive);
+SvnRevertCommand *svn_revert_command_new_list (GList *paths, 
+											   gboolean recursive);
+SvnRevertCommand *svn_revert_command_new_path (gchar *path, gboolean recursive);
 void svn_revert_command_destroy (SvnRevertCommand *self);
 
 G_END_DECLS



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]