Merge branch 'fix/recover-after-themer-auto-variants-error' into 'master'

Recover after Themer automatic variants detection error

See merge request rmnvgr/nightthemeswitcher-gnome-shell-extension!43
This commit is contained in:
Romain
2020-08-05 10:30:22 +00:00
4 changed files with 39 additions and 3 deletions
+12 -1
View File
@@ -46,6 +46,7 @@ var GtkThemer = class {
this._gtkVariantsStatusChangedConnect = null; this._gtkVariantsStatusChangedConnect = null;
this._gtkVariantChangedConnect = null; this._gtkVariantChangedConnect = null;
this._gtkThemeChangedConnect = null; this._gtkThemeChangedConnect = null;
this._manualGtkVariantsChangedConnect = null;
this._timeChangedConnect = null; this._timeChangedConnect = null;
} }
@@ -55,8 +56,8 @@ var GtkThemer = class {
this._watchStatus(); this._watchStatus();
this._saveOriginalTheme(); this._saveOriginalTheme();
if (e.settingsManager.gtkVariantsEnabled) { if (e.settingsManager.gtkVariantsEnabled) {
this._updateVariants();
this._connectSettings(); this._connectSettings();
this._updateVariants();
this._connectTimer(); this._connectTimer();
} }
} catch (error) { } catch (error) {
@@ -92,6 +93,7 @@ var GtkThemer = class {
logDebug('Connecting GTK Themer to settings...'); logDebug('Connecting GTK Themer to settings...');
this._gtkVariantChangedConnect = e.settingsManager.connect('gtk-variant-changed', this._onGtkVariantChanged.bind(this)); this._gtkVariantChangedConnect = e.settingsManager.connect('gtk-variant-changed', this._onGtkVariantChanged.bind(this));
this._gtkThemeChangedConnect = e.settingsManager.connect('gtk-theme-changed', this._onGtkThemeChanged.bind(this)); this._gtkThemeChangedConnect = e.settingsManager.connect('gtk-theme-changed', this._onGtkThemeChanged.bind(this));
this._manualGtkVariantsChangedConnect = e.settingsManager.connect('manual-gtk-variants-changed', this._onManualGtkVariantsChanged.bind(this));
} }
_disconnectSettings() { _disconnectSettings() {
@@ -139,6 +141,13 @@ var GtkThemer = class {
} }
} }
_onManualGtkVariantsChanged(_settings, enabled) {
this.disable();
this.enable();
if (enabled)
this._setVariant(e.timer.time);
}
_onTimeChanged(_timer, newTime) { _onTimeChanged(_timer, newTime) {
this._setVariant(newTime); this._setVariant(newTime);
} }
@@ -149,6 +158,8 @@ var GtkThemer = class {
} }
_setVariant(time) { _setVariant(time) {
if (!time)
return;
logDebug(`Setting the GTK ${time} variant...`); logDebug(`Setting the GTK ${time} variant...`);
switch (time) { switch (time) {
case 'day': case 'day':
+14
View File
@@ -50,10 +50,12 @@ var SettingsManager = class {
this._gtkVariantDayChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-day', this._onGtkVariantDayChanged.bind(this)); this._gtkVariantDayChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-day', this._onGtkVariantDayChanged.bind(this));
this._gtkVariantNightChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-night', this._onGtkVariantNightChanged.bind(this)); this._gtkVariantNightChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-night', this._onGtkVariantNightChanged.bind(this));
this._gtkVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-original', this._onGtkVariantOriginalChanged.bind(this)); this._gtkVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-original', this._onGtkVariantOriginalChanged.bind(this));
this._manualGtkVariantsChangedConnect = this._extensionsSettings.connect('changed::manual-gtk-variants', this._onManualGtkVariantsChanged.bind(this));
this._shellVariantsStatusChangedConnect = this._extensionsSettings.connect('changed::shell-variants-enabled', this._onShellVariantsStatusChanged.bind(this)); this._shellVariantsStatusChangedConnect = this._extensionsSettings.connect('changed::shell-variants-enabled', this._onShellVariantsStatusChanged.bind(this));
this._shellVariantDayChangedConnect = this._extensionsSettings.connect('changed::shell-variant-day', this._onShellVariantDayChanged.bind(this)); this._shellVariantDayChangedConnect = this._extensionsSettings.connect('changed::shell-variant-day', this._onShellVariantDayChanged.bind(this));
this._shellVariantNightChangedConnect = this._extensionsSettings.connect('changed::shell-variant-night', this._onShellVariantNightChanged.bind(this)); this._shellVariantNightChangedConnect = this._extensionsSettings.connect('changed::shell-variant-night', this._onShellVariantNightChanged.bind(this));
this._shellVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::shell-variant-original', this._onShellVariantOriginalChanged.bind(this)); this._shellVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::shell-variant-original', this._onShellVariantOriginalChanged.bind(this));
this._manualShellVariantsChangedConnect = this._extensionsSettings.connect('changed::manual-shell-variants', this._onManualShellVariantsChanged.bind(this));
this._iconVariantsStatusConnect = this._extensionsSettings.connect('changed::icon-variants-enabled', this._onIconVariantsStatusChanged.bind(this)); this._iconVariantsStatusConnect = this._extensionsSettings.connect('changed::icon-variants-enabled', this._onIconVariantsStatusChanged.bind(this));
this._iconVariantDayChangedConnect = this._extensionsSettings.connect('changed::icon-variant-day', this._onIconVariantDayChanged.bind(this)); this._iconVariantDayChangedConnect = this._extensionsSettings.connect('changed::icon-variant-day', this._onIconVariantDayChanged.bind(this));
this._iconVariantNightChangedConnect = this._extensionsSettings.connect('changed::icon-variant-night', this._onIconVariantNightChanged.bind(this)); this._iconVariantNightChangedConnect = this._extensionsSettings.connect('changed::icon-variant-night', this._onIconVariantNightChanged.bind(this));
@@ -86,10 +88,12 @@ var SettingsManager = class {
this._extensionsSettings.disconnect(this._gtkVariantDayChangedConnect); this._extensionsSettings.disconnect(this._gtkVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._gtkVariantNightChangedConnect); this._extensionsSettings.disconnect(this._gtkVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._gtkVariantOriginalChangedConnect); this._extensionsSettings.disconnect(this._gtkVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._manualGtkVariantsChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantsStatusChangedConnect); this._extensionsSettings.disconnect(this._shellVariantsStatusChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantDayChangedConnect); this._extensionsSettings.disconnect(this._shellVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantNightChangedConnect); this._extensionsSettings.disconnect(this._shellVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantOriginalChangedConnect); this._extensionsSettings.disconnect(this._shellVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._manualShellVariantsChangedConnect);
this._extensionsSettings.disconnect(this._iconVariantsStatusConnect); this._extensionsSettings.disconnect(this._iconVariantsStatusConnect);
this._extensionsSettings.disconnect(this._iconVariantDayChangedConnect); this._extensionsSettings.disconnect(this._iconVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._iconVariantNightChangedConnect); this._extensionsSettings.disconnect(this._iconVariantNightChangedConnect);
@@ -478,6 +482,11 @@ var SettingsManager = class {
this.emit('gtk-variant-changed', 'original'); this.emit('gtk-variant-changed', 'original');
} }
_onManualGtkVariantsChanged(_settings, _changedKey) {
logDebug(`Manual GTK variants have been ${this.manualGtkVariants ? 'ena' : 'disa'}bled.`);
this.emit('manual-gtk-variants-changed', this.manualGtkVariants);
}
/* Shell variants */ /* Shell variants */
@@ -501,6 +510,11 @@ var SettingsManager = class {
this.emit('shell-variant-changed', 'original'); this.emit('shell-variant-changed', 'original');
} }
_onManualShellVariantsChanged(_settings, _changedKey) {
logDebug(`Manual Shell variants have been ${this.manualShellVariants ? 'ena' : 'disa'}bled.`);
this.emit('manual-shell-variants-changed', this.manualShellVariants);
}
/* Cursor variants */ /* Cursor variants */
+12 -1
View File
@@ -46,6 +46,7 @@ var ShellThemer = class {
this._shellVariantsStatusChangedConnect = null; this._shellVariantsStatusChangedConnect = null;
this._shellVariantChangedConnect = null; this._shellVariantChangedConnect = null;
this._shellThemeChangedConnect = null; this._shellThemeChangedConnect = null;
this._manualShellVariantsChangedConnect = null;
this._timeChangedConnect = null; this._timeChangedConnect = null;
} }
@@ -55,8 +56,8 @@ var ShellThemer = class {
this._watchStatus(); this._watchStatus();
this._saveOriginalTheme(); this._saveOriginalTheme();
if (e.settingsManager.shellVariantsEnabled) { if (e.settingsManager.shellVariantsEnabled) {
this._updateVariants();
this._connectSettings(); this._connectSettings();
this._updateVariants();
this._connectTimer(); this._connectTimer();
} }
} catch (error) { } catch (error) {
@@ -92,6 +93,7 @@ var ShellThemer = class {
logDebug('Connecting Shell Themer to settings...'); logDebug('Connecting Shell Themer to settings...');
this._shellVariantChangedConnect = e.settingsManager.connect('shell-variant-changed', this._onShellVariantChanged.bind(this)); this._shellVariantChangedConnect = e.settingsManager.connect('shell-variant-changed', this._onShellVariantChanged.bind(this));
this._shellThemeChangedConnect = e.settingsManager.connect('shell-theme-changed', this._onShellThemeChanged.bind(this)); this._shellThemeChangedConnect = e.settingsManager.connect('shell-theme-changed', this._onShellThemeChanged.bind(this));
this._manualShellVariantsChangedConnect = e.settingsManager.connect('manual-shell-variants-changed', this._onManualShellVariantsChanged.bind(this));
} }
_disconnectSettings() { _disconnectSettings() {
@@ -139,6 +141,13 @@ var ShellThemer = class {
} }
} }
_onManualShellVariantsChanged(_settings, enabled) {
this.disable();
this.enable();
if (enabled)
this._setVariant(e.timer.time);
}
_onTimeChanged(_timer, newTime) { _onTimeChanged(_timer, newTime) {
this._setVariant(newTime); this._setVariant(newTime);
} }
@@ -149,6 +158,8 @@ var ShellThemer = class {
} }
_setVariant(time) { _setVariant(time) {
if (!time)
return;
logDebug(`Setting the shell ${time} variant...`); logDebug(`Setting the shell ${time} variant...`);
let shellTheme; let shellTheme;
switch (time) { switch (time) {
+1 -1
View File
@@ -75,7 +75,7 @@ var Timer = class {
get time() { get time() {
return this._source.time; return this._source ? this._source.time : null;
} }