bzr-explorer-dev team mailing list archive
-
bzr-explorer-dev team
-
Mailing list archive
-
Message #00073
Re: Integrating Plugins with Bzr-Explorer
Hi,
I attempted to get some basic plugin integration functionality ready for Explorer 0.11 but didn't quite make it.
However I did produce a number of patches on which I would be interested in getting feedback if anyone has the time.
http://code.launchpad.net/~simon-kersey/bzr-explorer/update-tool-defs
This added:
(1) <tool ... type="bzrexec" /> - to specify a tool that should use qrun --execute
(2) <tool ... applies="toolbox toolbar menu wt_menu" /> - to specify to which GUI items a tool can be added
(3) <folder ... add-to="toolbox toolbar menu wt_menu"> - to specify to which GUI items a toolset should be added
(4) <folder ... linked="wt"> - to specify that the toolset was linked to the working tree (so would only be visible when it was visible)
(5) Validation of parsing so that elements without mandatory attributes were ignored with a mutter. NOTE Currently elements are created, and an invalid tools.xml will cause Explorer to exit at start-up.
(6) Default icon for 'bzrexec' tool type.
In building this patch I noticed that tools.xml was getting a bit unwieldy. Personally I feel that it needs to be re-factored to convert attributes to child elements. This may not be quite as nice to manually edit but is much better to extend and validate. As I am now not attempting to hit 0.11 and have more time I'd like to look at a DTD for these and other extensions (particularly with regard to tool 'conditions' as these may need to take into account current context (BRANCH; BOUND BRANCH etc) and, if support is added for passing working tree selections to tools via %(selected)s, file state (ADDED; MODIFIED; REMOVED etc); file type (FILE, DIR); selection type (SINGLE ITEM, MULTIPLE ITEMS) ....
or maybe I'm just going too far.
http://code.launchpad.net/~simon-kersey/bzr-explorer/add-tool-exec
This added:
(1) Functionality to hide toolsets on the tools menu and in the toolbox depending on whether the working tree is visible or not and the linked attribute is set to "wt"
(2) Functionality to call qrun --execute if tool type="bzrexec"
(3) Functionality to pass the selected items from the working tree to the tool command if tool action contains %(selected)s and tool belongs to a toolset that is linked to the working tree.
http://code.launchpad.net/~simon-kersey/bzr-explorer/add-configurable-toolbars
This added:
(1) Functionality to build toolbars for folders where the add-to attribute contains "toolbar" and there are tools within the toolset where the applies attribute contains "toolbar".
This currently has a bug which I am having difficulty fixing. If you have a working tree linked toolbar with tools, the working tree is enabled and visible (and therefore the toolbar is enabled and visible) and you minimize Explorer you get a Windows core dump.
Anyway as I said at the beginning I'd be grateful of any feedback.
Cheers,
Simon
The information transmitted is intended only for the person
or entity to which it is addressed and may contain
confidential and/or privileged material. If you are not the
addressee, any disclosure, reproduction, copying,
distribution, or other dissemination or use of this
communication is strictly prohibited. If you have received
this transmission in error please notify the sender
immediately and then delete this email.
Any representations or commitments expressed in this email
are subject to contract.
This message has been scanned for viruses and dangerous
content. However, it is essential that the recipient also
checks this message using commercially available mail
scanning and anti-virus software. IPL Information Processing
Limited accepts no liability for any loss or damage resulting
from any virus or other dangerous content in this message.
IPL Information Processing Limited is registered in England
and Wales under company registration number 1418818.
Registration took place at Cardiff on 10 May 1979. IPL
Information Processing Limited's registered office and
normal place of business is Eveleigh House, Grove Street,
Bath, BA1 5LR, United Kingdom. IPL is also registered for
Value Added Tax (VAT) under registration number GB 601 2931 83.
Follow ups