summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2009-05-02 02:32:43 +0200
committerAndrea Diamantini <adjam7@gmail.com>2009-05-02 02:32:43 +0200
commite6f5870d05b6d938476a790b0a65f2322c34d22c (patch)
treed5bfed17bea201a961d512d84e6da837e6a9635a
parentother i18n fix from Kristol (diff)
parentOpen Back/Forward tabs fixed (diff)
downloadrekonq-e6f5870d05b6d938476a790b0a65f2322c34d22c.tar.xz
Merge branch 'develop'
-rw-r--r--src/application.cpp4
-rw-r--r--src/application.h17
-rw-r--r--src/mainview.cpp19
-rw-r--r--src/mainview.h7
-rw-r--r--src/mainwindow.cpp2
5 files changed, 38 insertions, 11 deletions
diff --git a/src/application.cpp b/src/application.cpp
index 03c0f442..ec24691e 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -141,9 +141,9 @@ MainWindow *Application::mainWindow()
}
-WebView *Application::newWebView(bool makeCurrent)
+WebView *Application::newWebView(Rekonq::OpenType type)
{
- return m_mainWindow->mainView()->newWebView(makeCurrent);
+ return m_mainWindow->mainView()->newWebView(type);
}
diff --git a/src/application.h b/src/application.h
index 10f18545..61f4af81 100644
--- a/src/application.h
+++ b/src/application.h
@@ -48,6 +48,21 @@ class NetworkAccessManager;
class WebView;
+namespace Rekonq
+{
+ /**
+ * @short Open link options
+ * Different modes of opening new tab
+ */
+ enum OpenType
+ {
+ Default, ///< open url according to users settings
+ New, ///< open url in new tab and make it current
+ Background ///< open url in new tab in background
+ };
+}
+
+
/**
*
*/
@@ -62,7 +77,7 @@ public:
static Application *instance();
MainWindow *mainWindow();
- WebView* newWebView(bool makeCurrent = true);
+ WebView* newWebView(Rekonq::OpenType type = Rekonq::Default);
KIcon icon(const KUrl &url) const;
diff --git a/src/mainview.cpp b/src/mainview.cpp
index d8375ab8..d4edeb19 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -296,7 +296,7 @@ WebView *MainView::webView(int index) const
}
-WebView *MainView::newWebView(bool makeCurrent)
+WebView *MainView::newWebView(Rekonq::OpenType type)
{
// line edit
UrlBar *urlBar = new UrlBar; // Ownership of widget is passed on to the QStackedWidget (addWidget method).
@@ -338,11 +338,22 @@ WebView *MainView::newWebView(bool makeCurrent)
addTab(webView, i18n("(Untitled)"));
- if (makeCurrent)
+ switch(type)
{
+ case Rekonq::Default:
+ if (!m_makeBackTab)
+ {
+ setCurrentWidget(webView); // this method does NOT take ownership of webView
+ urlBar->setFocus();
+ }
+ break;
+ case Rekonq::New:
setCurrentWidget(webView); // this method does NOT take ownership of webView
urlBar->setFocus();
- }
+ break;
+ case Rekonq::Background:
+ break;
+ };
emit tabsChanged();
@@ -698,7 +709,7 @@ void MainView::mouseDoubleClickEvent(QMouseEvent *event)
{
if (!childAt(event->pos()))
{
- newWebView(true);
+ newWebView(Rekonq::New);
return;
}
KTabWidget::mouseDoubleClickEvent(event);
diff --git a/src/mainview.h b/src/mainview.h
index faa43be9..372902dd 100644
--- a/src/mainview.h
+++ b/src/mainview.h
@@ -26,6 +26,7 @@
// Local Includes
#include "webview.h"
+#include "application.h"
// KDE Includes
#include <KTabWidget>
@@ -74,7 +75,7 @@ public:
WebView *currentWebView() const { return webView(currentIndex()); }
int webViewIndex(WebView *webView) const { return indexOf(webView); }
KAction *recentlyClosedTabsAction() const { return m_recentlyClosedTabsAction; }
- void setMakeTabCurrent( bool b) { makeTabCurrent = b; }
+ void setMakeBackTab(bool b) { m_makeBackTab = b; }
/**
* show and hide TabBar if user doesn't choose
@@ -109,7 +110,7 @@ public slots:
*
* @return a pointer to the new WebView
*/
- WebView *newWebView(bool makeCurrent = true);
+ WebView *newWebView(Rekonq::OpenType type = Rekonq::Default);
/**
* Core browser slot. Load an url in a webview
@@ -191,7 +192,7 @@ private:
QString m_loadingGitPath;
- bool makeTabCurrent;
+ bool m_makeBackTab;
};
#endif
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 38156dcd..4f76d180 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -352,7 +352,7 @@ void MainWindow::slotUpdateConfiguration()
// ============== General ==================
m_homePage = ReKonfig::homePage();
mainView()->showTabBar();
- mainView()->setMakeTabCurrent( ReKonfig::openTabsBack() );
+ mainView()->setMakeBackTab( ReKonfig::openTabsBack() );
// =========== Fonts ==============
QWebSettings *defaultSettings = QWebSettings::globalSettings();