From 1eb245c514e8e31de29d426cafea126947af3fd1 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 2 Aug 2011 23:34:30 +0200 Subject: [PATCH] user-theme: port to new extension API main() has been replaced by init(), enable() and disable() --- extensions/user-theme/extension.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js index be1416ff..38f77da4 100644 --- a/extensions/user-theme/extension.js +++ b/extensions/user-theme/extension.js @@ -15,11 +15,26 @@ function ThemeManager() { ThemeManager.prototype = { _init: function() { + }, + + enable: function() { this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA }); - this._settings.connect('changed::'+SETTINGS_KEY, Lang.bind(this, this._changeTheme)); + this._changedId = this._settings.connect('changed::'+SETTINGS_KEY, Lang.bind(this, this._changeTheme)); this._changeTheme(); }, + disable: function() { + if (this._changedId) { + this._settings.disconnect(this._changedId); + this._changedId = 0; + } + + this._settings = null; + + Main.setThemeStylesheet(null); + Main.loadTheme(); + }, + _changeTheme: function() { let _stylesheet = null; let _themeName = this._settings.get_string(SETTINGS_KEY); @@ -52,6 +67,6 @@ ThemeManager.prototype = { } -function main(metadata) { - new ThemeManager(); +function init(metadata) { + return new ThemeManager(); }