diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/previewimage.cpp | 14 | ||||
| -rw-r--r-- | src/webpage.cpp | 6 | ||||
| -rw-r--r-- | src/webpage.h | 5 | ||||
| -rw-r--r-- | src/webview.cpp | 26 | 
4 files changed, 23 insertions, 28 deletions
diff --git a/src/previewimage.cpp b/src/previewimage.cpp index 94f5061f..60207fb3 100644 --- a/src/previewimage.cpp +++ b/src/previewimage.cpp @@ -30,7 +30,6 @@  #include <QFile>  #include <QMovie> -#include <QMouseEvent>  #include <KUrl>  #include <KStandardDirs> @@ -84,17 +83,8 @@ void PreviewImage::setSiteImage()  void PreviewImage::mousePressEvent(QMouseEvent *event)  { -    switch(event->button())  -    { -    case Qt::LeftButton: -        Application::instance()->loadUrl(m_url); -        break; -    case Qt::RightButton: -        // TODO -        break; -    default: -        QLabel::mousePressEvent(event); -    }; +    Q_UNUSED(event) +    Application::instance()->loadUrl(m_url);  } diff --git a/src/webpage.cpp b/src/webpage.cpp index 0a94be58..59c777d6 100644 --- a/src/webpage.cpp +++ b/src/webpage.cpp @@ -70,6 +70,8 @@  WebPage::WebPage(QObject *parent)          : QWebPage(parent) +        , m_keyboardModifiers(Qt::NoModifier) +        , m_pressedButtons(Qt::NoButton)          , m_requestedUrl()  {      setPluginFactory(new WebPluginFactory(this)); @@ -91,9 +93,11 @@ WebPage::~WebPage()  bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)  { -    if (Application::keyboardModifiers() & Qt::ControlModifier || Application::mouseButtons() == Qt::MidButton) +    if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton)      {          Application::instance()->loadUrl(request.url(), Rekonq::SettingOpenTab); +        m_keyboardModifiers = Qt::NoModifier; +        m_pressedButtons = Qt::NoButton;          return false;      } diff --git a/src/webpage.h b/src/webpage.h index 7d55afee..86024a9d 100644 --- a/src/webpage.h +++ b/src/webpage.h @@ -81,8 +81,13 @@ protected Q_SLOTS:      virtual void slotDownloadRequested(const QNetworkRequest &request);  private: +    friend class WebView;      QString errorPage(QNetworkReply *); +    // keyboard/mouse modifiers +    Qt::KeyboardModifiers m_keyboardModifiers; +    Qt::MouseButtons m_pressedButtons; +      QUrl m_requestedUrl;  }; diff --git a/src/webview.cpp b/src/webview.cpp index e5cc62bb..ac6f4566 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -128,8 +128,6 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)          connect(a, SIGNAL(triggered(bool)), this, SLOT(openLinkInNewWindow()));          menu.addAction(a); -        menu.addSeparator(); -                  a = pageAction(QWebPage::DownloadLinkToDisk);          a->setIcon(KIcon("document-save"));          menu.addAction(a); @@ -137,8 +135,6 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)          a = pageAction(QWebPage::CopyLinkToClipboard);          a->setIcon(KIcon("edit-copy"));          menu.addAction(a); -         -        menu.addSeparator();      }      // is content editable && selected? Add CUT @@ -188,16 +184,13 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)              if(!engine.isEmpty())              {                  service = KService::serviceByDesktopPath(QString("searchproviders/%1.desktop").arg(engine)); -                if(service) -                { -                    const QString searchProviderPrefix = *(service->property("Keys").toStringList().begin()) + keywordDelimiter; // FIXME crashed -                    data.setData(searchProviderPrefix + "some keyword"); -                    a = new KAction(service->name(), this); -                    a->setIcon(Application::icon(KUrl(data.uri()))); -                    a->setData(searchProviderPrefix); -                    connect(a, SIGNAL(triggered(bool)), this, SLOT(slotSearch())); -                    searchMenu->addAction(a); -                } +                const QString searchProviderPrefix = *(service->property("Keys").toStringList().begin()) + keywordDelimiter; // FIXME crashed +                data.setData(searchProviderPrefix + "some keyword"); +                a = new KAction(service->name(), this); +                a->setIcon(Application::icon(KUrl(data.uri()))); +                a->setData(searchProviderPrefix); +                connect(a, SIGNAL(triggered(bool)), this, SLOT(slotSearch())); +                searchMenu->addAction(a);              }          } @@ -328,6 +321,9 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)  void WebView::mousePressEvent(QMouseEvent *event)  { +    m_page->m_pressedButtons = event->buttons(); +    m_page->m_keyboardModifiers = event->modifiers(); +      switch(event->button())       {        case Qt::XButton1: @@ -344,7 +340,7 @@ void WebView::mousePressEvent(QMouseEvent *event)  void WebView::wheelEvent(QWheelEvent *event)  { -    if (Application::keyboardModifiers() & Qt::ControlModifier) +    if (QApplication::keyboardModifiers() & Qt::ControlModifier)      {          int numDegrees = event->delta() / 8;          int numSteps = numDegrees / 15;  | 
