diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-10-09 17:53:45 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-10-09 17:53:45 +0200 |
commit | ee6706bff38ba778c16865b6fbab5a8d7c73c32b (patch) | |
tree | 5e30f2e45fd41238d7c279dd18755f9f168c4420 /examples | |
parent | c4a3fa8e61d82b1755ede8f9040632511489d4ad (diff) | |
parent | 21b122f10628b22d71ced28146277258552736e2 (diff) |
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I1961b2fa015b4fc50b13379d357cb9be4af21631
Diffstat (limited to 'examples')
-rw-r--r-- | examples/activeqt/webbrowser/main.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/examples/activeqt/webbrowser/main.cpp b/examples/activeqt/webbrowser/main.cpp index 2f2992f..390bf6f 100644 --- a/examples/activeqt/webbrowser/main.cpp +++ b/examples/activeqt/webbrowser/main.cpp @@ -45,6 +45,8 @@ #include <QLabel> #include <QStatusBar> #include <QMainWindow> +#include <QDesktopWidget> +#include <QVersionNumber> #include <QAbstractEventDispatcher> #include <QSignalMapper> #include <QVariant> @@ -52,8 +54,10 @@ #include "ui_mainwindow.h" -static const char qtProjectUrl[] = "qt-project.org"; +static const char qtUrl[] = "qt.io"; static const char iWebBrowser2DocumentationUrl[] = "http://msdn.microsoft.com/en-us/library/aa752127%28v=vs.85%29.aspx"; +static const char versionKey[] = "Version"; +static const char geometryKey[] = "Geometry"; struct Location { Location(const QString &t = QString(), const QString &a = QString()) : title(t), address(a) {} @@ -67,7 +71,7 @@ Q_DECLARE_METATYPE(Location) static QList<Location> defaultBookmarks() { QList<Location> result; - result.append(Location(QStringLiteral("Qt Project"), QLatin1String(qtProjectUrl))); + result.append(Location(QStringLiteral("Qt"), QLatin1String(qtUrl))); result.append(Location(QStringLiteral("Digia"), QStringLiteral("http://qt.digia.com/"))); result.append(Location(QStringLiteral("IWebBrowser2 MSDN Documentation"), QLatin1String(iWebBrowser2DocumentationUrl))); return result; @@ -181,8 +185,16 @@ MainWindow::MainWindow() QSettings settings(QSettings::IniFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName()); + const QByteArray restoredGeometry = settings.value(QLatin1String(geometryKey)).toByteArray(); + if (restoredGeometry.isEmpty() || !restoreGeometry(restoredGeometry)) { + const QRect availableGeometry = QApplication::desktop()->availableGeometry(this); + const QSize size = (availableGeometry.size() * 4) / 5; + resize(size); + move(availableGeometry.center() - QPoint(size.width(), size.height()) / 2); + } + QVersionNumber restoredVersion = QVersionNumber::fromString(settings.value(QLatin1String(versionKey)).toString()); QList<Location> bookmarks = readBookMarks(settings); - if (bookmarks.isEmpty()) + if (bookmarks.isEmpty() || restoredVersion.isNull()) bookmarks = defaultBookmarks(); foreach (const Location &bookmark, bookmarks) addBookmark(bookmark); @@ -195,6 +207,8 @@ MainWindow::~MainWindow() QSettings settings(QSettings::IniFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName()); saveBookMarks(bookmarks(), settings); + settings.setValue(QLatin1String(versionKey), QLatin1String(QT_VERSION_STR)); + settings.setValue(QLatin1String(geometryKey), saveGeometry()); } QAction *MainWindow::addLocation(const Location &location, QMenu *menu) @@ -329,7 +343,7 @@ int main(int argc, char ** argv) MainWindow w; const QStringList arguments = QCoreApplication::arguments(); const QString url = arguments.size() > 1 ? - arguments.at(1) : QString::fromLatin1(qtProjectUrl); + arguments.at(1) : QString::fromLatin1(qtUrl); w.navigate(url); w.show(); return a.exec(); |