зеркало из https://github.com/mozilla/gecko-dev.git
56 строки
1.7 KiB
JavaScript
56 строки
1.7 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
const Ci = Components.interfaces;
|
|
const Cu = Components.utils;
|
|
const Cc = Components.classes;
|
|
|
|
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
Cu.import("resource://gre/modules/Services.jsm");
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "Prompt",
|
|
"resource://gre/modules/Prompt.jsm");
|
|
|
|
function ColorPicker() {
|
|
}
|
|
|
|
ColorPicker.prototype = {
|
|
_initial: 0,
|
|
_domWin: null,
|
|
_title: "",
|
|
|
|
get strings() {
|
|
if (!this._strings) {
|
|
this._strings = Services.strings.createBundle("chrome://browser/locale/browser.properties");
|
|
}
|
|
return this._strings;
|
|
},
|
|
|
|
init: function(aParent, aTitle, aInitial) {
|
|
this._domWin = aParent;
|
|
this._initial = aInitial;
|
|
this._title = aTitle;
|
|
},
|
|
|
|
open: function(aCallback) {
|
|
let p = new Prompt({ title: this._title,
|
|
buttons: [
|
|
this.strings.GetStringFromName("inputWidgetHelper.set"),
|
|
this.strings.GetStringFromName("inputWidgetHelper.cancel")
|
|
] })
|
|
.addColorPicker({ value: this._initial })
|
|
.show((data) => {
|
|
if (data.button == 0)
|
|
aCallback.done(data.color0);
|
|
else
|
|
aCallback.done(this._initial);
|
|
});
|
|
},
|
|
|
|
classID: Components.ID("{430b987f-bb9f-46a3-99a5-241749220b29}"),
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsIColorPicker])
|
|
};
|
|
|
|
this.NSGetFactory = XPCOMUtils.generateNSGetFactory([ColorPicker]);
|