all: remove all GSettings usage

Since GSettings is not supported in extensions in 3.2, all settings
have been replaced by constants in JS files (except for user-theme,
whose only purpose is to actually bridge GSettings to the shell).
Customizations are still supported in master, and distributions
packaging these extensions for system-wide install may consider
reverting this bug.
This commit is contained in:
Giovanni Campagna
2011-12-16 22:03:08 +01:00
parent dd6b0dc7a9
commit 374abed8a1
13 changed files with 38 additions and 259 deletions
+15 -86
View File
@@ -25,15 +25,6 @@ const AltTab = imports.ui.altTab;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
// Settings
const DOCK_SETTINGS_SCHEMA = 'org.gnome.shell.extensions.dock';
const DOCK_POSITION_KEY = 'position';
const DOCK_SIZE_KEY = 'size';
const DOCK_HIDE_KEY = 'autohide';
const DOCK_EFFECTHIDE_KEY = 'hide-effect';
const DOCK_AUTOHIDE_ANIMATION_TIME_KEY = 'hide-effect-duration';
//hide
//const autohide_animation_time = 0.3;
@@ -49,6 +40,15 @@ const AutoHideEffect = {
MOVE: 2
};
// Settings
const DOCK_POSITION = PositionMode.RIGHT;
const DOCK_SIZE = 48;
const DOCK_AUTOHIDE = true;
const DOCK_EFFECTHIDE = AutoHideEffect.MOVE;
const DOCK_AUTOHIDE_ANIMATION_TIME = 0.3;
// Do not change anything below this line (it is intentionally duplicate to keep in
// sync with master branch)
let position = PositionMode.RIGHT;
let dockicon_size = 48;
let hideable = true;
@@ -340,15 +340,11 @@ Dock.prototype = {
this._favorites = [];
// Load Settings
this._settings = new Gio.Settings({ schema: DOCK_SETTINGS_SCHEMA });
position = this._settings.get_enum(DOCK_POSITION_KEY);
dockicon_size = this._settings.get_int(DOCK_SIZE_KEY);
hideDock = hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
hideEffect = this._settings.get_enum(DOCK_EFFECTHIDE_KEY);
autohide_animation_time = this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY);
//global.log("POSITION: " + position);
//global.log("dockicon_size: " + dockicon_size);
position = DOCK_POSITION;
dockicon_size = DOCK_SIZE;
hideDock = hideable = DOCK_AUTOHIDE;
hideEffect = DOCK_EFFECTHIDE;
autohide_animation_time = DOCK_AUTOHIDE_ANIMATION_TIME;
this._spacing = 4;
this._item_size = dockicon_size;
@@ -382,72 +378,6 @@ Dock.prototype = {
}));
Main.layoutManager.addChrome(this.actor);
//hidden
this._settings.connect('changed::'+DOCK_POSITION_KEY, Lang.bind(this, function (){
if (!this._settings)
return;
let primary = Main.layoutManager.primaryMonitor;
position = this._settings.get_enum(DOCK_POSITION_KEY);
this.actor.y=primary.y;
this._redisplay();
}));
this._settings.connect('changed::'+DOCK_SIZE_KEY, Lang.bind(this, function (){
if (!this._settings)
return;
dockicon_size = this._settings.get_int(DOCK_SIZE_KEY);
this._redisplay();
}));
this._settings.connect('changed::'+DOCK_HIDE_KEY, Lang.bind(this, function (){
if (!this._settings)
return;
hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
if (hideable){
hideDock=false;
this._hideDock();
} else {
hideDock=true;
this._showDock();
}
}));
this._settings.connect('changed::'+DOCK_EFFECTHIDE_KEY, Lang.bind(this, function () {
if (!this._settings)
return;
hideEffect = this._settings.get_enum(DOCK_EFFECTHIDE_KEY);
switch (hideEffect) {
case AutoHideEffect.RESCALE:
this._item_size=dockicon_size;
break;
case AutoHideEffect.RESIZE:
this.actor.set_scale (1,1);
break;
case AutoHideEffect.MOVE:
;
}
this.actor.disconnect(this._leave_event);
this.actor.disconnect(this._enter_event);
this._selectFunctionsHide ();
this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
this._redisplay();
}));
this._settings.connect('changed::'+DOCK_AUTOHIDE_ANIMATION_TIME_KEY, Lang.bind(this,function (){
if (!this._settings)
return;
autohide_animation_time = this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY);
}));
this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
@@ -483,14 +413,13 @@ Dock.prototype = {
this.actor.destroy();
// Break reference cycles
this._settings = null;
this._appSystem = null;
this._tracker = null;
},
// fuctions hide
_restoreHideDock: function(){
hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
hideable = DOCK_AUTOHIDE;
},
_disableHideDock: function (){