Heres my first attempt at patch submission to any project... with a
little luck it might actually be a useful addition. :]
# HG changeset patch
# User Kyle Altendorf <kyle.altend...@gmail.com>
# Date 1252543105 25200
# Node ID 668a02f11149018f8fe808afaa342c72245d54b1
# Parent 4324c75d205323cd1454abe17462684d76b5c081
commit: convert advanced committer box to MRU list
diff -r 4324c75d2053 -r 668a02f11149 hggtk/commit.py
--- a/hggtk/commit.py Wed Sep 09 13:29:29 2009 -0500
+++ b/hggtk/commit.py Wed Sep 09 17:38:25 2009 -0700
@@ -237,9 +237,10 @@
self.check_undo()
self.refresh_branchop()
self.update_parent_labels()
- if not self.comitter_entry.get_text():
+ if not self.committer_cbbox.get_active_text():
user = self.opts['user'] or self.repo.ui.config('ui', 'username')
- self.comitter_entry.set_text(hglib.toutf(user or ''))
+ if user:
+ update_recent_committers(hglib.toutf(user))
if not self.autoinc_entry.get_text():
autoinc = self.repo.ui.config('tortoisehg', 'autoinc', '')
self.autoinc_entry.set_text(hglib.toutf(autoinc))
@@ -301,9 +302,21 @@
self.advanced_frame = gtk.Frame(_('Advanced'))
adv_hbox = gtk.HBox(spacing=2)
- adv_hbox.pack_start(gtk.Label(_('Comitter:')), False, False, 2)
- self.comitter_entry = gtk.Entry()
- adv_hbox.pack_start(self.comitter_entry, True, True, 2)
+ adv_hbox.pack_start(gtk.Label(_('Committer:')), False, False, 2)
+
+ liststore = gtk.ListStore(str)
+ self.committer_cbbox = gtk.ComboBoxEntry(liststore)
+ cell = gtk.CellRendererText()
+ self.committer_cbbox.pack_start(cell, True)
+ adv_hbox.pack_start(self.committer_cbbox, True, True, 2)
+ self._mru_committers = self.settings.mrul('recent_committers')
+ self.update_recent_committers()
+ committer = self.repo.ui.config('ui', 'username')
+ if committer:
+ self.update_recent_committers(committer)
+ self.committer_cbbox.set_active(0)
+
self.committer_cbbox.child.set_text(self.committer_cbbox.get_active_text()
or '')
+
adv_hbox.pack_start(gtk.Label(_('Auto-includes:')), False, False, 2)
self.autoinc_entry = gtk.Entry()
adv_hbox.pack_start(self.autoinc_entry, False, False, 2)
@@ -369,6 +382,16 @@
frame.hide()
setattr(self, statename, show)
+ def update_recent_committers(self, name=None):
+ if name is not None:
+ self._mru_committers.add(name)
+ self._mru_committers.compact()
+ self.settings.write()
+ liststore = self.committer_cbbox.get_model()
+ liststore.clear()
+ for name in self._mru_committers:
+ liststore.append([name])
+
def changed_cb(self, combobox):
model = combobox.get_model()
index = combobox.get_active()
@@ -551,7 +574,7 @@
if self.mqmode:
qtipctx = self.repo['qtip']
self.qheader = qtipctx.description()
- self.comitter_entry.set_text(hglib.toutf(qtipctx.user()))
+ self.committer_cbbox.set_text(hglib.toutf(qtipctx.user()))
buf = self.text.get_buffer()
if buf.get_char_count() == 0 or not buf.get_modified():
if self.qnew:
@@ -829,15 +852,9 @@
self.opts['message'] = buf.get_text(begin, end)
return True
-
def hg_commit(self, files):
# get advanced options
- user = hglib.fromutf(self.comitter_entry.get_text())
- self.opts['user'] = user
- incs = hglib.fromutf(self.autoinc_entry.get_text())
- self.opts['include'] = [i.strip() for i in incs.split(',') if
i.strip()]
- autopush = self.autopush.get_active()
-
+ user = hglib.fromutf(self.committer_cbbox.get_active_text())
if not user:
gdialog.Prompt(_('Commit: Invalid username'),
_('Your username has not been configured.\n\n'
@@ -856,6 +873,12 @@
self.refresh_complete()
return
+ self.update_recent_committers(user)
+ self.opts['user'] = user
+ incs = hglib.fromutf(self.autoinc_entry.get_text())
+ self.opts['include'] = [i.strip() for i in incs.split(',') if
i.strip()]
+ autopush = self.autopush.get_active()
+
cmdline = ['hg', 'commit', '--verbose']
if self.nextbranch:
# HG changeset patch
# User Kyle Altendorf <kyle.altend...@gmail.com>
# Date 1252543105 25200
# Node ID 668a02f11149018f8fe808afaa342c72245d54b1
# Parent 4324c75d205323cd1454abe17462684d76b5c081
commit: convert advanced committer box to MRU list
diff -r 4324c75d2053 -r 668a02f11149 hggtk/commit.py
--- a/hggtk/commit.py Wed Sep 09 13:29:29 2009 -0500
+++ b/hggtk/commit.py Wed Sep 09 17:38:25 2009 -0700
@@ -237,9 +237,10 @@
self.check_undo()
self.refresh_branchop()
self.update_parent_labels()
- if not self.comitter_entry.get_text():
+ if not self.committer_cbbox.get_active_text():
user = self.opts['user'] or self.repo.ui.config('ui', 'username')
- self.comitter_entry.set_text(hglib.toutf(user or ''))
+ if user:
+ update_recent_committers(hglib.toutf(user))
if not self.autoinc_entry.get_text():
autoinc = self.repo.ui.config('tortoisehg', 'autoinc', '')
self.autoinc_entry.set_text(hglib.toutf(autoinc))
@@ -301,9 +302,21 @@
self.advanced_frame = gtk.Frame(_('Advanced'))
adv_hbox = gtk.HBox(spacing=2)
- adv_hbox.pack_start(gtk.Label(_('Comitter:')), False, False, 2)
- self.comitter_entry = gtk.Entry()
- adv_hbox.pack_start(self.comitter_entry, True, True, 2)
+ adv_hbox.pack_start(gtk.Label(_('Committer:')), False, False, 2)
+
+ liststore = gtk.ListStore(str)
+ self.committer_cbbox = gtk.ComboBoxEntry(liststore)
+ cell = gtk.CellRendererText()
+ self.committer_cbbox.pack_start(cell, True)
+ adv_hbox.pack_start(self.committer_cbbox, True, True, 2)
+ self._mru_committers = self.settings.mrul('recent_committers')
+ self.update_recent_committers()
+ committer = self.repo.ui.config('ui', 'username')
+ if committer:
+ self.update_recent_committers(committer)
+ self.committer_cbbox.set_active(0)
+ self.committer_cbbox.child.set_text(self.committer_cbbox.get_active_text() or '')
+
adv_hbox.pack_start(gtk.Label(_('Auto-includes:')), False, False, 2)
self.autoinc_entry = gtk.Entry()
adv_hbox.pack_start(self.autoinc_entry, False, False, 2)
@@ -369,6 +382,16 @@
frame.hide()
setattr(self, statename, show)
+ def update_recent_committers(self, name=None):
+ if name is not None:
+ self._mru_committers.add(name)
+ self._mru_committers.compact()
+ self.settings.write()
+ liststore = self.committer_cbbox.get_model()
+ liststore.clear()
+ for name in self._mru_committers:
+ liststore.append([name])
+
def changed_cb(self, combobox):
model = combobox.get_model()
index = combobox.get_active()
@@ -551,7 +574,7 @@
if self.mqmode:
qtipctx = self.repo['qtip']
self.qheader = qtipctx.description()
- self.comitter_entry.set_text(hglib.toutf(qtipctx.user()))
+ self.committer_cbbox.set_text(hglib.toutf(qtipctx.user()))
buf = self.text.get_buffer()
if buf.get_char_count() == 0 or not buf.get_modified():
if self.qnew:
@@ -829,15 +852,9 @@
self.opts['message'] = buf.get_text(begin, end)
return True
-
def hg_commit(self, files):
# get advanced options
- user = hglib.fromutf(self.comitter_entry.get_text())
- self.opts['user'] = user
- incs = hglib.fromutf(self.autoinc_entry.get_text())
- self.opts['include'] = [i.strip() for i in incs.split(',') if i.strip()]
- autopush = self.autopush.get_active()
-
+ user = hglib.fromutf(self.committer_cbbox.get_active_text())
if not user:
gdialog.Prompt(_('Commit: Invalid username'),
_('Your username has not been configured.\n\n'
@@ -856,6 +873,12 @@
self.refresh_complete()
return
+ self.update_recent_committers(user)
+ self.opts['user'] = user
+ incs = hglib.fromutf(self.autoinc_entry.get_text())
+ self.opts['include'] = [i.strip() for i in incs.split(',') if i.strip()]
+ autopush = self.autopush.get_active()
+
cmdline = ['hg', 'commit', '--verbose']
if self.nextbranch:
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop