mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-23 06:17:58 +01:00
Move events.prefObserver to options.prefObserver.
This commit is contained in:
@@ -805,7 +805,7 @@ function Options() //{{{
|
||||
.map(function (pref) [pref, ""])]);
|
||||
});
|
||||
|
||||
return {
|
||||
const self = {
|
||||
|
||||
OPTION_SCOPE_GLOBAL: 1,
|
||||
OPTION_SCOPE_LOCAL: 2,
|
||||
@@ -817,6 +817,37 @@ function Options() //{{{
|
||||
return (v for ([k, v] in Iterator(sorted)));
|
||||
},
|
||||
|
||||
prefObserver: {
|
||||
register: function ()
|
||||
{
|
||||
// better way to monitor all changes?
|
||||
this._branch = services.get("pref").getBranch("").QueryInterface(Ci.nsIPrefBranch2);
|
||||
this._branch.addObserver("", this, false);
|
||||
},
|
||||
|
||||
unregister: function ()
|
||||
{
|
||||
if (this._branch)
|
||||
this._branch.removeObserver("", this);
|
||||
},
|
||||
|
||||
observe: function (subject, topic, data)
|
||||
{
|
||||
if (topic != "nsPref:changed")
|
||||
return;
|
||||
|
||||
// subject is the nsIPrefBranch we're observing (after appropriate QI)
|
||||
// data is the name of the pref that's been changed (relative to subject)
|
||||
switch (data)
|
||||
{
|
||||
case "accessibility.browsewithcaret":
|
||||
let value = options.getPref("accessibility.browsewithcaret", false);
|
||||
liberator.mode = value ? modes.CARET : modes.NORMAL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
add: function (names, description, type, defaultValue, extraInfo)
|
||||
{
|
||||
if (!extraInfo)
|
||||
@@ -1064,8 +1095,15 @@ function Options() //{{{
|
||||
this.popContext();
|
||||
}
|
||||
}
|
||||
};
|
||||
//}}}
|
||||
}; //}}}
|
||||
|
||||
self.prefObserver.register();
|
||||
liberator.registerObserver("shutdown", function () {
|
||||
self.prefObserver.unregister();
|
||||
});
|
||||
|
||||
return self;
|
||||
|
||||
}; //}}}
|
||||
|
||||
// vim: set fdm=marker sw=4 ts=4 et:
|
||||
|
||||
Reference in New Issue
Block a user