]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Toolbars.cpp
cosmetics (whitespace and no-op functions)
[lyx.git] / src / frontends / Toolbars.cpp
index 20082cdd635bc6a11e83ec227cdb28c9b44c698b..f28a2b70113cd8ebcccd7cc4d9991bd4d245c748 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  * \author Angus Leeming
  *
  * Full author contact details are available in file CREDITS.
@@ -46,7 +46,7 @@ void Toolbars::initFlags(ToolbarInfo & tbinfo)
 
        unsigned int flags = static_cast<unsigned int>(tbinfo.flags);
 
-       // Remove default.ui positions. Only when a valid postion is stored 
+       // Remove default.ui positions. Only when a valid postion is stored
        // in the session file the default.ui value will be overwritten
        unsigned int save = flags;
        TurnOffFlag(TOP);
@@ -86,16 +86,16 @@ void Toolbars::initFlags(ToolbarInfo & tbinfo)
        }
        /*
        std::cout << "State " << info.state << " FLAGS: " << flags
-               << " ON:" << (flags & ToolbarBackend::ON) 
+               << " ON:" << (flags & ToolbarBackend::ON)
                << " OFF:" << (flags & ToolbarBackend::OFF)
-               << " L:" << (flags & ToolbarBackend::LEFT) 
-               << " R:" << (flags & ToolbarBackend::RIGHT) 
-               << " T:" << (flags & ToolbarBackend::TOP) 
-               << " B:" << (flags & ToolbarBackend::BOTTOM) 
-               << " MA:" << (flags & ToolbarBackend::MATH) 
-               << " RE:" << (flags & ToolbarBackend::REVIEW) 
-               << " TB:" << (flags & ToolbarBackend::TABLE) 
-               << " AU:" << (flags & ToolbarBackend::AUTO) 
+               << " L:" << (flags & ToolbarBackend::LEFT)
+               << " R:" << (flags & ToolbarBackend::RIGHT)
+               << " T:" << (flags & ToolbarBackend::TOP)
+               << " B:" << (flags & ToolbarBackend::BOTTOM)
+               << " MA:" << (flags & ToolbarBackend::MATH)
+               << " RE:" << (flags & ToolbarBackend::REVIEW)
+               << " TB:" << (flags & ToolbarBackend::TABLE)
+               << " AU:" << (flags & ToolbarBackend::AUTO)
                << std::endl;
        */
        // now set the flags
@@ -169,56 +169,44 @@ void Toolbars::display(string const & name, bool show)
 }
 
 
-ToolbarInfo::Flags Toolbars::getToolbarState(string const & name)
-{      
-       ToolbarBackend::Toolbars::const_iterator cit = toolbarbackend.begin();
-       ToolbarBackend::Toolbars::const_iterator end = toolbarbackend.end();
-
-       for (; cit != end; ++cit) {
-               if (cit->name == name)
-                       return cit->flags;
-       }
-
-       LYXERR(Debug::GUI) << "Toolbar::display: no toolbar named "
-               << name << endl;
-
-       // return dummy for msvc
-       return ToolbarInfo::OFF;
+ToolbarInfo * Toolbars::getToolbarInfo(string const & name)
+{
+       return toolbarbackend.getUsedToolbarInfo(name);
 }
 
 
-void Toolbars::toggleToolbarState(string const & name)
+void Toolbars::toggleToolbarState(string const & name, bool allowauto)
 {
-       ToolbarBackend::Toolbars::iterator cit = toolbarbackend.begin();
-       ToolbarBackend::Toolbars::iterator end = toolbarbackend.end();
+       ToolbarInfo * tbi = toolbarbackend.getUsedToolbarInfo(name);
 
-       for (; cit != end; ++cit) {
-               if (cit->name == name) {
-                       int flags = cit->flags;
-                       // off -> on
-                       if (flags & ToolbarInfo::OFF) {
-                               TurnOffFlag(OFF);
-                               TurnOnFlag(ON);
-                       // auto -> off
-                       } else if (flags & ToolbarInfo::AUTO) {
-                               TurnOffFlag(AUTO);
-                               TurnOnFlag(OFF);
-                       } else if ((flags & ToolbarInfo::MATH) || (flags & ToolbarInfo::TABLE)
-                               || (flags & ToolbarInfo::REVIEW)) {
-                               // for math etc, toggle from on -> auto
-                               TurnOffFlag(ON);
-                               TurnOnFlag(AUTO);
-                       } else {
-                               // for others, toggle from on -> off
-                               TurnOffFlag(ON);
-                               TurnOnFlag(OFF);
-                       }
-                       cit->flags = static_cast<lyx::ToolbarInfo::Flags>(flags);
-                       return;
-               }
+       if (!tbi) {
+               LYXERR(Debug::GUI) << "Toolbar::display: no toolbar named "
+                       << name << endl;
+               return;
        }
-       LYXERR(Debug::GUI) << "Toolbar::display: no toolbar named "
-               << name << endl;
+
+       int flags = tbi->flags;
+       // off -> on
+       if (flags & ToolbarInfo::OFF) {
+               TurnOffFlag(OFF);
+               TurnOnFlag(ON);
+       // auto -> off
+       } else if (flags & ToolbarInfo::AUTO) {
+               TurnOffFlag(AUTO);
+               TurnOnFlag(OFF);
+       } else if (allowauto 
+                  && ((flags & ToolbarInfo::MATH) 
+                      || (flags & ToolbarInfo::TABLE)
+                      || (flags & ToolbarInfo::REVIEW))) {
+               // for math etc, toggle from on -> auto
+               TurnOffFlag(ON);
+               TurnOnFlag(AUTO);
+       } else {
+               // for others, toggle from on -> off
+               TurnOffFlag(ON);
+               TurnOnFlag(OFF);
+       }
+       tbi->flags = static_cast<ToolbarInfo::Flags>(flags);
 }
 #undef TurnOnFlag
 #undef TurnOffFlag
@@ -290,7 +278,7 @@ void Toolbars::saveToolbarInfo()
 }
 
 
-void Toolbars::setLayout(string const & layout)
+void Toolbars::setLayout(docstring const & layout)
 {
        if (layout_)
                layout_->set(layout);
@@ -368,16 +356,15 @@ void Toolbars::update()
 }
 
 
-void layoutSelected(LyXView & lv, string const & name)
+void layoutSelected(LyXView & lv, docstring const & name)
 {
        TextClass const & tc = lv.buffer()->params().getTextClass();
 
        TextClass::const_iterator it  = tc.begin();
        TextClass::const_iterator const end = tc.end();
        for (; it != end; ++it) {
-               string const & itname = (*it)->name();
-               // Yes, the lyx::to_utf8(_()) is correct
-               if (lyx::to_utf8(_(itname)) == name) {
+               docstring const & itname = (*it)->name();
+               if (translateIfPossible(itname) == name) {
                        FuncRequest const func(LFUN_LAYOUT, itname,
                                               FuncRequest::TOOLBAR);
                        lv.dispatch(func);