From 5f81215e9771b14be1562d82f54db3fdb92521e3 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 15 Aug 2018 14:26:19 +0200 Subject: [PATCH 1/2] endSessionDialog: Immediately add buttons to the dialog Immediately add buttons to the dialog instead of first building an array of button-info structs. This is a preparation patch for adding support changing the "Reboot" button into a "Boot Options" button when Alt is pressed. --- js/ui/endSessionDialog.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index 0b475b6f9..301d8c9bf 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -440,25 +440,27 @@ class EndSessionDialog extends ModalDialog.ModalDialog { } _updateButtons() { - let dialogContent = DialogContent[this._type]; - let buttons = [{ action: this.cancel.bind(this), + this.clearButtons(); + + this.addButton({ action: this.cancel.bind(this), label: _("Cancel"), - key: Clutter.Escape }]; + key: Clutter.Escape }); + let dialogContent = DialogContent[this._type]; for (let i = 0; i < dialogContent.confirmButtons.length; i++) { let signal = dialogContent.confirmButtons[i].signal; let label = dialogContent.confirmButtons[i].label; - buttons.push({ action: () => { - this.close(true); - let signalId = this.connect('closed', () => { - this.disconnect(signalId); - this._confirm(signal); - }); - }, - label: label }); + let button = this.addButton({ + action: () => { + this.close(true); + let signalId = this.connect('closed', () => { + this.disconnect(signalId); + this._confirm(signal); + }); + }, + label + }); } - - this.setButtons(buttons); } close(skipSignal) { -- 2.21.0