]> git.lyx.org Git - features.git/commitdiff
Fullscreen fixes (multiple windows & toolbar visibility).
authorPavel Sanda <sanda@lyx.org>
Thu, 28 Feb 2008 11:19:19 +0000 (11:19 +0000)
committerPavel Sanda <sanda@lyx.org>
Thu, 28 Feb 2008 11:19:19 +0000 (11:19 +0000)
Workaround for http://bugzilla.lyx.org/show_bug.cgi?id=4588 .

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23309 a592a061-630c-0410-9148-cb99ea01b6c8

src/ToolbarBackend.cpp
src/ToolbarBackend.h
src/frontends/qt4/GuiToolbars.cpp

index 34f3d5bac1d28a7e9e22a39f6333ff509a07630d..d90b5ed23b34ac3ab6fa68a9f5b62ef084fa40ce 100644 (file)
@@ -200,6 +200,7 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex)
 
 ToolbarBackend::ToolbarBackend()
 {
+       fullScreenWindows = 0;
 }
 
 
index cd4828efa4c71b4e145281293e01a6efdea22971..8845b5ddb86ff871a62c97bca3a2335896b067c2 100644 (file)
@@ -135,6 +135,10 @@ public:
        ///
        ToolbarInfo * getUsedToolbarInfo(std::string const & name);
 
+       // FIXME should be deleted when every window has its own toolbar config.
+       /// number of toggleFullScreen calls, i.e. number of FullScreen windows.
+       int fullScreenWindows;
+
 private:
        /// all the defined toolbars
        Toolbars toolbars;
index dd89ae6943b09101f6be6759dd1549a7d22df320..398c1fc830c544e2c2ed057880e8412b2597cde2 100644 (file)
@@ -225,6 +225,10 @@ void GuiToolbars::toggleToolbarState(string const & name, bool allowauto)
 
 void GuiToolbars::toggleFullScreen(bool start_full_screen)
 {
+       // we need to know number of fullscreens until every
+       // LyXView has its own toolbar configuration
+       toolbarbackend.fullScreenWindows += start_full_screen ? 1 : -1;
+
        // extracts the toolbars from the backend
        ToolbarBackend::Toolbars::iterator cit = toolbarbackend.begin();
        ToolbarBackend::Toolbars::iterator end = toolbarbackend.end();
@@ -233,7 +237,8 @@ void GuiToolbars::toggleFullScreen(bool start_full_screen)
        for (; cit != end; ++cit) {
 
                if (start_full_screen) {
-                       flags = cit->before_fullscreen = cit->flags;
+                       if (toolbarbackend.fullScreenWindows == 1)
+                               flags = cit->before_fullscreen = cit->flags;
                        TurnOffFlag(ON);
                        TurnOffFlag(AUTO);
                        TurnOnFlag(OFF);