[meld/VersionControlRework: 48/123] vcview, ui.vcdialogs: Move all VC command handling to vcview



commit 12510653cdecd5363cb352a291db3485bc8f248d
Author: Kai Willadsen <kai willadsen gmail com>
Date:   Tue Mar 24 06:43:59 2015 +1000

    vcview, ui.vcdialogs: Move all VC command handling to vcview

 meld/ui/vcdialogs.py |   11 ++++-------
 meld/vcview.py       |    9 +++++++--
 2 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/meld/ui/vcdialogs.py b/meld/ui/vcdialogs.py
index 9af26a7..47fb1af 100644
--- a/meld/ui/vcdialogs.py
+++ b/meld/ui/vcdialogs.py
@@ -48,7 +48,6 @@ class CommitDialog(GObject.GObject, Component):
     def __init__(self, parent):
         GObject.GObject.__init__(self)
         Component.__init__(self, "vcview.ui", "commitdialog")
-        self.parent = parent
         self.widget.set_transient_for(parent.widget.get_toplevel())
         selected = parent._get_selected_files()
 
@@ -66,7 +65,7 @@ class CommitDialog(GObject.GObject, Component):
                                    (topdir, "\n".join(to_commit)))
 
         self.textview.modify_font(meldsettings.font)
-        commit_prefill = self.parent.vc.get_commit_message_prefill()
+        commit_prefill = parent.vc.get_commit_message_prefill()
         if commit_prefill:
             buf = self.textview.get_buffer()
             buf.set_text(commit_prefill)
@@ -92,6 +91,7 @@ class CommitDialog(GObject.GObject, Component):
         self.previousentry.set_active(-1)
         self.textview.grab_focus()
         response = self.widget.run()
+        msg = None
         if response == Gtk.ResponseType.OK:
             show_margin = self.textview.get_show_right_margin()
             margin = self.textview.get_right_margin_position()
@@ -101,11 +101,10 @@ class CommitDialog(GObject.GObject, Component):
             if show_margin and self.props.break_commit_message:
                 paragraphs = msg.split("\n\n")
                 msg = "\n\n".join(textwrap.fill(p, margin) for p in paragraphs)
-            self.parent._command_on_selected(
-                self.parent.vc.commit_command(msg))
             if msg.strip():
                 self.previousentry.prepend_history(msg)
         self.widget.destroy()
+        return response, msg
 
     def on_previousentry_activate(self, gentry):
         idx = gentry.get_active()
@@ -119,7 +118,6 @@ class PushDialog(Component):
 
     def __init__(self, parent):
         Component.__init__(self, "vcview.ui", "pushdialog")
-        self.parent = parent
         self.widget.set_transient_for(parent.widget.get_toplevel())
         self.widget.show_all()
 
@@ -128,6 +126,5 @@ class PushDialog(Component):
         # In git, this is probably the parsed output of push --dry-run.
 
         response = self.widget.run()
-        if response == Gtk.ResponseType.OK:
-            self.parent.vc.push(self.parent._command)
         self.widget.destroy()
+        return response
diff --git a/meld/vcview.py b/meld/vcview.py
index cdca1ab..c3a28ae 100644
--- a/meld/vcview.py
+++ b/meld/vcview.py
@@ -715,10 +715,15 @@ class VcView(melddoc.MeldDoc, gnomeglade.Component):
             self._command_on_selected(self.vc.update_command())
 
     def on_button_push_clicked(self, obj):
-        vcdialogs.PushDialog(self).run()
+        response = vcdialogs.PushDialog(self).run()
+        if response == Gtk.ResponseType.OK:
+            self.vc.push(self._command)
 
     def on_button_commit_clicked(self, obj):
-        vcdialogs.CommitDialog(self).run()
+        response, commit_msg = vcdialogs.CommitDialog(self).run()
+        if response == Gtk.ResponseType.OK:
+            self._command_on_selected(
+                self.vc.commit_command(commit_msg))
 
     def on_button_add_clicked(self, obj):
         try:


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