diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2009-05-06 02:03:33 +0200 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2009-05-06 02:03:33 +0200 | 
| commit | 40144387293896185e69e234a7c8444ef292aeef (patch) | |
| tree | c83d1cfb0e3144faf2f1c14ef25713abd7a5158e /src | |
| parent | Adding French translation. (diff) | |
| download | rekonq-40144387293896185e69e234a7c8444ef292aeef.tar.xz | |
Better AcceptNavigationRequest implementation..
Diffstat (limited to 'src')
| -rw-r--r-- | src/webview.cpp | 93 | 
1 files changed, 45 insertions, 48 deletions
| diff --git a/src/webview.cpp b/src/webview.cpp index 3162e755..ae867d42 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -82,56 +82,27 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r      switch (type)      { - -        // A navigation to another document using a method not listed above. -    case QWebPage::NavigationTypeOther: -        kDebug() << "NavigationTypeOther"; - -    // user clicked on a link or pressed return on a focused link. -    case QWebPage::NavigationTypeLinkClicked: - -        kDebug() << "NavigationTypeLinkClicked"; - -        if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton) -        { -            webView = Application::instance()->newWebView(); -            webView->setFocus(); -            webView->load(request); -            m_keyboardModifiers = Qt::NoModifier; -            m_pressedButtons = Qt::NoButton; -            return false; -        } - -        if (frame == mainFrame()) -        { -            m_loadingUrl = request.url(); -            emit loadingUrl(m_loadingUrl); -        } -        else -        { -            // if frame doesn't exists (perhaps) we are pointing to a blank target.. -            if (!frame) -            { -                webView = Application::instance()->newWebView(); -                webView->setFocus(); -                webView->load(request); -                return false; -            } -        } -        break; - -        // user activated a submit button for an HTML form. +    // user activated a submit button for an HTML form.      case QWebPage::NavigationTypeFormSubmitted:          kDebug() << "NavigationTypeFormSubmitted";          kDebug() << request.url();          break; -        // An HTML form was submitted a second time. +    // An HTML form was submitted a second time.      case QWebPage::NavigationTypeFormResubmitted:          kDebug() << "NavigationTypeFormResubmitted"; + + +    // A navigation to another document using a method not listed above. +    case QWebPage::NavigationTypeOther: +        kDebug() << "NavigationTypeOther"; + +    // user clicked on a link or pressed return on a focused link. +    case QWebPage::NavigationTypeLinkClicked: +        kDebug() << "NavigationTypeLinkClicked";          break; -        // Navigation to a previously shown document in the back or forward history is requested. +    // Navigation to a previously shown document in the back or forward history is requested.      case QWebPage::NavigationTypeBackOrForward:          kDebug() << "NavigationTypeBackOrForward";          break; @@ -155,7 +126,6 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r              return false;          }  #endif -          break;          // should be nothing.. @@ -164,13 +134,40 @@ bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &r          break;      } +    if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton) +    { +        webView = Application::instance()->newWebView(); +        webView->setFocus(); +        webView->load(request); +        m_keyboardModifiers = Qt::NoModifier; +        m_pressedButtons = Qt::NoButton; +        return false; +    } + +    if (frame == mainFrame()) +    { +        m_loadingUrl = request.url(); +        emit loadingUrl(m_loadingUrl); +    } +    else +    { +        // if frame doesn't exists (perhaps) we are pointing to a blank target.. +        if (!frame) +        { +            webView = Application::instance()->newWebView(); +            webView->setFocus(); +            webView->load(request); +            return false; +        } +    } +      return QWebPage::acceptNavigationRequest(frame, request, type);  }  QWebPage *WebPage::createWindow(QWebPage::WebWindowType type)  { -    kDebug() << "creating window as new tabs.. "; +    kDebug() << "creating window as new tab.. ";      // added to manage web modal dialogs      if (type == QWebPage::WebModalDialog) @@ -186,11 +183,11 @@ QWebPage *WebPage::createWindow(QWebPage::WebWindowType type)  QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QStringList ¶mNames, const QStringList ¶mValues)  { -    kWarning() << "creating PLUGIN for rekonq "; -    kWarning() << "classId = " << classId; -    kWarning() << "url = " << url; -    kWarning() << "Param Names = " << paramNames; -    kWarning() << "Param Values = " << paramValues; +    kDebug() << "creating PLUGIN for rekonq "; +    kDebug() << "classId = " << classId; +    kDebug() << "url = " << url; +    kDebug() << "Param Names = " << paramNames; +    kDebug() << "Param Values = " << paramValues;      QUiLoader loader;      return loader.createWidget(classId, view()); | 
