Mercurial > hg > octave-nkf
changeset 19518:2b708273548d gui-release
button order in dialog for creating a non-existing file (bug #43537)
* file-editor.cc (request_open_file): use custom buttons named create and cancel
in dialog asking whether to create a new file or notice
* octave-qt-link.cc (do_prompt_new_edit_file): use buttons named create and
cancel and set appropriate roles in order to get a correct button ordering
depending on the platform
author | Torsten <ttl@justmail.de> |
---|---|
date | Sat, 08 Nov 2014 16:45:13 +0100 |
parents | 5fb4505b84ff |
children | 91cd85a75705 |
files | libgui/src/m-editor/file-editor.cc libgui/src/octave-qt-link.cc |
diffstat | 2 files changed, 19 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor.cc +++ b/libgui/src/m-editor/file-editor.cc @@ -404,27 +404,31 @@ else { // File does not exist, should it be crated? + bool create_file = true; QMessageBox *msgBox; - int answer; QSettings *settings = resource_manager::get_settings (); - if (settings->value ("editor/create_new_file", false).toBool ()) - { - answer = QMessageBox::Yes; - } - else + + if (!settings->value ("editor/create_new_file", false).toBool ()) { msgBox = new QMessageBox (QMessageBox::Question, tr ("Octave Editor"), tr ("File\n%1\ndoes not exist. " "Do you want to create it?").arg (openFileName), - QMessageBox::Yes - | QMessageBox::No, 0); + QMessageBox::NoButton,0); + QPushButton *create_button = + msgBox->addButton (tr ("Create"), QMessageBox::YesRole); + msgBox->addButton (tr ("Cancel"), QMessageBox::RejectRole); + msgBox->setDefaultButton (create_button); + msgBox->exec (); - msgBox->setAttribute (Qt::WA_DeleteOnClose); - answer = msgBox->exec (); + QAbstractButton *clicked_button = msgBox->clickedButton (); + if (clicked_button != create_button) + create_file = false; + + delete msgBox; } - if (answer == QMessageBox::Yes) + if (create_file) { // create the file and call the editor again QFile file (openFileName);
--- a/libgui/src/octave-qt-link.cc +++ b/libgui/src/octave-qt-link.cc @@ -93,21 +93,21 @@ QFileInfo file_info (QString::fromStdString (file)); QStringList btn; QStringList role; - role << "AcceptRole" << "AcceptRole"; - btn << tr ("Yes") << tr ("No"); + role << "YesRole" << "RejectRole"; + btn << tr ("Create") << tr ("Cancel"); uiwidget_creator.signal_dialog ( tr ("File\n%1\ndoes not exist. Do you want to create it?"). arg (QDir::currentPath () + QDir::separator () + QString::fromStdString (file)), - tr ("Octave Editor"), "quest", btn, tr ("Yes"), role ); + tr ("Octave Editor"), "quest", btn, tr ("Create"), role ); // Wait while the user is responding to message box. uiwidget_creator.wait (); // The GUI has sent a signal and the process has been awakened. QString answer = uiwidget_creator.get_dialog_button (); - return (answer == tr ("Yes")); + return (answer == tr ("Create")); } int