summaryrefslogtreecommitdiffstats
path: root/extensions/45/hibernate-status/prefs.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/45/hibernate-status/prefs.js')
-rw-r--r--extensions/45/hibernate-status/prefs.js171
1 files changed, 0 insertions, 171 deletions
diff --git a/extensions/45/hibernate-status/prefs.js b/extensions/45/hibernate-status/prefs.js
deleted file mode 100644
index 1407a6b..0000000
--- a/extensions/45/hibernate-status/prefs.js
+++ /dev/null
@@ -1,171 +0,0 @@
-import Gio from 'gi://Gio';
-import Gtk from 'gi://Gtk';
-import Adw from 'gi://Adw';
-// Use __() and N__() for the extension gettext domain, and reuse
-// the shell domain with the default _() and N_()
-
-import {
- ExtensionPreferences,
- gettext as __,
-} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
-const N__ = function (e) {
- return e;
-};
-
-export default class Prefs extends ExtensionPreferences {
- /**
- * Creates a new Settings-object to access the settings of this extension.
- * @private
- */
- constructor(metadata) {
- super(metadata);
- this.KEY_HIBERNATE_WORKS_CHECK = 'hibernate-works-check';
- this._schemaName = 'org.gnome.shell.extensions.hibernate-status-button';
- this._setting = this.getSettings()
- }
- /**
- * <p>Binds the given 'callback'-function to the "changed"-signal on the given
- * key.</p>
- * <p>The 'callback'-function is passed an argument which holds the new
- * value of 'key'. The argument is of type "GLib.Variant". Given that the
- * receiver knows the internal type, use one of the get_XX()-methods to get
- * it's actual value.</p>
- * @see http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/GLib.Variant.html
- * @param key the key to watch for changes.
- * @param callback the callback-function to call.
- */
- bindKey(key, callback) {
- // Validate:
- if (key === undefined || key === null || typeof key !== 'string') {
- throw TypeError("The 'key' should be a string. Got: '" + key + "'");
- }
- if (
- callback === undefined ||
- callback === null ||
- typeof callback !== 'function'
- ) {
- throw TypeError(
- "'callback' needs to be a function. Got: " + callback
- );
- }
- // Bind:
- this._setting.connect('changed::' + key, function (source, key) {
- callback(source.get_value(key));
- });
- }
- /**
- * Get if check for working hibernation is enabled. The user might
- * choose to disable it if we happen to be wrong.
- *
- * @returns bool true if we need to check if hibernation works.
- */
- getHibernateWorksCheckEnabled() {
- return this._setting.get_boolean(this.KEY_HIBERNATE_WORKS_CHECK);
- }
- /**
- * Set if check for working hibernation is enabled. The user might
- * choose to disable it if we happen to be wrong.
- *
- * @returns bool true if we need to check if hibernation works.
- */
- setHibernateWorksCheckEnabled(enabled) {
- let key = this.KEY_HIBERNATE_WORKS_CHECK;
- if (this._setting.is_writable(key)) {
- if (this._setting.set_boolean(key, enabled)) {
- Gio.Settings.sync();
- } else {
- throw this._errorSet(key);
- }
- } else {
- throw this._errorWritable(key);
- }
- }
- _errorWritable(key) {
- return "The key '" + key + "' is not writable.";
- }
- _errorSet(key) {
- return "Couldn't set the key '" + key + "'";
- }
- fillPreferencesWindow(window) {
- const page = new Adw.PreferencesPage({
- title: __('General'),
- icon_name: 'dialog-information-symbolic',
- });
- window.add(page);
-
- const modes_group = new Adw.PreferencesGroup({
- title: __('Modes'),
- description: __('Which buttons should be enabled'),
- });
- page.add(modes_group);
-
- const suspend_row = new Adw.SwitchRow({
- title: __('Suspend'),
- subtitle: __('Not implemented yet'),
- });
- modes_group.add(suspend_row);
- const hibernate_row = new Adw.SwitchRow({
- title: __('Hibernate'),
- });
- modes_group.add(hibernate_row);
- const hybrid_row = new Adw.SwitchRow({
- title: __('Hybrid sleep'),
- });
- modes_group.add(hybrid_row);
- const suspend_then_hibernate_row = new Adw.SwitchRow({
- title: __('Suspend then hibernate'),
- });
- modes_group.add(suspend_then_hibernate_row);
- const restart_row = new Adw.SwitchRow({
- title: __('Restart...'),
- subtitle: __('Not implemented yet'),
- });
- modes_group.add(restart_row);
- const shutdown_row = new Adw.SwitchRow({
- title: __('Shutdown...'),
- subtitle: __('Not implemented yet'),
- });
- modes_group.add(shutdown_row);
-
- const dialog_group = new Adw.PreferencesGroup({
- title: __('Dialogs'),
- description: __('Which dialogs should be enabled'),
- });
- page.add(dialog_group);
-
- const hibernate_dialog_row = new Adw.SwitchRow({
- title: __('Hibernate'),
- });
- dialog_group.add(hibernate_dialog_row);
- const hybrid_dialog_row = new Adw.SwitchRow({
- title: __('Hybrid sleep'),
- subtitle: __('Not implemented yet'),
- });
- dialog_group.add(hybrid_dialog_row);
- const suspend_then_hibernate_dialog_row = new Adw.SwitchRow({
- title: __('Suspend then hibernate'),
- subtitle: __('Not implemented yet'),
- });
- dialog_group.add(suspend_then_hibernate_dialog_row);
-
- window._settings = this.getSettings();
- window._settings.bind('show-suspend', suspend_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-hibernate', hibernate_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-hybrid-sleep', hybrid_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-suspend-then-hibernate', suspend_then_hibernate_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-restart', restart_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-shutdown', shutdown_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-hibernate-dialog', hibernate_dialog_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-hybrid-sleep-dialog', hybrid_dialog_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- window._settings.bind('show-suspend-then-hibernate-dialog', suspend_then_hibernate_dialog_row, 'active',
- Gio.SettingsBindFlags.DEFAULT);
- }
-}