Don't show msg boxes while saving ui forms

Currently creator assumes that "save" is synchronous
and doesn't enter internal event loop.

Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Task-number: QTCREATORBUG-3678
This commit is contained in:
Jarek Kobus
2011-02-04 09:34:10 +01:00
parent a4fa2911f0
commit 8c65637407
7 changed files with 265 additions and 5 deletions

View File

@@ -41,6 +41,7 @@
#include <QtDesigner/QDesignerFormWindowInterface>
#include <QtDesigner/QDesignerFormWindowManagerInterface>
#include <QtDesigner/QDesignerFormEditorInterface>
#include "qt_private/qsimpleresource_p.h"
#include <QtGui/QMessageBox>
#include <QtGui/QMainWindow>
@@ -80,7 +81,10 @@ bool FormWindowFile::save(const QString &name /* = QString() */)
m_formWindow->setFileName(formName);
QString errorString;
if (!writeFile(actualName, errorString)) {
const bool warningsEnabled = qdesigner_internal::QSimpleResource::setWarningsEnabled(false);
const bool writeOK = writeFile(actualName, errorString);
qdesigner_internal::QSimpleResource::setWarningsEnabled(warningsEnabled);
if (!writeOK) {
QMessageBox::critical(0, tr("Error saving %1").arg(formName), errorString);
m_formWindow->setFileName(oldFormName);
return false;