summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2014-12-16 09:09:43 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2014-12-16 11:53:45 +0100
commitf8e26598e9d4071df74c1c5d9575e8e7e259009b (patch)
treeb642b093308a665769d9a35a322bdd98391323ce
parentd033d6782dcece562132af55867a265623cd0676 (diff)
Designer: Use QWidget::save/restoreGeometry() to position resource dialogs.
Using QRect as was done before might cause the dialogs to be restored out of screen if a screen is removed from a multimonitor setup. Task-number: QTBUG-43374 Change-Id: I48bb6e747da8042a8433d26e5e3bed267126ed3b Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
-rw-r--r--src/designer/src/lib/shared/qtresourceeditordialog.cpp7
-rw-r--r--src/designer/src/lib/shared/qtresourceview.cpp7
2 files changed, 8 insertions, 6 deletions
diff --git a/src/designer/src/lib/shared/qtresourceeditordialog.cpp b/src/designer/src/lib/shared/qtresourceeditordialog.cpp
index 6d44f3f33..a6d9a9866 100644
--- a/src/designer/src/lib/shared/qtresourceeditordialog.cpp
+++ b/src/designer/src/lib/shared/qtresourceeditordialog.cpp
@@ -2063,8 +2063,9 @@ QtResourceEditorDialog::QtResourceEditorDialog(QDesignerFormEditorInterface *cor
settings->beginGroup(QLatin1String(QrcDialogC));
d_ptr->m_ui.splitter->restoreState(settings->value(QLatin1String(SplitterPosition)).toByteArray());
- if (settings->contains(QLatin1String(Geometry)))
- setGeometry(settings->value(QLatin1String(Geometry)).toRect());
+ const QVariant geometry = settings->value(QLatin1String(Geometry));
+ if (geometry.type() == QVariant::ByteArray) // Used to be a QRect up until 5.4.0, QTBUG-43374
+ restoreGeometry(geometry.toByteArray());
settings->endGroup();
}
@@ -2075,7 +2076,7 @@ QtResourceEditorDialog::~QtResourceEditorDialog()
settings->beginGroup(QLatin1String(QrcDialogC));
settings->setValue(QLatin1String(SplitterPosition), d_ptr->m_ui.splitter->saveState());
- settings->setValue(QLatin1String(Geometry), geometry());
+ settings->setValue(QLatin1String(Geometry), saveGeometry());
settings->endGroup();
}
diff --git a/src/designer/src/lib/shared/qtresourceview.cpp b/src/designer/src/lib/shared/qtresourceview.cpp
index 277371b76..4a7159a4e 100644
--- a/src/designer/src/lib/shared/qtresourceview.cpp
+++ b/src/designer/src/lib/shared/qtresourceview.cpp
@@ -870,8 +870,9 @@ QtResourceViewDialog::QtResourceViewDialog(QDesignerFormEditorInterface *core, Q
QDesignerSettingsInterface *settings = core->settingsManager();
settings->beginGroup(QLatin1String(ResourceViewDialogC));
- if (settings->contains(QLatin1String(Geometry)))
- setGeometry(settings->value(QLatin1String(Geometry)).toRect());
+ const QVariant geometry = settings->value(QLatin1String(Geometry));
+ if (geometry.type() == QVariant::ByteArray) // Used to be a QRect up until 5.4.0, QTBUG-43374.
+ restoreGeometry(geometry.toByteArray());
settings->endGroup();
}
@@ -881,7 +882,7 @@ QtResourceViewDialog::~QtResourceViewDialog()
QDesignerSettingsInterface *settings = d_ptr->m_core->settingsManager();
settings->beginGroup(QLatin1String(ResourceViewDialogC));
- settings->setValue(QLatin1String(Geometry), geometry());
+ settings->setValue(QLatin1String(Geometry), saveGeometry());
settings->endGroup();
}