summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/demobrowser
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-08-04 07:29:26 +0200
committerLiang Qi <liang.qi@qt.io>2016-08-05 11:35:18 +0200
commit179463fd2b17343dae291ab6f7617311bcfbdb75 (patch)
treee32e298ca5d6e2b6e206dab7d42538a6ce68eba1 /examples/webenginewidgets/demobrowser
parentc8851dd1a77e730bc6a3c17b7c75b1a4c6b41f53 (diff)
parent336e706cbc839dd7b7c1d461b6b015600b5f009e (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Also blacklist tst_QWebEnginePage::comboBoxPopupPositionAfterChildMove() and comboBoxPopupPositionAfterMove(). Conflicts: .qmake.conf src/3rdparty src/core/render_widget_host_view_qt.cpp src/core/resources/resources.gyp src/webengine/doc/src/qtwebengine-platform-notes.qdoc src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h tests/auto/widgets/qwebenginepage/BLACKLIST tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp tools/qmake/mkspecs/features/functions.prf Task-number: QTBUG-55158 Change-Id: I1d73ac9b3ca5293ad3c7e3a56f4c395da930e6f4
Diffstat (limited to 'examples/webenginewidgets/demobrowser')
-rw-r--r--examples/webenginewidgets/demobrowser/browsermainwindow.cpp22
-rw-r--r--examples/webenginewidgets/demobrowser/history.cpp10
-rw-r--r--examples/webenginewidgets/demobrowser/history.h2
-rw-r--r--examples/webenginewidgets/demobrowser/main.cpp1
4 files changed, 29 insertions, 6 deletions
diff --git a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
index b93c538d8..246ab2c0c 100644
--- a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
+++ b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
@@ -422,13 +422,31 @@ void BrowserMainWindow::setupMenu()
m_historyBack = new QAction(tr("Back"), this);
m_tabWidget->addWebAction(m_historyBack, QWebEnginePage::Back);
- m_historyBack->setShortcuts(QKeySequence::Back);
+ QList<QKeySequence> backShortcuts = QKeySequence::keyBindings(QKeySequence::Back);
+ for (auto it = backShortcuts.begin(); it != backShortcuts.end();) {
+ // Chromium already handles navigate on backspace when appropriate.
+ if ((*it)[0] == Qt::Key_Backspace)
+ it = backShortcuts.erase(it);
+ else
+ ++it;
+ }
+ // For some reason Qt doesn't bind the dedicated Back key to Back.
+ backShortcuts.append(QKeySequence(Qt::Key_Back));
+ m_historyBack->setShortcuts(backShortcuts);
m_historyBack->setIconVisibleInMenu(false);
historyActions.append(m_historyBack);
m_historyForward = new QAction(tr("Forward"), this);
m_tabWidget->addWebAction(m_historyForward, QWebEnginePage::Forward);
- m_historyForward->setShortcuts(QKeySequence::Forward);
+ QList<QKeySequence> fwdShortcuts = QKeySequence::keyBindings(QKeySequence::Forward);
+ for (auto it = fwdShortcuts.begin(); it != fwdShortcuts.end();) {
+ if (((*it)[0] & Qt::Key_unknown) == Qt::Key_Backspace)
+ it = fwdShortcuts.erase(it);
+ else
+ ++it;
+ }
+ fwdShortcuts.append(QKeySequence(Qt::Key_Forward));
+ m_historyForward->setShortcuts(fwdShortcuts);
m_historyForward->setIconVisibleInMenu(false);
historyActions.append(m_historyForward);
diff --git a/examples/webenginewidgets/demobrowser/history.cpp b/examples/webenginewidgets/demobrowser/history.cpp
index 188490aca..bce65b917 100644
--- a/examples/webenginewidgets/demobrowser/history.cpp
+++ b/examples/webenginewidgets/demobrowser/history.cpp
@@ -137,7 +137,7 @@ void HistoryManager::setHistory(const QList<HistoryItem> &history, bool loadedAn
if (!loadedAndSorted)
qSort(m_history.begin(), m_history.end());
- checkForExpired();
+ checkForExpired(loadedAndSorted);
if (loadedAndSorted) {
m_lastSavedUrl = m_history.value(0).url;
@@ -163,7 +163,7 @@ HistoryTreeModel *HistoryManager::historyTreeModel() const
return m_historyTreeModel;
}
-void HistoryManager::checkForExpired()
+void HistoryManager::checkForExpired(bool removeEntriesDirectly)
{
if (m_historyLimit < 0 || m_history.isEmpty())
return;
@@ -185,7 +185,11 @@ void HistoryManager::checkForExpired()
const HistoryItem& item = m_history.last();
// remove from saved file also
m_lastSavedUrl = QString();
- emit entryRemoved(item);
+
+ if (removeEntriesDirectly)
+ m_history.takeLast();
+ else
+ emit entryRemoved(item);
}
if (nextTimeout > 0)
diff --git a/examples/webenginewidgets/demobrowser/history.h b/examples/webenginewidgets/demobrowser/history.h
index 6d7da5e6d..2a6dce9e1 100644
--- a/examples/webenginewidgets/demobrowser/history.h
+++ b/examples/webenginewidgets/demobrowser/history.h
@@ -126,7 +126,7 @@ public slots:
private slots:
void save();
- void checkForExpired();
+ void checkForExpired(bool removeExpiredEntriesDirectly = false);
protected:
void addHistoryItem(const HistoryItem &item);
diff --git a/examples/webenginewidgets/demobrowser/main.cpp b/examples/webenginewidgets/demobrowser/main.cpp
index 4427a446d..41cae306a 100644
--- a/examples/webenginewidgets/demobrowser/main.cpp
+++ b/examples/webenginewidgets/demobrowser/main.cpp
@@ -54,6 +54,7 @@
int main(int argc, char **argv)
{
+ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
Q_INIT_RESOURCE(data);
BrowserApplication application(argc, argv);
if (!application.isTheOnlyBrowser())