diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/webview.cpp | 65 | ||||
| -rw-r--r-- | src/webview.h | 1 | 
2 files changed, 33 insertions, 33 deletions
| diff --git a/src/webview.cpp b/src/webview.cpp index 95450e93..2c2ea9a6 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -68,7 +68,6 @@ WebView::WebView(QWidget* parent)      , m_autoScrollTimer(new QTimer(this))      , m_verticalAutoScrollSpeed(0)      , m_horizontalAutoScrollSpeed(0) -    , m_canEnableAutoScroll(true)      , m_isViewAutoScrolling(false)      , m_autoScrollIndicator(QPixmap(KStandardDirs::locate("appdata" , "pics/autoscroll.png")))      , m_smoothScrollTimer(new QTimer(this)) @@ -392,13 +391,12 @@ void WebView::mousePressEvent(QMouseEvent *event)          m_horizontalAutoScrollSpeed = 0;          m_autoScrollTimer->stop();          m_isViewAutoScrolling = false; -        m_canEnableAutoScroll = true;          update();          return;      }      QWebHitTestResult result = page()->mainFrame()->hitTestContent(event->pos()); -    m_canEnableAutoScroll = ReKonfig::middleClickAction() == 0 && !result.isContentEditable()  && result.linkUrl().isEmpty(); +    bool weCanDoMiddleClickActions = !result.isContentEditable()  && result.linkUrl().isEmpty();      switch (event->button())      { @@ -411,40 +409,49 @@ void WebView::mousePressEvent(QMouseEvent *event)          break;      case Qt::MidButton: -        if (m_canEnableAutoScroll -                && !m_isViewAutoScrolling -                && !page()->currentFrame()->scrollBarGeometry(Qt::Horizontal).contains(event->pos()) -                && !page()->currentFrame()->scrollBarGeometry(Qt::Vertical).contains(event->pos())) +        switch (ReKonfig::middleClickAction())          { -            if (!page()->currentFrame()->scrollBarGeometry(Qt::Horizontal).isNull() -                    || !page()->currentFrame()->scrollBarGeometry(Qt::Vertical).isNull()) +        case 0: // AutoScroll +            if (weCanDoMiddleClickActions +                    && !m_isViewAutoScrolling +                    && !page()->currentFrame()->scrollBarGeometry(Qt::Horizontal).contains(event->pos()) +                    && !page()->currentFrame()->scrollBarGeometry(Qt::Vertical).contains(event->pos()))              { -                m_clickPos = event->pos(); -                m_isViewAutoScrolling = true; -                update(); +                if (!page()->currentFrame()->scrollBarGeometry(Qt::Horizontal).isNull() +                        || !page()->currentFrame()->scrollBarGeometry(Qt::Vertical).isNull()) +                { +                    m_clickPos = event->pos(); +                    m_isViewAutoScrolling = true; +                    update(); +                }              } -        } +            break; -        if (ReKonfig::middleClickAction() == 1 && result.linkUrl().isEmpty() && !result.isContentEditable()) -        { -            const QString clipboardContent = rApp->clipboard()->text(); +        case 1: // Load Clipboard URL +            if (weCanDoMiddleClickActions) +            { +                const QString clipboardContent = rApp->clipboard()->text(); -            if (clipboardContent.isEmpty()) -                break; +                if (clipboardContent.isEmpty()) +                    break; -            if (QUrl::fromUserInput(clipboardContent).isValid()) -                loadUrl(clipboardContent, Rekonq::CurrentTab); -            else // Search with default Engine -            { -                KService::Ptr defaultEngine = SearchEngine::defaultEngine(); -                if (defaultEngine) // check if a default engine is set -                    loadUrl(KUrl(SearchEngine::buildQuery(defaultEngine, clipboardContent)), Rekonq::CurrentTab); +                if (QUrl::fromUserInput(clipboardContent).isValid()) +                    loadUrl(clipboardContent, Rekonq::CurrentTab); +                else // Search with default Engine +                { +                    KService::Ptr defaultEngine = SearchEngine::defaultEngine(); +                    if (defaultEngine) // check if a default engine is set +                        loadUrl(KUrl(SearchEngine::buildQuery(defaultEngine, clipboardContent)), Rekonq::CurrentTab); +                }              } +            break; + +        default: // Do Nothing +            break;          }          break;      default: -        m_canEnableAutoScroll = true;          break;      };      KWebView::mousePressEvent(event); @@ -632,12 +639,6 @@ void WebView::keyPressEvent(QKeyEvent *event)          }      } -    if (!m_canEnableAutoScroll) -    { -        KWebView::keyPressEvent(event); -        return; -    } -      const QString tagName = page()->mainFrame()->evaluateJavaScript("document.activeElement.tagName").toString();      // Auto Scrolling diff --git a/src/webview.h b/src/webview.h index ef44681b..b5a072c7 100644 --- a/src/webview.h +++ b/src/webview.h @@ -126,7 +126,6 @@ private:      QTimer *const m_autoScrollTimer;      int m_verticalAutoScrollSpeed;      int m_horizontalAutoScrollSpeed; -    bool m_canEnableAutoScroll;      bool m_isViewAutoScrolling;      QPixmap m_autoScrollIndicator; | 
