summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2009-12-26 11:46:48 +0100
committerAndrea Diamantini <adjam7@gmail.com>2009-12-26 11:46:48 +0100
commit4c622b5499ce04318fbfbdf8c2f17ed99b10c2f0 (patch)
tree27f2c0c59d5c467b6e37f54e26c6c9ca96aacbdf
parentauto load plug in (diff)
parentin fullscreen mode: show toolbar tabbar when mouse is on top of the screen (diff)
downloadrekonq-4c622b5499ce04318fbfbdf8c2f17ed99b10c2f0.tar.xz
Merge commit 'refs/merge-requests/81' of git://gitorious.org/rekonq/mainline into m81
-rw-r--r--src/mainview.cpp20
-rw-r--r--src/mainview.h2
-rw-r--r--src/mainwindow.cpp20
-rw-r--r--src/mainwindow.h1
-rw-r--r--src/webview.cpp11
5 files changed, 43 insertions, 11 deletions
diff --git a/src/mainview.cpp b/src/mainview.cpp
index 46cd9a15..fb6f202d 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();
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..3b0f6b54 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);
+ }
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 95964e22..808f5f9a 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();
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);
}