3 <!-- ***** BEGIN LICENSE BLOCK *****
4 - Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 - The contents of this file are subject to the Mozilla Public License Version
7 - 1.1 (the "License"); you may not use this file except in compliance with
8 - the License. You may obtain a copy of the License at
9 - http://www.mozilla.org/MPL/
11 - Software distributed under the License is distributed on an "AS IS" basis,
12 - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 - for the specific language governing rights and limitations under the
16 - The Original Code is BlueGriffon.
18 - The Initial Developer of the Original Code is
19 - Disruptive Innovations SARL.
20 - Portions created by the Initial Developer are Copyright (C) 2008
21 - the Initial Developer. All Rights Reserved.
24 - Daniel Glazman (daniel.glazman@disruptive-innovations.com), Original Author
26 - Alternatively, the contents of this file may be used under the terms of
27 - either the GNU General Public License Version 2 or later (the "GPL"), or
28 - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 - in which case the provisions of the GPL or the LGPL are applicable instead
30 - of those above. If you wish to allow use of your version of this file only
31 - under the terms of either the GPL or the LGPL, and not to allow others to
32 - use your version of this file under the terms of the MPL, indicate your
33 - decision by deleting the provisions above and replace them with the notice
34 - and other provisions required by the LGPL or the GPL. If you do not delete
35 - the provisions above, a recipient may use your version of this file under
36 - the terms of any one of the MPL, the GPL or the LGPL.
38 - ***** END LICENSE BLOCK ***** -->
41 <!ENTITY % filepickerbuttonDTD SYSTEM "chrome://bluegriffon/locale/filepickerbutton.dtd" >
46 <bindings id="filepickerbuttonBindings"
47 xmlns="http://www.mozilla.org/xbl"
48 xmlns:html="http://www.w3.org/1999/xhtml"
49 xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
50 xmlns:xbl="http://www.mozilla.org/xbl">
52 <binding id="filepickerbutton">
55 <stylesheet src="chrome://bluegriffon/content/bindings/filepickerbutton.css"/>
59 <xul:toolbarbutton xbl:inherits="disabled,tooltiptext=title"
65 <property name="mButton"
67 onget="return document.getAnonymousElementByAttribute(this, 'anonid', 'button')" />
69 <property name="value"
70 onget="return this.getAttribute('value');"
71 onset="this.setAttribute('value', val);"/>
73 <property name="disabled"
74 onget="return this.mButton.getAttribute('disabled');"
75 onset="this.mButton.setAttribute('disabled', val);"/>
77 <field name="fp">null</field>
78 <field name="nsIFP">Components.interfaces.nsIFilePicker</field>
83 this.fp = Components.classes["@mozilla.org/filepicker;1"].
84 createInstance(this.nsIFP);
85 this.fp.init(window, this.getAttribute("title"),
86 parseInt(this.getAttribute("mode")));
92 <method name="appendFilters">
93 <parameter name="aFilter"/>
97 this.fp.appendFilters(aFilter);
104 <method name="appendFilter">
105 <parameter name="aTitle"/>
106 <parameter name="aFilter"/>
110 this.fp.appendFilter(aTitle, aFilter);
120 <handler event="command" phase="capturing">
123 if (this.fp.show() == this.nsIFP.returnOK &&
124 this.fp.fileURL.spec && this.fp.fileURL.spec.length > 0)
126 var spec = this.fp.fileURL.spec;
127 if (this.hasAttribute("processor"))
128 spec = eval(this.getAttribute("processor") + "(spec)");
129 this.setAttribute("value", spec);
130 if (this.hasAttribute("control"))
132 var c = document.getElementById(this.getAttribute("control"));