diff options
Diffstat (limited to 'browser/browserview.cpp')
-rw-r--r-- | browser/browserview.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/browser/browserview.cpp b/browser/browserview.cpp index d8ad8e8..4ac905a 100644 --- a/browser/browserview.cpp +++ b/browser/browserview.cpp @@ -18,6 +18,7 @@ #include <QTemporaryFile> #include <QSemaphore> #include <QWebSettings> +#include <QWebHistory> #include "browserview.h" #include "cachemanager.h" @@ -142,6 +143,15 @@ void BrowserView::loadFinished(bool ok) "}, true);"); emit pageLoadFinished (ok); + + unsigned int changes = 0; + changes |= canGoBack() ? 0x1 : 0; + changes |= canGoForward() ? 0x2 : 0; + + if (changes) { + qDebug() << "Emitting signal onActionStateChanged"; + emit onActionStateChanged(changes); + } } void BrowserView::scroll (conn::brw::SCROLL_DIRECTION dir, conn::brw::SCROLL_TYPE type) @@ -330,3 +340,11 @@ void BrowserView::onSelectIndexes(QList<int> indexes) { m_webview.page()->mainFrame()->evaluateJavaScript(cmd); } } + +bool BrowserView::canGoBack() { + return m_webview.history()->canGoBack(); +} + +bool BrowserView::canGoForward() { + return m_webview.history()->canGoForward(); +} |