On Mon, Sep 7, 2009 at 12:55 PM, Adrian Buehlmann<[email protected]> wrote:
> # HG changeset patch
> # User Adrian Buehlmann <[email protected]>
> # Date 1252346065 -7200
> # Node ID 00fece8a505e953a2b1b5737f3be75016ae0e7dc
> # Parent 2f94a4b0f9757dee019db0d6e66e3414774f7cb8
> commit: Move parent frame to bottom of dialog
>
> Since we now have an "advanced" frame, this IMHO looks a bit nicer.
>
> Having the diff above the parents frame also fits with the mental model
> of "the change is based on the parent revision(s)". Having status info
> in (or at least near) the status bar is a good fit as well.
>
> Maybe the M,R,?,I,A,!,C checkboxes should be moved to above the parent
> frame next.
>
> This patch additionally needs to tweak the toggle_view function, as
> that function seems to get called before the parents_frame has been set
> up (which lead to a traceback [1]). Luckily, this always happens in a
> toggle_view call where there isn't any state change at all, so let's
> just filter out non-state-change "toggles".
>
> [1] AttributeError: 'GCommit' object has no attribute 'parents_frame'
>
> diff --git a/hggtk/commit.py b/hggtk/commit.py
> --- a/hggtk/commit.py
> +++ b/hggtk/commit.py
> @@ -298,20 +298,6 @@ class GCommit(GStatus):
> scroller.add(self.text)
> gtklib.addspellcheck(self.text, self.repo.ui)
>
> - self.parents_frame = gtk.Frame(_('Parent'))
> - parents_vbox = gtk.VBox(spacing=2)
> - self.parents_frame.add(parents_vbox)
> - def plabel():
> - w = gtk.Label()
> - w.set_selectable(True)
> - hb = gtk.HBox()
> - hb.pack_start(w, False, False, 4)
> - parents_vbox.pack_start(hb, False, False)
> - return w
> - self.parent1_label = plabel()
> - self.parent2_label = plabel()
> - vbox.pack_start(self.parents_frame, False, False)
> -
> self.advanced_frame = gtk.Frame(_('Advanced'))
> adv_hbox = gtk.HBox(spacing=2)
> adv_hbox.pack_start(gtk.Label(_('Comitter:')), False, False, 2)
> @@ -327,9 +313,26 @@ class GCommit(GStatus):
>
> self.vmenu.set_menu(self.view_menu())
If you move the above line to...
> + vbox2 = gtk.VBox()
> + vbox2.pack_start(status_body)
> +
> + self.parents_frame = gtk.Frame(_('Parent'))
> + parents_vbox = gtk.VBox(spacing=2)
> + self.parents_frame.add(parents_vbox)
> + def plabel():
> + w = gtk.Label()
> + w.set_selectable(True)
> + hb = gtk.HBox()
> + hb.pack_start(w, False, False, 4)
> + parents_vbox.pack_start(hb, False, False)
> + return w
> + self.parent1_label = plabel()
> + self.parent2_label = plabel()
> + vbox2.pack_start(self.parents_frame, False, False)
> +
here
> self.vpaned = gtk.VPaned()
> self.vpaned.pack1(vbox, shrink=False)
> - self.vpaned.pack2(status_body, shrink=False)
> + self.vpaned.pack2(vbox2, shrink=False)
> gobject.idle_add(self.realize_settings)
> return self.vpaned
None of the below would be necessary.
> @@ -354,18 +357,21 @@ class GCommit(GStatus):
> return menu
>
> def toggle_view(self, button, type):
> + show = button.get_active()
> + fr = None
> if type == 'parents':
> - self.showparents = button.get_active()
> - if self.showparents:
> - self.parents_frame.show()
> + if self.showparents != show:
> + self.showparents = show
> + fr = self.parents_frame
> + elif type == 'advanced':
> + if self.showadvanced != show:
> + self.showadvanced = show
> + fr = self.advanced_frame
> + if fr is not None:
> + if show:
> + fr.show()
> else:
> - self.parents_frame.hide()
> - elif type == 'advanced':
> - self.showadvanced = button.get_active()
> - if self.showadvanced:
> - self.advanced_frame.show()
> - else:
> - self.advanced_frame.hide()
> + fr.hide()
>
> def changed_cb(self, combobox):
> model = combobox.get_model()
>
> ------------------------------------------------------------------------------
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
>
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop