changeset 22807:b57fed33be6a

Further fix to questdlg button order on all platforms (bug #49644). * octave-qt-link.cc (do_question_dialog): Change button role to ResetRole which is left-aligned on all operating systems and window managers. * dialog.cc (MessageDialog::MessageDialog): Decode "ResetRole" string and set QMessageBox::ButtonRole variable to "ResetRole" if found.
author Rik <rik@octave.org>
date Mon, 21 Nov 2016 13:16:57 -0800
parents 933b074f600e
children 86bb7c37a1b9
files libgui/src/dialog.cc libgui/src/octave-qt-link.cc
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/dialog.cc	Sun Nov 20 21:42:27 2016 -0800
+++ b/libgui/src/dialog.cc	Mon Nov 21 13:16:57 2016 -0800
@@ -163,7 +163,9 @@
           // QMessageBox::ButtonRole can't be made to pass through a signal.
           QString srole = role.at (i);
           QMessageBox::ButtonRole erole = QMessageBox::InvalidRole;
-          if (srole == "YesRole")
+          if (srole == "ResetRole")
+            erole = QMessageBox::ResetRole;
+          else if (srole == "YesRole")
             erole = QMessageBox::YesRole;
           else if (srole == "NoRole")
             erole = QMessageBox::NoRole;
--- a/libgui/src/octave-qt-link.cc	Sun Nov 20 21:42:27 2016 -0800
+++ b/libgui/src/octave-qt-link.cc	Mon Nov 21 13:16:57 2016 -0800
@@ -192,7 +192,8 @@
 {
   QStringList btn;
   QStringList role;
-  role << "AcceptRole" << "AcceptRole" << "AcceptRole";
+  // Must use ResetRole which is left-aligned for all OS and WM.
+  role << "ResetRole" << "ResetRole" << "ResetRole";
   btn << QString::fromStdString (btn1);
   if (btn2 == "")
     role.removeAt (0);