🔥 Remove duplicated code

This commit is contained in:
Simon Schneegans
2024-08-01 05:57:04 +02:00
parent a30d10bab6
commit b01a53da95
+2 -34
View File
@@ -46,23 +46,6 @@ import TVGlitch from './src/effects/TVGlitch.js';
import Wisps from './src/effects/Wisps.js';
import {ExtensionPreferences, gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
import * as Config from 'resource:///org/gnome/Shell/Extensions/js/misc/config.js';
const [GS_MAJOR, GS_MINOR] = Config.PACKAGE_VERSION.split('.').map(toNumericVersion);
// Returns the given argument, except for "alpha", "beta", and "rc". In these cases -3,
// -2, and -1 are returned respectively.
function toNumericVersion(x) {
switch (x) {
case 'alpha':
return -3;
case 'beta':
return -2;
case 'rc':
return -1;
}
return x;
}
// Currently, the extension supports only one set of UI files. In the past, there were
// three different sets for GTK3, GTK4, and Adwaita. This method returns the name of the
@@ -71,21 +54,6 @@ function getUIDir() {
return 'adw';
}
// This method returns true if the current GNOME Shell version is at least as high as the
// given arguments. Supports "alpha" and "beta" for the minor version number.
function shellVersionIsAtLeast(major, minor) {
if (GS_MAJOR > major) {
return true;
}
if (GS_MAJOR == major) {
return GS_MINOR >= toNumericVersion(minor);
}
return false;
}
//////////////////////////////////////////////////////////////////////////////////////////
// The preferences dialog is organized in pages, each of which is loaded from a //
// separate ui file. There's one page with general options, all other paged are loaded //
@@ -231,7 +199,7 @@ export default class BurnMyWindowsPreferences extends ExtensionPreferences {
// Now add all the rows.
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (shellVersionIsAtLeast(minMajor, minMinor)) {
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
const uiFile = `/ui/${getUIDir()}/${effect.getNick()}.ui`;
@@ -691,7 +659,7 @@ GitHub: <a href='https://github.com/sponsors/schneegans'>https://github.com/spon
// Connect all effect settings.
this._ALL_EFFECTS.forEach(effect => {
const [minMajor, minMinor] = effect.getMinShellVersion();
if (shellVersionIsAtLeast(minMajor, minMinor)) {
if (utils.shellVersionIsAtLeast(minMajor, minMinor)) {
this.bindSwitch(`${effect.getNick()}-enable-effect`);
effect.bindPreferences(this);
}