]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiToolbar.cpp
Show Biblatex files in the TeXInfo dialog
[lyx.git] / src / frontends / qt4 / GuiToolbar.cpp
index 507e847ad36368b308bad7dc9e5b567669269005..36a7326a5e60850bfbd1932b036689b10c2625d3 100644 (file)
@@ -32,6 +32,7 @@
 #include "KeyMap.h"
 #include "LyX.h"
 #include "LyXRC.h"
+#include "Session.h"
 
 #include "support/debug.h"
 #include "support/gettext.h"
@@ -115,12 +116,12 @@ Action * GuiToolbar::addItem(ToolbarItem const & item)
        QString text = toqstr(item.label_);
        // Get the keys bound to this action, but keep only the
        // first one later
-       KeyMap::Bindings bindings = theTopLevelKeymap().findBindings(item.func_);
+       KeyMap::Bindings bindings = theTopLevelKeymap().findBindings(*item.func_);
        if (!bindings.empty())
                text += " [" + toqstr(bindings.begin()->print(KeySequence::ForGui)) + "]";
 
-       Action * act = new Action(getIcon(item.func_, false),
-                                 text, item.func_, text, this);
+       Action * act = new Action(item.func_, getIcon(*item.func_, false), text,
+                                 text, this);
        actions_.append(act);
        return act;
 }
@@ -147,7 +148,7 @@ public:
                ToolbarInfo const * tbinfo = guiApp->toolbars().info(tbitem_.name_);
                if (tbinfo)
                        // use the icon of first action for the toolbar button
-                       setIcon(getIcon(tbinfo->items.begin()->func_, true));
+                       setIcon(getIcon(*tbinfo->items.begin()->func_, true));
        }
 
        void mousePressEvent(QMouseEvent * e)
@@ -172,7 +173,7 @@ public:
                ToolbarInfo::item_iterator it = tbinfo->items.begin();
                ToolbarInfo::item_iterator const end = tbinfo->items.end();
                for (; it != end; ++it)
-                       if (!getStatus(it->func_).unknown())
+                       if (!getStatus(*it->func_).unknown())
                                panel->addButton(bar_->addItem(*it));
 
                QToolButton::mousePressEvent(e);
@@ -193,11 +194,12 @@ MenuButton::MenuButton(GuiToolbar * bar, ToolbarItem const & item, bool const st
        QString const name = toqstr(tbitem_.name_);
        QStringList imagedirs;
        imagedirs << "images/math/" << "images/";
-       for (int i = 0; i < imagedirs.size(); ++i) { 
+       for (int i = 0; i < imagedirs.size(); ++i) {
                QString imagedir = imagedirs.at(i);
-               FileName const fname = imageLibFileSearch(imagedir, name, "png");
+               FileName const fname = imageLibFileSearch(imagedir, name, "svgz,png",
+                       theGuiApp()->imageSearchMode());
                if (fname.exists()) {
-                       setIcon(QIcon(getPixmap(imagedir, name, "png")));
+                       setIcon(QIcon(getPixmap(imagedir, name, "svgz,png")));
                        break;
                }
        }
@@ -226,7 +228,7 @@ void MenuButton::initialize()
        ToolbarInfo::item_iterator it = tbinfo->items.begin();
        ToolbarInfo::item_iterator const end = tbinfo->items.end();
        for (; it != end; ++it)
-               if (!getStatus(it->func_).unknown())
+               if (!getStatus(*it->func_).unknown())
                        m->add(bar_->addItem(*it));
        setMenu(m);
 }
@@ -309,7 +311,7 @@ void GuiToolbar::add(ToolbarItem const & item)
                break;
                }
        case ToolbarItem::COMMAND: {
-               if (!getStatus(item.func_).unknown())
+               if (!getStatus(*item.func_).unknown())
                        addAction(addItem(item));
                break;
                }
@@ -319,16 +321,12 @@ void GuiToolbar::add(ToolbarItem const & item)
 }
 
 
-void GuiToolbar::update(bool in_math, bool in_table, bool in_review, 
-       bool in_mathmacrotemplate, bool in_ipa)
+void GuiToolbar::update(int context)
 {
        if (visibility_ & Toolbars::AUTO) {
-               bool show_it = (in_math && (visibility_ & Toolbars::MATH))
-                       || (in_table && (visibility_ & Toolbars::TABLE))
-                       || (in_review && (visibility_ & Toolbars::REVIEW))
-                       || (in_mathmacrotemplate && (visibility_ & Toolbars::MATHMACROTEMPLATE))
-                       || (in_ipa && (visibility_ & Toolbars::IPA));
-               setVisible(show_it);
+               setVisible(visibility_ & context & Toolbars::ALLOWAUTO);
+               if (isVisible() && commandBuffer() && (context & Toolbars::MINIBUFFER_FOCUS))
+                       commandBuffer()->setFocus();
        }
 
        // update visible toolbars only