summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bookmarks/bookmarksmanager.cpp2
-rw-r--r--src/mainwindow.cpp24
-rw-r--r--src/mainwindow.h6
-rw-r--r--src/urltreeview.cpp4
-rw-r--r--src/webview.cpp8
-rw-r--r--src/webview.h1
6 files changed, 23 insertions, 22 deletions
diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp
index 95adf387..6a5417fc 100644
--- a/src/bookmarks/bookmarksmanager.cpp
+++ b/src/bookmarks/bookmarksmanager.cpp
@@ -66,7 +66,7 @@ void BookmarkOwner::openBookmark(const KBookmark & bookmark,
{
if (keyboardModifiers & Qt::ControlModifier || mouseButtons == Qt::MidButton)
{
- emit openUrl(bookmark.url(), Rekonq::NewCurrentTab);
+ emit openUrl(bookmark.url(), Rekonq::SettingOpenTab);
}
else
{
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index af26ef42..d5831fdb 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -287,7 +287,7 @@ void MainWindow::setupActions()
a->setShortcut( fullScreenShortcut );
a = actionCollection()->addAction( KStandardAction::Home );
- connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(homePage(Qt::MouseButtons)));
+ connect(a, SIGNAL(triggered(Qt::MouseButtons, Qt::KeyboardModifiers)), this, SLOT(homePage(Qt::MouseButtons, Qt::KeyboardModifiers)));
KStandardAction::preferences(this, SLOT(preferences()), actionCollection());
a = KStandardAction::redisplay(m_view, SLOT(webReload()), actionCollection());
@@ -347,7 +347,7 @@ void MainWindow::setupActions()
// ========================= History related actions ==============================
a = actionCollection()->addAction( KStandardAction::Back );
- connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(openPrevious(Qt::MouseButtons)));
+ connect(a, SIGNAL(triggered(Qt::MouseButtons, Qt::KeyboardModifiers)), this, SLOT(openPrevious(Qt::MouseButtons, Qt::KeyboardModifiers)));
m_historyBackMenu = new KMenu(this);
a->setMenu(m_historyBackMenu);
@@ -355,7 +355,7 @@ void MainWindow::setupActions()
connect(m_historyBackMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *)));
a = actionCollection()->addAction( KStandardAction::Forward );
- connect(a, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)), this, SLOT(openNext(Qt::MouseButtons)));
+ connect(a, SIGNAL(triggered(Qt::MouseButtons, Qt::KeyboardModifiers)), this, SLOT(openNext(Qt::MouseButtons, Qt::KeyboardModifiers)));
// ============================== General Tab Actions ====================================
a = new KAction(KIcon("tab-new"), i18n("New &Tab"), this);
@@ -955,9 +955,9 @@ void MainWindow::viewPageSource()
}
-void MainWindow::homePage(Qt::MouseButtons btn)
+void MainWindow::homePage(Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers)
{
- if(btn == Qt::MidButton)
+ if(mouseButtons == Qt::MidButton || keyboardModifiers == Qt::ControlModifier)
Application::instance()->loadUrl( KUrl(ReKonfig::homePage()), Rekonq::SettingOpenTab );
else
currentTab()->view()->load( QUrl(ReKonfig::homePage()) );
@@ -1001,15 +1001,14 @@ void MainWindow::browserLoading(bool v)
}
-void MainWindow::openPrevious(Qt::MouseButtons btn)
+void MainWindow::openPrevious(Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers)
{
QWebHistory *history = currentTab()->view()->history();
if (history->canGoBack())
{
- if(btn == Qt::MidButton)
+ if(mouseButtons == Qt::MidButton || keyboardModifiers == Qt::ControlModifier)
{
- KUrl back = history->backItem().url();
- Application::instance()->loadUrl(back, Rekonq::SettingOpenTab);
+ Application::instance()->loadUrl(history->backItem().url(), Rekonq::SettingOpenTab);
}
else
{
@@ -1022,15 +1021,14 @@ void MainWindow::openPrevious(Qt::MouseButtons btn)
}
-void MainWindow::openNext(Qt::MouseButtons btn)
+void MainWindow::openNext(Qt::MouseButtons mouseButtons, Qt::KeyboardModifiers keyboardModifiers)
{
QWebHistory *history = currentTab()->view()->history();
if (history->canGoForward())
{
- if(btn == Qt::MidButton)
+ if(mouseButtons == Qt::MidButton || keyboardModifiers == Qt::ControlModifier)
{
- KUrl next = history->forwardItem().url();
- Application::instance()->loadUrl(next, Rekonq::SettingOpenTab);
+ Application::instance()->loadUrl(history->forwardItem().url(), Rekonq::SettingOpenTab);
}
else
{
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 4ccd7bf3..d1509066 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -87,7 +87,7 @@ private:
void setupPanels();
public slots:
- void homePage(Qt::MouseButtons = Qt::LeftButton);
+ void homePage(Qt::MouseButtons = Qt::LeftButton, Qt::KeyboardModifiers = Qt::NoModifier);
/**
* Notifies a message in a popup
@@ -122,8 +122,8 @@ private slots:
void updateWindowTitle(const QString &title = QString());
// history related
- void openPrevious(Qt::MouseButtons = Qt::LeftButton);
- void openNext(Qt::MouseButtons = Qt::LeftButton);
+ void openPrevious(Qt::MouseButtons = Qt::LeftButton, Qt::KeyboardModifiers = Qt::NoModifier);
+ void openNext(Qt::MouseButtons = Qt::LeftButton, Qt::KeyboardModifiers = Qt::NoModifier);
// Find Action slots
void find(const QString &);
diff --git a/src/urltreeview.cpp b/src/urltreeview.cpp
index 507a7973..aeaef2f7 100644
--- a/src/urltreeview.cpp
+++ b/src/urltreeview.cpp
@@ -95,8 +95,8 @@ void UrlTreeView::mouseReleaseEvent(QMouseEvent *event)
if(!index.isValid())
return;
- if(event->button() == Qt::MidButton)
- validOpenUrl(qVariantValue< KUrl >(index.data(Qt::UserRole)), Rekonq::NewCurrentTab);
+ if(event->button() == Qt::MidButton || event->modifiers() == Qt::ControlModifier)
+ validOpenUrl(qVariantValue< KUrl >(index.data(Qt::UserRole)), Rekonq::SettingOpenTab);
else if(event->button() == Qt::LeftButton)
{
diff --git a/src/webview.cpp b/src/webview.cpp
index 2083cef3..e874411d 100644
--- a/src/webview.cpp
+++ b/src/webview.cpp
@@ -66,6 +66,7 @@ WebView::WebView(QWidget* parent)
, _scrollTimer( new QTimer(this) )
, _VScrollSpeed(0)
, _HScrollSpeed(0)
+ , _disableAutoScroll(false)
{
WebPage *page = new WebPage(this);
setPage(page);
@@ -320,6 +321,9 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
void WebView::mousePressEvent(QMouseEvent *event)
{
+ QWebHitTestResult result = page()->mainFrame()->hitTestContent( event->pos() );
+ _disableAutoScroll = result.isContentEditable();
+
switch(event->button())
{
case Qt::XButton1:
@@ -426,9 +430,7 @@ void WebView::keyPressEvent(QKeyEvent *event)
}
}
- QWebHitTestResult result = page()->mainFrame()->hitTestContent( mapFromGlobal( QCursor::pos() ) );
-
- if( result.isContentEditable() )
+ if(_disableAutoScroll)
{
KWebView::keyPressEvent(event);
return;
diff --git a/src/webview.h b/src/webview.h
index 85ebf46a..0fe83ae4 100644
--- a/src/webview.h
+++ b/src/webview.h
@@ -79,6 +79,7 @@ private:
QTimer *_scrollTimer;
int _VScrollSpeed;
int _HScrollSpeed;
+ bool _disableAutoScroll;
};
#endif