Miam-Player  0.8.0
A nice music player
miamsortfilterproxymodel.h
Go to the documentation of this file.
1 #ifndef MIAMSORTFILTERPROXYMODEL_H
2 #define MIAMSORTFILTERPROXYMODEL_H
3 
4 #include <QSortFilterProxyModel>
5 #include "miamcore_global.h"
6 
8 class SeparatorItem;
9 
18 class MIAMCORE_LIBRARY MiamSortFilterProxyModel : public QSortFilterProxyModel
19 {
20  Q_OBJECT
21 protected:
23  QMultiHash<SeparatorItem*, QModelIndex> _topLevelItems;
24 
25 public:
26  explicit MiamSortFilterProxyModel(QObject *parent = nullptr);
27 
29 
30  inline void setTopLevelItems(const QMultiHash<SeparatorItem*, QModelIndex> &topLevelItems) { _topLevelItems = topLevelItems; }
31 
33  void findMusic(const QString &text);
34 
36  void highlightMatchingText(const QString &text);
37 
39  virtual int defaultSortColumn() const { return 0; }
40 
41 private:
43  void filterLibrary(const QString &filter);
44 
45 signals:
46  void aboutToHighlightLetters(const QSet<QChar> &letters);
47 };
48 
49 #endif // MIAMSORTFILTERPROXYMODEL_H
virtual int defaultSortColumn() const
Definition: miamsortfilterproxymodel.h:39
The SeparatorItem class.
Definition: separatoritem.h:12
QMultiHash< SeparatorItem *, QModelIndex > _topLevelItems
Definition: miamsortfilterproxymodel.h:23
virtual ~MiamSortFilterProxyModel()
Definition: miamsortfilterproxymodel.h:28
The MiamSortFilterProxyModel class provides support for the MiamItemModel class.
Definition: miamsortfilterproxymodel.h:18
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:11
void setTopLevelItems(const QMultiHash< SeparatorItem *, QModelIndex > &topLevelItems)
Definition: miamsortfilterproxymodel.h:30