Skip to content
This repository has been archived by the owner on Nov 18, 2021. It is now read-only.

Commit

Permalink
Added Settings widget.
Browse files Browse the repository at this point in the history
  • Loading branch information
bard committed Mar 13, 2009
1 parent ac808f4 commit 7e63e6c
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 0 deletions.
1 change: 1 addition & 0 deletions chrome/content/dashboard/dashboard.xul
Expand Up @@ -46,6 +46,7 @@

<?xul-overlay href="chrome://sameplace/content/dashboard/widget_accounts.xul"?>
<?xul-overlay href="chrome://sameplace/content/dashboard/widget_contacts.xul"?>
<?xul-overlay href="chrome://sameplace/content/dashboard/widget_settings.xul"?>

<!-- localization -->

Expand Down
68 changes: 68 additions & 0 deletions 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 <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.');
}
};
57 changes: 57 additions & 0 deletions chrome/content/dashboard/widget_settings.xul
@@ -0,0 +1,57 @@
<?xml version="1.0"?>

<!--
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>
-->

<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="widget_settings.js"/>

<vbox id="widgets">
<widget id="widget-settings"
title="Settings"
image="chrome://sameplace/skin/dashboard/widget_settings_icon.png"
minimized="true">

<hbox align="center" style="font-size: 11px;">
<label value="Open:" class="small-margin"/>
<radiogroup id="widget-settings-open-mode" orient="horizontal"
value=""
onclick="settings.changedOpenMode(event);">
<radio label="in browser" value="sidebar" class="small-margin"/>
<radio label="on desktop" value="standalone" class="small-margin"/>
</radiogroup>
</hbox>

<hbox align="center" style="font-size: 11px;" hidden="true">
<checkbox label="Display button on browser toolbar"/>
</hbox>
</widget>
</vbox>
</overlay>
1 change: 1 addition & 0 deletions defaults/preferences/sameplace.js
Expand Up @@ -10,3 +10,4 @@ pref("extensions.sameplace.services.idle.src", "chrome://sameplace/content/servi
pref("extensions.sameplace.services.idle.timeout", 300);
pref("extensions.sameplace.panel.stream.store", "{}");
pref("extensions.sameplace.widget.contacts.displayPopularContactsHelp", true);
pref("extensions.sameplace.openMode", "sidebar");

0 comments on commit 7e63e6c

Please sign in to comment.