From 7e63e6c6eef2e222b077b92180451431408d01cb Mon Sep 17 00:00:00 2001 From: Massimiliano Mirra Date: Fri, 13 Mar 2009 13:34:50 +0100 Subject: [PATCH] Added Settings widget. --- chrome/content/dashboard/dashboard.xul | 1 + chrome/content/dashboard/widget_settings.js | 68 ++++++++++++++++++++ chrome/content/dashboard/widget_settings.xul | 57 ++++++++++++++++ defaults/preferences/sameplace.js | 1 + 4 files changed, 127 insertions(+) create mode 100644 chrome/content/dashboard/widget_settings.js create mode 100644 chrome/content/dashboard/widget_settings.xul diff --git a/chrome/content/dashboard/dashboard.xul b/chrome/content/dashboard/dashboard.xul index 49b7da24..3f82e25b 100644 --- a/chrome/content/dashboard/dashboard.xul +++ b/chrome/content/dashboard/dashboard.xul @@ -46,6 +46,7 @@ + diff --git a/chrome/content/dashboard/widget_settings.js b/chrome/content/dashboard/widget_settings.js new file mode 100644 index 00000000..d499c114 --- /dev/null +++ b/chrome/content/dashboard/widget_settings.js @@ -0,0 +1,68 @@ +/* + * Copyright 2009 by Massimiliano Mirra + * + * This file is part of SamePlace. + * + * SamePlace is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 3 of the License, or (at your + * option) any later version. + * + * SamePlace is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * The interactive user interfaces in modified source and object code + * versions of this program must display Appropriate Legal Notices, as + * required under Section 5 of the GNU General Public License version 3. + * + * In accordance with Section 7(b) of the GNU General Public License + * version 3, modified versions must display the "Powered by SamePlace" + * logo to users in a legible manner and the GPLv3 text must be made + * available to them. + * + * Author: Massimiliano Mirra, + * + */ + + +// INITIALIZATION/FINALIZATION +// ---------------------------------------------------------------------- + +window.addEventListener('dashboard/load', function(event) { settings.init(); }, false) +window.addEventListener('dashboard/unload', function(event) { settings.finish(); }, false) + +var settings = {}; + +settings.init = function() { + this._pref = Cc['@mozilla.org/preferences-service;1'] + .getService(Ci.nsIPrefService) + .getBranch('extensions.sameplace.'); + + this._prompt = Cc['@mozilla.org/embedcomp/prompt-service;1'] + .getService(Ci.nsIPromptService); + + $('#widget-settings-open-mode').value = this._pref.getCharPref('openMode'); +}; + +settings.finish = function() { + this._channel.release(); +}; + + +// UI REACTIONS +// ---------------------------------------------------------------------- + +settings.changedOpenMode = function(event) { + var mode = event.target.value; + + if(mode !== this._pref.getCharPref('openMode')) { + this._pref.setCharPref('openMode', mode); + this._prompt.alert(null, 'Changing open mode', + 'This setting will take effect after browser is restarted.'); + } +}; \ No newline at end of file diff --git a/chrome/content/dashboard/widget_settings.xul b/chrome/content/dashboard/widget_settings.xul new file mode 100644 index 00000000..8705439e --- /dev/null +++ b/chrome/content/dashboard/widget_settings.xul @@ -0,0 +1,57 @@ + + + + + +