abdd1346da
All extension lookups now happen through the dedicated Extension/ExtensionPreferences classes, so the shared code no longer has to access the extensionManager. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2838>
32 lines
721 B
JavaScript
32 lines
721 B
JavaScript
import {ExtensionBase, GettextWrapper} from './sharedInternals.js';
|
|
|
|
const {extensionManager} = imports.ui.main;
|
|
|
|
export class Extension extends ExtensionBase {
|
|
static lookupByUUID(uuid) {
|
|
return extensionManager.lookup(uuid)?.stateObj ?? null;
|
|
}
|
|
|
|
static defineTranslationFunctions(url) {
|
|
const wrapper = new GettextWrapper(this, url);
|
|
return wrapper.defineTranslationFunctions();
|
|
}
|
|
|
|
enable() {
|
|
}
|
|
|
|
disable() {
|
|
}
|
|
|
|
/**
|
|
* Open the extension's preferences window
|
|
*/
|
|
openPreferences() {
|
|
extensionManager.openExtensionPrefs(this.uuid, '', {});
|
|
}
|
|
}
|
|
|
|
export const {
|
|
gettext, ngettext, pgettext,
|
|
} = Extension.defineTranslationFunctions();
|