diff options
Diffstat (limited to 'hibernate-status/confirmDialog.js')
-rw-r--r-- | hibernate-status/confirmDialog.js | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/hibernate-status/confirmDialog.js b/hibernate-status/confirmDialog.js deleted file mode 100644 index 62069e2..0000000 --- a/hibernate-status/confirmDialog.js +++ /dev/null @@ -1,193 +0,0 @@ -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Mainloop = imports.mainloop; - -const LoginManager = imports.misc.loginManager; -const Main = imports.ui.main; -const StatusSystem = imports.ui.status.system; -const PopupMenu = imports.ui.popupMenu; -const ModalDialog = imports.ui.modalDialog; -const CheckBox = imports.ui.checkBox.CheckBox; -const St = imports.gi.St; -const Clutter = imports.gi.Clutter; -const ExtensionUtils = imports.misc.extensionUtils; - -// Use __ () and N__() for the extension gettext domain, and reuse -// the shell domain with the default _() and N_() -const Gettext = imports.gettext.domain('hibernate-status-button'); -const __ = Gettext.gettext; -const N__ = function(e) { return e }; - -ExtensionUtils.initTranslations('hibernate-status-button'); - -var HibernateDialogContent = { - subject: C_("title", __("Hibernate")), - description: __("Do you really want to hibernate the system?"), - confirmButtons: [{ - signal: 'Cancel', - label: C_("button", __("Cancel")), - key: Clutter.Escape - }, - { - signal: 'ConfirmedHibernate', - label: C_("button", __("Hibernate")), - default: true - }], - iconName: 'document-save-symbolic', - iconStyleClass: 'end-session-dialog-shutdown-icon', -}; - -var SystemdMissingDialogContent = { - subject: C_("title", __("Hibernate button: Systemd Missing")), - description: __("Systemd seems to be missing and is required."), - confirmButtons: [{ - signal: 'Cancel', - label: C_("button", __("Cancel")), - key: Clutter.Escape - }, - { - signal: 'DisableExtension', - label: C_("button", __("Disable Extension")), - default: true - }], - iconName: 'document-save-symbolic', - iconStyleClass: 'end-session-dialog-shutdown-icon', -}; - - -var HibernateFailedDialogContent = { - subject: C_("title", __("Hibernate button: Hibernate failed")), - description: __("Looks like hibernation failed.\n" + - "On some linux distributions hibernation is disabled\n" + - "because not all hardware supports it well;\n" + - "please check your distribution documentation\n" + - "on how to enable it."), - checkBox: __("You are wrong, don't check this anymore!"), - confirmButtons: [{ - signal: 'Cancel', - label: C_("button", __("Cancel")), - key: Clutter.Escape - }, - { - signal: 'DisableExtension', - label: C_("button", __("Disable Extension")), - default: true - }], - iconName: 'document-save-symbolic', - iconStyleClass: 'end-session-dialog-shutdown-icon', -}; - -const _DIALOG_ICON_SIZE = 32; - -function _setLabelText(label, text) { - if (text) { - label.set_text(text); - label.show(); - } else { - label.set_text(''); - label.hide(); - } -} - -var ConfirmDialog = GObject.registerClass({ - Signals: { 'ConfirmedHibernate': { param_types: [ GObject.TYPE_BOOLEAN ] }, - 'DisableExtension': { param_types: [ GObject.TYPE_BOOLEAN ] }, - 'Cancel': { param_types: [ GObject.TYPE_BOOLEAN ] } } -}, -class ConfirmDialog extends ModalDialog.ModalDialog { - _init(dialog) { - super._init({ - styleClass: 'end-session-dialog', - destroyOnClose: true - }); - - let mainContentLayout = new St.BoxLayout({ - vertical: false, - x_expand: true , - y_expand: false - }); - this.contentLayout.add(mainContentLayout); - - this._iconBin = new St.Bin({ - x_expand: true, - y_expand: false, - x_align: St.Align.END, - y_align: St.Align.START - }); - mainContentLayout.add(this._iconBin); - - let messageLayout = new St.BoxLayout({ - vertical: true, - y_align: St.Align.START - }); - mainContentLayout.add(messageLayout); - - this._subjectLabel = new St.Label({ - style_class: 'end-session-dialog-subject', - y_expand: false, - y_align: St.Align.START - }); - - messageLayout.add(this._subjectLabel); - - this._descriptionLabel = new St.Label({ - style_class: 'end-session-dialog-description', - y_expand: true, - y_align: St.Align.START - }); - - messageLayout.add(this._descriptionLabel); - - // fill dialog - - _setLabelText(this._descriptionLabel, dialog.description); - _setLabelText(this._subjectLabel, dialog.subject); - - if (dialog.iconName) { - this._iconBin.child = new St.Icon({ - icon_name: dialog.iconName, - icon_size: _DIALOG_ICON_SIZE, - style_class: dialog.iconStyleClass - }); - } - - if (dialog.checkBox) { - this._checkBox = new CheckBox(dialog.checkBox); - mainContentLayout.add(this._checkBox.actor); - } - - let buttons = []; - for (let i = 0; i < dialog.confirmButtons.length; i++) { - let signal = dialog.confirmButtons[i].signal; - let label = dialog.confirmButtons[i].label; - let keys = dialog.confirmButtons[i].key; - buttons.push({ - action: () => { - this.close(); - let signalId = this.connect('closed', - () => { - this.disconnect(signalId); - this._confirm(signal); - }); - }, - label: label, - key: keys - }); - }; - - this.setButtons(buttons); - - } - - _confirm(signal) { - var checked; - if (this._checkBox) - checked = this._checkBox.actor.get_checked() - this.emit(signal, checked); - } - - cancel() { - this.close(); - } -}); |