History

move alert and confirm to use offscreen ui

Brad Hefta-Gaub committed 10 years ago

Commit 2b5956a1 parent 26f00301 file · +12 −5Browse files

Showing the changes to interface/src/scripting/WindowScriptingInterface.cpp (1 of 1 file). Show all

Unified · Split

interface/src/scripting/WindowScriptingInterface.cpp+12−5
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include "DomainHandler.h"
2222 #include "MainWindow.h"
2323 #include "Menu.h"
24+#include "OffscreenUi.h"
2425 #include "ui/ModelsBrowser.h"
2526
2627 #include "WindowScriptingInterface.h"
@@ -153,12 +154,11 @@ QScriptValue WindowScriptingInterface::peekNonBlockingFormResult(QScriptValue fo · 126 unmodified lines
153154 return retVal;
154155 }
155156
156−
157157 /// Display an alert box
158158 /// \param const QString& message message to display
159159 /// \return QScriptValue::UndefinedValue
160160 QScriptValue WindowScriptingInterface::showAlert(const QString& message) {
161− QMessageBox::warning(qApp->getWindow(), "", message);
161+ OffscreenUi::warning("", message);
162162 return QScriptValue::UndefinedValue;
163163 }
164164
@@ -166,8 +166,16 @@ QScriptValue WindowScriptingInterface::showAlert(const QString& message) { · 1 unmodified line
166166 /// \param const QString& message message to display
167167 /// \return QScriptValue `true` if 'Yes' was clicked, `false` otherwise
168168 QScriptValue WindowScriptingInterface::showConfirm(const QString& message) {
169− QMessageBox::StandardButton response = QMessageBox::question(qApp->getWindow(), "", message);
170− return QScriptValue(response == QMessageBox::Yes);
169+ bool confirm = false;
170+ bool waiting = true;
171+ OffscreenUi::question("", message, [&](QMessageBox::StandardButton response){
172+ confirm = (response == QMessageBox::Yes);
173+ waiting = false;
174+ });
175+ while (waiting) {
176+ QCoreApplication::processEvents();
177+ }
178+ return QScriptValue(confirm);
171179 }
172180
173181 void WindowScriptingInterface::chooseDirectory() {
@@ -597,7 +605,6 @@ QScriptValue WindowScriptingInterface::showPrompt(const QString& message, const · 423 unmodified lines
597605 if (promptDialog.exec() == QDialog::Accepted) {
598606 return QScriptValue(promptDialog.textValue());
599607 }
600−
601608 return QScriptValue::NullValue;
602609 }
603610