diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2013-06-07 01:10:36 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2013-06-07 01:10:36 +0200 |
commit | 8767b92a1027283562d33de783f9601f66f3d32f (patch) | |
tree | aee519f5bbae9fe0c4b8fe6ff37183dd28ba8bb4 | |
parent | Move from about: to rekonq: protocol for our special links (diff) | |
download | rekonq-8767b92a1027283562d33de783f9601f66f3d32f.tar.xz |
Fix behavior on unloaded sites
- show url
- reload with f5
BUG:319924
BUG:312928
-rw-r--r-- | src/urlbar/urlbar.cpp | 6 | ||||
-rw-r--r-- | src/webtab/webview.cpp | 14 | ||||
-rw-r--r-- | src/webtab/webview.h | 13 |
3 files changed, 28 insertions, 5 deletions
diff --git a/src/urlbar/urlbar.cpp b/src/urlbar/urlbar.cpp index 0c582c42..e12c5842 100644 --- a/src/urlbar/urlbar.cpp +++ b/src/urlbar/urlbar.cpp @@ -179,6 +179,10 @@ void UrlBar::setQUrl(const QUrl& url) if (url.scheme() == QL1S("rekonq")) return; + // we don't set empty url + if (url.isEmpty()) + return; + clearFocus(); // Workaround for KLineEdit bug: incorrectly displaying @@ -187,6 +191,7 @@ void UrlBar::setQUrl(const QUrl& url) const QString humanReadableUrl = QString::fromUtf8( QByteArray::fromPercentEncoding(urlTextData).constData() ); + // End workaround setText(humanReadableUrl); @@ -204,6 +209,7 @@ void UrlBar::loadRequestedUrl(const KUrl& url, Rekonq::OpenType type) const QString humanReadableUrl = QString::fromUtf8( QByteArray::fromPercentEncoding(urlTextData).constData() ); + // End workaround setText(humanReadableUrl); diff --git a/src/webtab/webview.cpp b/src/webtab/webview.cpp index 5a4a597b..e9d48f29 100644 --- a/src/webtab/webview.cpp +++ b/src/webtab/webview.cpp @@ -151,6 +151,20 @@ void WebView::load(const QNetworkRequest &req, QNetworkAccessManager::Operation } +void WebView::reload() +{ + // This is needed to reload empty url, eg when network is down and you + // tried to load an URL. + if (url().isEmpty()) + { + load(page()->loadingUrl()); + return; + } + + KWebView::reload(); +} + + void WebView::loadStarted() { hideAccessKeys(); diff --git a/src/webtab/webview.h b/src/webtab/webview.h index 8f4eb029..bbcd10fd 100644 --- a/src/webtab/webview.h +++ b/src/webtab/webview.h @@ -76,6 +76,9 @@ public: QNetworkAccessManager::Operation op = QNetworkAccessManager::GetOperation, const QByteArray & body = QByteArray()); +public Q_SLOTS: + void reload(); + protected: bool popupSpellMenu(QContextMenuEvent *event); void contextMenuEvent(QContextMenuEvent *event); @@ -130,6 +133,11 @@ private Q_SLOTS: void guessHoveredLink(QPoint); +private: + bool checkForAccessKey(QKeyEvent *event); + void showAccessKeys(); + void makeAccessKeyLabel(const QChar &accessKey, const QWebElement &element); + Q_SIGNALS: void loadUrl(const KUrl &, const Rekonq::OpenType &); @@ -138,11 +146,6 @@ Q_SIGNALS: void openNextInHistory(); private: - bool checkForAccessKey(QKeyEvent *event); - void showAccessKeys(); - void makeAccessKeyLabel(const QChar &accessKey, const QWebElement &element); - -private: QPoint m_clickPos; QWebHitTestResult m_contextMenuHitResult; |