Commit d02cc69b authored by Friedemann Kleint's avatar Friedemann Kleint
Browse files

Adapt web browser example to new web site.


- Change URL to qt.io.
- Save version number to settings and overwrite saved bookmarks
  unless version exists (enabling further updates depending on version).
- Save geometry and make initial geometry large to accommodate qt.io
  and High DPI screens.

Task-number: QTBUG-41798
Task-number: QTBUG-38858
Change-Id: I4da1d6e66135ff2867b6c678f5742767dbcb59fd
Reviewed-by: default avatarJoerg Bornemann <joerg.bornemann@digia.com>
Showing with 18 additions and 4 deletions
...@@ -45,6 +45,8 @@ ...@@ -45,6 +45,8 @@
#include <QLabel> #include <QLabel>
#include <QStatusBar> #include <QStatusBar>
#include <QMainWindow> #include <QMainWindow>
#include <QDesktopWidget>
#include <QVersionNumber>
#include <QAbstractEventDispatcher> #include <QAbstractEventDispatcher>
#include <QSignalMapper> #include <QSignalMapper>
#include <QVariant> #include <QVariant>
...@@ -57,8 +59,10 @@ ...@@ -57,8 +59,10 @@
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#endif #endif
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 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 { struct Location {
Location(const QString &t = QString(), const QString &a = QString()) : title(t), address(a) {} Location(const QString &t = QString(), const QString &a = QString()) : title(t), address(a) {}
...@@ -72,7 +76,7 @@ Q_DECLARE_METATYPE(Location) ...@@ -72,7 +76,7 @@ Q_DECLARE_METATYPE(Location)
static QList<Location> defaultBookmarks() static QList<Location> defaultBookmarks()
{ {
QList<Location> result; 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("Digia"), QStringLiteral("http://qt.digia.com/")));
result.append(Location(QStringLiteral("IWebBrowser2 MSDN Documentation"), QLatin1String(iWebBrowser2DocumentationUrl))); result.append(Location(QStringLiteral("IWebBrowser2 MSDN Documentation"), QLatin1String(iWebBrowser2DocumentationUrl)));
return result; return result;
...@@ -186,8 +190,16 @@ MainWindow::MainWindow() ...@@ -186,8 +190,16 @@ MainWindow::MainWindow()
QSettings settings(QSettings::IniFormat, QSettings::UserScope, QSettings settings(QSettings::IniFormat, QSettings::UserScope,
QCoreApplication::organizationName(), QCoreApplication::applicationName()); 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); QList<Location> bookmarks = readBookMarks(settings);
if (bookmarks.isEmpty()) if (bookmarks.isEmpty() || restoredVersion.isNull())
bookmarks = defaultBookmarks(); bookmarks = defaultBookmarks();
foreach (const Location &bookmark, bookmarks) foreach (const Location &bookmark, bookmarks)
addBookmark(bookmark); addBookmark(bookmark);
...@@ -200,6 +212,8 @@ MainWindow::~MainWindow() ...@@ -200,6 +212,8 @@ MainWindow::~MainWindow()
QSettings settings(QSettings::IniFormat, QSettings::UserScope, QSettings settings(QSettings::IniFormat, QSettings::UserScope,
QCoreApplication::organizationName(), QCoreApplication::applicationName()); QCoreApplication::organizationName(), QCoreApplication::applicationName());
saveBookMarks(bookmarks(), settings); saveBookMarks(bookmarks(), settings);
settings.setValue(QLatin1String(versionKey), QLatin1String(QT_VERSION_STR));
settings.setValue(QLatin1String(geometryKey), saveGeometry());
} }
QAction *MainWindow::addLocation(const Location &location, QMenu *menu) QAction *MainWindow::addLocation(const Location &location, QMenu *menu)
...@@ -334,7 +348,7 @@ int main(int argc, char ** argv) ...@@ -334,7 +348,7 @@ int main(int argc, char ** argv)
MainWindow w; MainWindow w;
const QStringList arguments = QCoreApplication::arguments(); const QStringList arguments = QCoreApplication::arguments();
const QString url = arguments.size() > 1 ? const QString url = arguments.size() > 1 ?
arguments.at(1) : QString::fromLatin1(qtProjectUrl); arguments.at(1) : QString::fromLatin1(qtUrl);
w.navigate(url); w.navigate(url);
#if defined(Q_OS_WINCE) #if defined(Q_OS_WINCE)
w.showMaximized(); w.showMaximized();
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment