On Wed, Sep 9, 2009 at 8:29 PM, Kyle Altendorf <kyle.altend...@gmail.com> wrote: > On Wed, Sep 9, 2009 at 6:03 PM, Steve Borho<st...@borho.org> wrote: >> On Wed, Sep 9, 2009 at 7:50 PM, Kyle Altendorf <kyle.altend...@gmail.com> >> wrote: >>> 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 '') >> >> The above line looks redundant. You mind if I remove it? > > I certainly do not... > >> >>> 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: >> >> Otherwise it looks good. It's fortunate that you attached the patch >> because the inline version has a few wrapped lines. >> >> Thanks. > > Should I try to avoid the wrapped lines in the email or just be sure > to also attach the patch in the future? I tried to follow the wiki > guidelines and they said to attach it.
Attaching is always a safe choice. There's not much you can do to prevent the wrapping. -- Steve Borho ------------------------------------------------------------------------------ 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