This repository has been archived by the owner on Nov 18, 2021. It is now read-only.
/
widget_settings.js
68 lines (56 loc) · 2.36 KB
/
widget_settings.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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 <http://www.gnu.org/licenses/>.
*
* 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, <bard [at] hyperstruct [dot] net>
*
*/
// 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.');
}
};