]> git.lyx.org Git - features.git/blobdiff - src/frontends/qt4/GuiToolbar.h
* center the line in the layout category headers in the middle of the lowercase...
[features.git] / src / frontends / qt4 / GuiToolbar.h
index e5b869caa0ff8f4f60df956baa330610a7de751b..f616410658cc3c4358375fad71becdf14533840f 100644 (file)
 
 #include "Session.h"
 
+#include <QAbstractProxyModel>
+#include <QComboBox>
 #include <QList>
 #include <QToolBar>
-#include <QComboBox>
 
+class QSortFilterProxyModel;
 class QStandardItemModel;
 
 namespace lyx {
 
-class Inset;
 class DocumentClass;
+class Inset;
 class ToolbarItem;
 
 namespace frontend {
 
-class FilterItemDelegate;
+class Action;
 class GuiCommandBuffer;
-class GuiFilterProxyModel;
+class GuiLayoutFilterModel;
 class GuiView;
-class Action;
-
+class LayoutItemDelegate;
 
 class GuiLayoutBox : public QComboBox
 {
@@ -50,7 +51,8 @@ public:
        /// Populate the layout combobox.
        void updateContents(bool reset);
        /// Add Item to Layout box according to sorting settings from preferences
-       void addItemSort(docstring const & item, bool sorted);
+       void addItemSort(docstring const & item, docstring const & category,
+               bool sorted, bool sortedByCat);
 
        ///
        void showPopup();
@@ -65,11 +67,17 @@ private Q_SLOTS:
        void selected(int index);
 
 private:
+       friend class LayoutItemDelegate;
+
        ///
        void resetFilter();
        ///
        void setFilter(QString const & s);
-
+       ///
+       QString charFilterRegExp(QString const & filter);
+       ///
+       void countCategories();
+       
        ///
        GuiView & owner_;
        ///
@@ -80,13 +88,17 @@ private:
        /// the layout model: 1st column translated, 2nd column raw layout name
        QStandardItemModel * model_;
        /// the proxy model filtering \c model_
-       GuiFilterProxyModel * filterModel_;
+       GuiLayoutFilterModel * filterModel_;
        /// the (model-) index of the last successful selection
        int lastSel_;
        /// the character filter
        QString filter_;
        ///
-       FilterItemDelegate * filterItemDelegate_;
+       LayoutItemDelegate * layoutItemDelegate_;
+       ///
+       unsigned visibleCategories_;
+       ///
+       bool inShowPopup_;
 };