diff options
-rw-r--r-- | src/mainview.cpp | 20 | ||||
-rw-r--r-- | src/mainview.h | 2 | ||||
-rw-r--r-- | src/mainwindow.cpp | 20 | ||||
-rw-r--r-- | src/mainwindow.h | 1 | ||||
-rw-r--r-- | src/webview.cpp | 11 |
5 files changed, 43 insertions, 11 deletions
diff --git a/src/mainview.cpp b/src/mainview.cpp index 2123d021..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(); 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 76ca447a..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); + } } diff --git a/src/mainwindow.h b/src/mainwindow.h index d600c5dc..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(); 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); } |