From a6da8cb41e5e2a19f790770efb5c241d476ae7b7 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 | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index ead7eae78..faeefe276 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -439,25 +439,26 @@ 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: () => { + let button = this.addButton( + { action: () => { this.close(true); let signalId = this.connect('closed', () => { this.disconnect(signalId); this._confirm(signal); }); - }, - label: label }); + }, + label: label }); } - - this.setButtons(buttons); } close(skipSignal) { -- 2.21.0