# HG changeset patch
# User Simon Heimberg <[email protected]>
# Date 1237377657 -3600
# Node ID 2edb9e0e604f040d4b4af00d822f7838fdbdb615
# Parent  044405ec1878748c8d2b365986c98eeb7afb896e
commit: do not overwrite new commit messages in mq mode

diff -r 044405ec1878 -r 2edb9e0e604f hggtk/commit.py
--- a/hggtk/commit.py   Wed Mar 18 12:58:42 2009 +0100
+++ b/hggtk/commit.py   Wed Mar 18 13:00:57 2009 +0100
@@ -266,20 +266,22 @@
 
     def _check_patch_queue(self):
         '''See if an MQ patch is applied, switch to qrefresh mode'''
-        self.branchentry.set_sensitive(True)
+        mqmode = hasattr(self.repo, 'mq') and self.repo.mq.applied
         self.qheader = None
-        if not hasattr(self.repo, 'mq'): return
-        if not self.repo.mq.applied: return
-        patch = self.repo.mq.lookup('qtip')
-        ph = self.repo.mq.readheaders(patch)
-        title = os.path.basename(self.repo.root) + ' qrefresh ' + patch
-        self.set_title(title)
-        self.qheader = '\n'.join(ph.message)
-        self.text.get_buffer().set_text(self.qheader)
-        c_btn = self.get_toolbutton('_Commit')
-        c_btn.set_label('QRefresh')
-        c_btn.set_tooltip(self.tooltips, self.mqmode and 'QRefresh' or 'QNew')
-        self.branchentry.set_sensitive(False)
+        if mqmode:
+            patch = self.repo.mq.lookup('qtip')
+            ph = self.repo.mq.readheaders(patch)
+            title = os.path.basename(self.repo.root) + ' qrefresh ' + patch
+            self.set_title(title)
+            self.qheader = '\n'.join(ph.message)
+            buf = self.text.get_buffer()
+            if buf.get_char_count() == 0 or not buf.get_modified():
+                buf.set_text(self.qheader)
+                buf.set_modified(False)
+            c_btn = self.get_toolbutton('_Commit')
+            c_btn.set_label('QRefresh')
+            c_btn.set_tooltip(self.tooltips, self.mqmode and 'QRefresh' or 
'QNew')
+        self.branchentry.set_sensitive(not mqmode)
 
     def _commit_clicked(self, toolbutton, data=None):
         if not self._ready_message():


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to