]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiToolbars.cpp
Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got every...
[lyx.git] / src / frontends / qt4 / GuiToolbars.cpp
index 25fc333b2893349c9913a123fc9ed59d16a7eb2a..13544e458c947e7f3d0472d79e56a4b20b145386 100644 (file)
 
 #include "Buffer.h"
 #include "BufferParams.h"
-#include "support/debug.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "support/gettext.h"
 #include "Layout.h"
 #include "LyX.h"
 #include "LyXFunc.h"
 #include "TextClass.h"
 #include "ToolbarBackend.h"
 
+#include "support/debug.h"
+#include "support/gettext.h"
+
+#include "support/assert.h"
+
+
 using namespace std;
 
 namespace lyx {
@@ -220,6 +224,33 @@ void GuiToolbars::toggleToolbarState(string const & name, bool allowauto)
        }
        tbi->flags = static_cast<ToolbarInfo::Flags>(flags);
 }
+
+
+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();
+       int flags = 0;
+
+       for (; cit != end; ++cit) {
+
+               if (start_full_screen) {
+                       if (toolbarbackend.fullScreenWindows == 1)
+                               flags = cit->before_fullscreen = cit->flags;
+                       TurnOffFlag(ON);
+                       TurnOffFlag(AUTO);
+                       TurnOnFlag(OFF);
+               } else
+                       flags = cit->before_fullscreen;
+
+               cit->flags = static_cast<ToolbarInfo::Flags>(flags);
+       }
+}
 #undef TurnOnFlag
 #undef TurnOffFlag
 
@@ -267,7 +298,7 @@ void GuiToolbars::saveToolbarInfo()
        for (ToolbarBackend::Toolbars::iterator cit = toolbarbackend.begin();
                cit != toolbarbackend.end(); ++cit) {
                ToolbarsMap::iterator it = toolbars_.find(cit->name);
-               BOOST_ASSERT(it != toolbars_.end());
+               LASSERT(it != toolbars_.end(), /**/);
                // get toolbar info from session.
                ToolbarSection::ToolbarInfo & info = tb.load(cit->name);
                if (cit->flags & ToolbarInfo::ON)
@@ -309,7 +340,7 @@ void GuiToolbars::displayToolbar(ToolbarInfo const & tbinfo,
                              bool show_it)
 {
        ToolbarsMap::iterator it = toolbars_.find(tbinfo.name);
-       BOOST_ASSERT(it != toolbars_.end());
+       LASSERT(it != toolbars_.end(), /**/);
 
        if (show_it) {
                if (it->second->isVisible())