From f8ba8db7580f58fdf693582befd911d2cdac6bbc Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Wed, 27 Feb 2008 21:04:33 +0000 Subject: [PATCH] Fullscreen mode fixes: - tabbar & frames respect fullscreen mode when adding/removing new tab. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23291 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/GuiWorkArea.cpp | 24 +++++++++++++++++++----- src/frontends/qt4/GuiWorkArea.h | 2 ++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/frontends/qt4/GuiWorkArea.cpp b/src/frontends/qt4/GuiWorkArea.cpp index 50dad561e7..f97fd0bb12 100644 --- a/src/frontends/qt4/GuiWorkArea.cpp +++ b/src/frontends/qt4/GuiWorkArea.cpp @@ -1066,6 +1066,12 @@ void GuiWorkArea::setReadOnly(bool) } +bool GuiWorkArea::isFullScreen() +{ + return lyx_view_ && lyx_view_->isFullScreen(); +} + + //////////////////////////////////////////////////////////////////// // // TabWorkArea @@ -1192,12 +1198,17 @@ GuiWorkArea * TabWorkArea::addWorkArea(Buffer & buffer, GuiView & view) wa->setUpdatesEnabled(false); // Hide tabbar if there's no tab (avoid a resize and a flashing tabbar // when hiding it again below). - showBar(count() > 0); + if (!(currentWorkArea() && currentWorkArea()->isFullScreen())) + showBar(count() > 0); addTab(wa, wa->windowTitle()); QObject::connect(wa, SIGNAL(titleChanged(GuiWorkArea *)), this, SLOT(updateTabText(GuiWorkArea *))); - // Hide tabbar if there's only one tab. - showBar(count() > 1); + if (currentWorkArea() && currentWorkArea()->isFullScreen()) + setFullScreen(true); + else + // Hide tabbar if there's only one tab. + showBar(count() > 1); + return wa; } @@ -1216,8 +1227,11 @@ bool TabWorkArea::removeWorkArea(GuiWorkArea * work_area) if (count()) { // make sure the next work area is enabled. currentWidget()->setUpdatesEnabled(true); - // Hide tabbar if there's only one tab. - showBar(count() > 1); + if ((currentWorkArea() && currentWorkArea()->isFullScreen())) + setFullScreen(true); + else + // Hide tabbar if there's only one tab. + showBar(count() > 1); } return true; } diff --git a/src/frontends/qt4/GuiWorkArea.h b/src/frontends/qt4/GuiWorkArea.h index 5f73b3178c..a609557220 100644 --- a/src/frontends/qt4/GuiWorkArea.h +++ b/src/frontends/qt4/GuiWorkArea.h @@ -116,6 +116,8 @@ public: /// void setFullScreen(bool full_screen); + /// is LyXView in fullscreen mode? + bool isFullScreen(); /// void scheduleRedraw() { schedule_redraw_ = true; } ///