summaryrefslogtreecommitdiffstats
path: root/src/designer/src/designer/qdesigner_workbench.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-05-19 09:04:51 +0200
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-05-19 09:04:51 +0200
commitcb6300f56754b92a972be39be08da019ee6e4b34 (patch)
tree8d51b952b3fcafcfc45f4826f99e5ca707700bfb /src/designer/src/designer/qdesigner_workbench.cpp
parent398777900b0ef0e16a346167110ea8326e91d876 (diff)
Designer: Refactor save/load.
No longer pop up message boxes in QDesignerFormWindowInterface:: contents(), introduce QDesignerFormWindowInterface::checkContents() instead that checks for orphaned top level spacers (use in Designer application). Give QDesignerFormWindowInterface::setContents() a bool return and pass an optional error string back for IDE integrations. Remove all Qt3 form conversion logic from the loading logic (since there is no more uic3); do not do any additional checks there since everything has been moved to QAbstractFormBuilder::load() (including language). Thus, QDesignerFormWindowInterface::setContents() no longer pops up message boxes, either. Dependent on: qtbase/449b8a93170ecc19f2f438b160d0bc4122999401
Diffstat (limited to 'src/designer/src/designer/qdesigner_workbench.cpp')
-rw-r--r--src/designer/src/designer/qdesigner_workbench.cpp34
1 files changed, 12 insertions, 22 deletions
diff --git a/src/designer/src/designer/qdesigner_workbench.cpp b/src/designer/src/designer/qdesigner_workbench.cpp
index d6c925dc6..0d646060a 100644
--- a/src/designer/src/designer/qdesigner_workbench.cpp
+++ b/src/designer/src/designer/qdesigner_workbench.cpp
@@ -894,7 +894,6 @@ void QDesignerWorkbench::resizeForm(QDesignerFormWindow *fw, const QWidget *main
QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
bool detectLineTermiantorMode,
- bool *uic3Converted,
QString *errorMessage)
{
QFile file(fileName);
@@ -916,11 +915,10 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
}
if (!file.open(QFile::ReadOnly|QFile::Text)) {
- *errorMessage = tr("The file <b>%1</b> could not be opened.").arg(file.fileName());
+ *errorMessage = tr("The file <b>%1</b> could not be opened: %1").arg(file.fileName(), file.errorString());
return 0;
}
-
// Create a form
QDesignerFormWindowManagerInterface *formWindowManager = m_core->formWindowManager();
@@ -932,7 +930,13 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
// Temporarily set the file name. It is needed when converting a UIC 3 file.
// In this case, the file name will we be cleared on return to force a save box.
editor->setFileName(fileName);
- editor->setContents(&file);
+
+ if (!editor->setContents(&file, errorMessage)) {
+ removeFormWindow(formWindow);
+ formWindowManager->removeFormWindow(editor);
+ m_core->metaDataBase()->remove(editor);
+ return 0;
+ }
if (qdesigner_internal::FormWindowBase *fwb = qobject_cast<qdesigner_internal::FormWindowBase *>(editor))
fwb->setLineTerminatorMode(mode);
@@ -958,14 +962,6 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
break;
}
- if (!editor->mainContainer()) {
- removeFormWindow(formWindow);
- formWindowManager->removeFormWindow(editor);
- m_core->metaDataBase()->remove(editor);
- *errorMessage = tr("The file <b>%1</b> is not a valid Designer UI file.").arg(file.fileName());
- return 0;
- }
- *uic3Converted = editor->fileName().isEmpty();
// Did user specify another (missing) resource path -> set dirty.
const bool dirty = editor->property("_q_resourcepathchanged").toBool();
editor->setDirty(dirty);
@@ -977,13 +973,10 @@ QDesignerFormWindow * QDesignerWorkbench::loadForm(const QString &fileName,
QDesignerFormWindow * QDesignerWorkbench::openForm(const QString &fileName, QString *errorMessage)
{
- bool uic3Converted;
- QDesignerFormWindow *rc =loadForm(fileName, true, &uic3Converted, errorMessage);
+ QDesignerFormWindow *rc = loadForm(fileName, true, errorMessage);
if (!rc)
return 0;
-
- if (!uic3Converted)
- rc->editor()->setFileName(fileName);
+ rc->editor()->setFileName(fileName);
rc->firstShow();
return rc;
}
@@ -992,14 +985,11 @@ QDesignerFormWindow * QDesignerWorkbench::openTemplate(const QString &templateFi
const QString &editorFileName,
QString *errorMessage)
{
- bool uic3Converted;
- QDesignerFormWindow *rc =loadForm(templateFileName, false, &uic3Converted, errorMessage);
+ QDesignerFormWindow *rc = loadForm(templateFileName, false, errorMessage);
if (!rc)
return 0;
- if (!uic3Converted)
- rc->editor()->setFileName(editorFileName);
-
+ rc->editor()->setFileName(editorFileName);
rc->firstShow();
return rc;
}