Thanks for adding qrun to Bazaar Explorer (revno 315)
Ian Clatworthy
ian.clatworthy at canonical.com
Sun Nov 22 07:41:57 GMT 2009
Maritza Mendez wrote:
>
> This is a very nice addition.
It is. With a little more love, it could be a quantum leap forward,
bringing in the richness of dozens of plugins to the GUI. Here's what
I'm thinking:
1. Tweak the qrun UI.
2. Add configurable toolbars to Explorer that can call into it. e.g.
right click on the toolbar presents a list of toolbars and you'd
pick the one you want (or add one).
The goal is something like "I want to use a pipeline now. Switch to the
pipeline toolbar." Ditto loom, scmproj, rebase, builddeb, etc. Under the
covers, the various toolbar actions would just call into qrun to do most
of the work.
Here's my thoughts on tweaking qrun:
1. Turn the combo box holding the list of commands into something that
allows easier finding of commands. "bzr help commands | wc -l" gives
240 for me which is way too many entries for a flat list. I'm
thinking something like ...
Category: Commands: [ ] Show hidden commands
+------------+ +-------------------------------------------------+
Core cmd-1 cmd-5
plugin-a cmd-2 cmd-6
plugin-b cmd-3
plugin-c cmd-4
+------------+ +-------------------------------------------------+
core is still 60+ which is a bit big so sub-categories may make sense
there, e.g. Basic, Administration, Miscellaneous. When run from
Explorer or qbzr-eclipse say, that would be quite useful because the
Basic commands already have custom dialogs: it's the others (e.g.
break-lock) which users will be looking for. Down the track,
we can add logical categories, e.g. "Favorites", "Aliases".
2. Like "Insert Directory..." and "Insert Filenames...", add
"Insert Options..." and "Insert Global Options..." buttons to help
build up the parameter list. The first would use the metadata in the
command object to build a basic form with checkboxes for boolean
options, combo-boxes for registry options, text fields for string
options, etc. The second would present a custom dialog that made it
easy to turn on the various debug options (e.g. -Derror), profiling,
etc.
3. Add a Reset button that reset the form so users could do that instead
of having to Close and re-start qrun. See bug
https://bugs.edge.launchpad.net/qbzr/+bug/486373 (raised by you).
Does that sound useful? If so, any volunteers to help with the various
pieces? They sound relatively independent.
Also, if this gains some momentum, I wonder what changes to bzr's
command infrastructure would help. Maybe we want to mark selected
commands as "interactive = True" and mask those out by default? Maybe we
also want to mark commands that assume fixed font output so that
"columns" within the output appear correct in qrun's display?
Nothing beats a well-designed dialog optimised for a task. OTOH,
investing a little into a generic solution like qrun could pay a large
dividend by providing a "good enough GUI" experience across 95% of our
ecosystem (thanks to bzrlib's well-designed Command+Option framework).
Thoughts?
Ian C.
More information about the bazaar
mailing list