diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-01 09:53:18 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-02 05:39:21 +0000 |
commit | 07ff2fcf41a57987c7955d1369e782a987079fdf (patch) | |
tree | eeacfce1a9629ebce5cb28755789a0363d1cce7f /src | |
parent | 4a8aa7f62c0bdac5c3d745d7836fac357f2cb2ce (diff) |
Fix QSettings documentation
QMainWindow::saveGeometry()/restoreGeometry() should be used
to save and restore geometries instead of saving pos/size
since it also works in multiscreen settings.
Change-Id: I27cc5ec13e69266367f035796e208d214f84b043
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit c59fbf576d2995f1c4fb52c1b21cf7d29cdf1a50)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/doc/snippets/settings/settings.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/doc/snippets/settings/settings.cpp b/src/corelib/doc/snippets/settings/settings.cpp index 49312b9cfc..a3491d8c76 100644 --- a/src/corelib/doc/snippets/settings/settings.cpp +++ b/src/corelib/doc/snippets/settings/settings.cpp @@ -152,8 +152,7 @@ void MainWindow::writeSettings() QSettings settings("Moose Soft", "Clipper"); settings.beginGroup("MainWindow"); - settings.setValue("size", size()); - settings.setValue("pos", pos()); + settings.setValue("geometry", saveGeometry()); settings.endGroup(); } //! [16] @@ -164,8 +163,11 @@ void MainWindow::readSettings() QSettings settings("Moose Soft", "Clipper"); settings.beginGroup("MainWindow"); - resize(settings.value("size", QSize(400, 400)).toSize()); - move(settings.value("pos", QPoint(200, 200)).toPoint()); + const auto geometry = settings.value("geometry", QByteArray()).toByteArray(); + if (geometry.isEmpty()) + setGeometry(200, 200, 400, 400); + else + restoreGeometry(geometry) settings.endGroup(); } //! [17] |