extensionSytem: Rename ENABLED/DISABLED states
The ENABLED state means that an extension's `enable()` method was called successfully. This usually matches whether an extension *should* be enabled according to the enabled-extensions/disabled-extensions settings, but not necessarily: If an extension had an error or does not support the currently active mode, its actual state is different. We currently only expose the actual state to external tooling, but whether an extension should be enabled is relevant as well, for example to disable a lock-screen only extension from the regular session. For that purpose we will expose a separate `enabled` property. To avoid confusion with the existing states, change the exposed names to (IN)ACTIVE. This does not affect the D-Bus API, as the numeric values of the states remain unchanged. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7004 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3073>
This commit is contained in:
parent
32d4bc43ea
commit
e6624f8ba1
@ -71,14 +71,14 @@
|
||||
<listitem><para>
|
||||
The state the extension is in:
|
||||
<simplelist>
|
||||
<member>1: ENABLED</member>
|
||||
<member>2: DISABLED</member>
|
||||
<member>1: ACTIVE</member>
|
||||
<member>2: INACTIVE</member>
|
||||
<member>3: ERROR</member>
|
||||
<member>4: OUT_OF_DATE</member>
|
||||
<member>5: DOWNLOADING</member>
|
||||
<member>6: INITIALIZED</member>
|
||||
<member>7: DISABLING</member>
|
||||
<member>8: ENABLING</member>
|
||||
<member>7: DEACTIVATING</member>
|
||||
<member>8: ACTIVATING</member>
|
||||
<member>99: UNINSTALLED</member>
|
||||
</simplelist>
|
||||
</para></listitem>
|
||||
|
@ -13,14 +13,14 @@ export const ExtensionType = {
|
||||
* @enum {number}
|
||||
*/
|
||||
export const ExtensionState = {
|
||||
ENABLED: 1,
|
||||
DISABLED: 2,
|
||||
ACTIVE: 1,
|
||||
INACTIVE: 2,
|
||||
ERROR: 3,
|
||||
OUT_OF_DATE: 4,
|
||||
DOWNLOADING: 5,
|
||||
INITIALIZED: 6,
|
||||
DISABLING: 7,
|
||||
ENABLING: 8,
|
||||
DEACTIVATING: 7,
|
||||
ACTIVATING: 8,
|
||||
|
||||
// Used as an error state for operations on unknown extensions,
|
||||
// should never be in a real extensionMeta object.
|
||||
|
@ -119,8 +119,8 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
}
|
||||
|
||||
_loadExtensionStylesheet(extension) {
|
||||
if (extension.state !== ExtensionState.ENABLED &&
|
||||
extension.state !== ExtensionState.ENABLING)
|
||||
if (extension.state !== ExtensionState.ACTIVE &&
|
||||
extension.state !== ExtensionState.ACTIVATING)
|
||||
return;
|
||||
|
||||
const variant = Main.getStyleVariant();
|
||||
@ -182,10 +182,10 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
if (!extension)
|
||||
return;
|
||||
|
||||
if (extension.state !== ExtensionState.ENABLED)
|
||||
if (extension.state !== ExtensionState.ACTIVE)
|
||||
return;
|
||||
|
||||
this._changeExtensionState(extension, ExtensionState.DISABLING);
|
||||
this._changeExtensionState(extension, ExtensionState.DEACTIVATING);
|
||||
|
||||
// "Rebase" the extension order by disabling and then enabling extensions
|
||||
// in order to help prevent conflicts.
|
||||
@ -231,7 +231,7 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
this._extensionOrder.splice(orderIdx, 1);
|
||||
|
||||
if (extension.state !== ExtensionState.ERROR)
|
||||
this._changeExtensionState(extension, ExtensionState.DISABLED);
|
||||
this._changeExtensionState(extension, ExtensionState.INACTIVE);
|
||||
}
|
||||
|
||||
async _callExtensionEnable(uuid) {
|
||||
@ -246,10 +246,10 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
await this._callExtensionInit(uuid);
|
||||
|
||||
|
||||
if (extension.state !== ExtensionState.DISABLED)
|
||||
if (extension.state !== ExtensionState.INACTIVE)
|
||||
return;
|
||||
|
||||
this._changeExtensionState(extension, ExtensionState.ENABLING);
|
||||
this._changeExtensionState(extension, ExtensionState.ACTIVATING);
|
||||
|
||||
try {
|
||||
this._loadExtensionStylesheet(extension);
|
||||
@ -260,7 +260,7 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
|
||||
try {
|
||||
await extension.stateObj.enable();
|
||||
this._changeExtensionState(extension, ExtensionState.ENABLED);
|
||||
this._changeExtensionState(extension, ExtensionState.ACTIVE);
|
||||
this._extensionOrder.push(uuid);
|
||||
} catch (e) {
|
||||
this._unloadExtensionStylesheet(extension);
|
||||
@ -469,7 +469,7 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
if (!await this._callExtensionInit(uuid))
|
||||
return;
|
||||
|
||||
if (extension.state === ExtensionState.DISABLED)
|
||||
if (extension.state === ExtensionState.INACTIVE)
|
||||
await this._callExtensionEnable(uuid);
|
||||
} else {
|
||||
extension.state = ExtensionState.INITIALIZED;
|
||||
@ -560,7 +560,7 @@ export class ExtensionManager extends Signals.EventEmitter {
|
||||
}
|
||||
|
||||
extension.stateObj = extensionState;
|
||||
this._changeExtensionState(extension, ExtensionState.DISABLED);
|
||||
this._changeExtensionState(extension, ExtensionState.INACTIVE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -801,21 +801,21 @@ const Extensions = GObject.registerClass({
|
||||
|
||||
_stateToString(extensionState) {
|
||||
switch (extensionState) {
|
||||
case ExtensionState.ENABLED:
|
||||
return _('Enabled');
|
||||
case ExtensionState.DISABLED:
|
||||
case ExtensionState.ACTIVE:
|
||||
return _('Active');
|
||||
case ExtensionState.INACTIVE:
|
||||
case ExtensionState.INITIALIZED:
|
||||
return _('Disabled');
|
||||
return _('Inactive');
|
||||
case ExtensionState.ERROR:
|
||||
return _('Error');
|
||||
case ExtensionState.OUT_OF_DATE:
|
||||
return _('Out of date');
|
||||
case ExtensionState.DOWNLOADING:
|
||||
return _('Downloading');
|
||||
case ExtensionState.DISABLING:
|
||||
return _('Disabling');
|
||||
case ExtensionState.ENABLING:
|
||||
return _('Enabling');
|
||||
case ExtensionState.DEACTIVATING:
|
||||
return _('Deactivating');
|
||||
case ExtensionState.ACTIVATING:
|
||||
return _('Activating');
|
||||
}
|
||||
return 'Unknown'; // Not translated, shouldn't appear
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ export const ExtensionRow = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updateState() {
|
||||
const state = this._extension.state === ExtensionState.ENABLED;
|
||||
const state = this._extension.state === ExtensionState.ACTIVE;
|
||||
|
||||
const action = this._actionGroup.lookup_action('enabled');
|
||||
action.set_state(new GLib.Variant('b', state));
|
||||
|
Loading…
x
Reference in New Issue
Block a user