summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainview.cpp39
-rw-r--r--src/mainview.h2
-rw-r--r--src/mainwindow.cpp56
-rw-r--r--src/mainwindow.h3
-rw-r--r--src/rekonq.kcfg2
-rw-r--r--src/webview.cpp11
6 files changed, 62 insertions, 51 deletions
diff --git a/src/mainview.cpp b/src/mainview.cpp
index 46cd9a15..7dbe8b23 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -186,12 +186,15 @@ void MainView::updateTabBar()
{
if (ReKonfig::alwaysShowTabBar())
{
- if (m_tabBar->isHidden())
+ if (!isTabBarHidden())
{
- m_tabBar->show();
- m_addTabButton->show();
+ if (m_tabBar->isHidden())
+ {
+ m_tabBar->show();
+ m_addTabButton->show();
+ }
+ updateTabButtonPosition();
}
- updateTabButtonPosition();
return;
}
@@ -200,7 +203,7 @@ void MainView::updateTabBar()
m_tabBar->hide();
m_addTabButton->hide();
}
- else
+ else if (!isTabBarHidden())
{
if (m_tabBar->isHidden())
{
@@ -212,6 +215,13 @@ void MainView::updateTabBar()
}
+void MainView::setTabBarHidden(bool hide)
+{
+ m_addTabButton->setVisible(!hide);
+ KTabWidget::setTabBarHidden(hide);
+}
+
+
void MainView::webReload()
{
WebTab *webTab = currentWebTab();
@@ -447,9 +457,26 @@ void MainView::cloneTab(int index)
// When index is -1 index chooses the current tab
void MainView::closeTab(int index)
{
- // do nothing if just one tab is opened
+ // open default homePage if just one tab is opened
if (count() == 1)
+ {
+ WebView *w = currentWebTab()->view();
+ urlBar()->setUrl(KUrl(""));
+ switch(ReKonfig::newTabsBehaviour())
+ {
+ case 0: // new tab page
+ case 1: // blank page
+ w->load( KUrl("about:home") );
+ break;
+ case 2: // homepage
+ w->load( KUrl(ReKonfig::homePage()) );
+ break;
+ default:
+ break;
+ }
+ urlBar()->setFocus();
return;
+ }
if (index < 0)
index = currentIndex();
diff --git a/src/mainview.h b/src/mainview.h
index f57c30b5..f8a8c283 100644
--- a/src/mainview.h
+++ b/src/mainview.h
@@ -83,6 +83,8 @@ public:
*/
void updateTabBar();
+ void setTabBarHidden(bool hide);
+
QToolButton *addTabButton() const;
void clear();
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b4174191..a0c25389 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -797,21 +797,30 @@ void MainWindow::viewTextSmaller()
void MainWindow::viewFullScreen(bool makeFullScreen)
{
+ setWidgetsVisible(!makeFullScreen);
+ KToggleFullScreenAction::setFullScreen(this, makeFullScreen);
+}
+
+
+void MainWindow::setWidgetsVisible(bool makeVisible)
+{
// state flags
static bool bookmarksToolBarFlag;
static bool sidePanelFlag;
- static bool bookmarksPanelFlag;
+ static bool bookmarksPanelFlag;
- if (makeFullScreen == true)
+ if (!makeVisible)
{
// save current state
bookmarksToolBarFlag = m_bmBar->isHidden();
m_bmBar->hide();
+ m_view->setTabBarHidden(true);
+
sidePanelFlag = sidePanel()->isHidden();
sidePanel()->hide();
- bookmarksPanelFlag = bookmarksPanel()->isHidden();
+ bookmarksPanelFlag = bookmarksPanel()->isHidden();
bookmarksPanel()->hide();
// hide main toolbar
@@ -821,6 +830,7 @@ void MainWindow::viewFullScreen(bool makeFullScreen)
{
// show main toolbar
m_mainBar->show();
+ m_view->setTabBarHidden(false);
// restore previous state
if (!bookmarksToolBarFlag)
@@ -829,9 +839,7 @@ void MainWindow::viewFullScreen(bool makeFullScreen)
sidePanel()->show();
if (!bookmarksPanelFlag)
bookmarksPanel()->show();
- }
-
- KToggleFullScreenAction::setFullScreen(this, makeFullScreen);
+ }
}
@@ -922,42 +930,6 @@ void MainWindow::openNext()
}
-bool MainWindow::queryClose()
-{
- if (m_view->count() > 1)
- {
-
- int answer = KMessageBox::questionYesNoCancel(
- this,
- i18np("Are you sure you want to close the window?\n" \
- "You still have 1 tab open.",
- "Are you sure you want to close the window?\n" \
- "You still have %1 tabs open.",
- m_view->count()),
- i18n("Closing rekonq"),
- KStandardGuiItem::quit(),
- KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")),
- KStandardGuiItem::cancel(),
- "confirmClosingMultipleTabs");
-
- switch (answer)
- {
- case KMessageBox::Yes:
- // Quit
- return true;
- break;
- case KMessageBox::No:
- // Close only the current tab
- m_view->closeTab();
- default:
- return false;
- }
- }
-
- return true;
-}
-
-
void MainWindow::keyPressEvent(QKeyEvent *event)
{
// hide findbar
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 95964e22..49dc2a59 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -71,6 +71,7 @@ public:
QAction *actionByName(const QString name);
virtual QSize sizeHint() const;
virtual KActionCollection *actionCollection () const;
+ void setWidgetsVisible(bool makeFullScreen);
private:
void setupActions();
@@ -107,8 +108,6 @@ signals:
void shiftCtrlTabPressed();
protected:
- bool queryClose();
-
/**
* Filters (SHIFT + ) CTRL + TAB events and emit (shift)ctrlTabPressed()
* to make switch tab
diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg
index 14b727d3..333870d1 100644
--- a/src/rekonq.kcfg
+++ b/src/rekonq.kcfg
@@ -110,7 +110,7 @@
<default>true</default>
</entry>
<entry name="pluginsEnabled" type="Int">
- <default>1</default>
+ <default>0</default>
</entry>
<entry name="javascriptCanOpenWindows" type="Bool">
<default>true</default>
diff --git a/src/webview.cpp b/src/webview.cpp
index 462adc08..a35b7143 100644
--- a/src/webview.cpp
+++ b/src/webview.cpp
@@ -313,6 +313,17 @@ void WebView::mousePressEvent(QMouseEvent *event)
void WebView::mouseMoveEvent(QMouseEvent *event)
{
m_mousePos = event->pos();
+ if (Application::instance()->mainWindow()->isFullScreen())
+ {
+ if (event->pos().y()>=0 && event->pos().y()<=4)
+ {
+ Application::instance()->mainWindow()->setWidgetsVisible(true);
+ }
+ else
+ {
+ Application::instance()->mainWindow()->setWidgetsVisible(false);
+ }
+ }
KWebView::mouseMoveEvent(event);
}