Miam-Player  0.8.0
A nice music player
libraryitemmodel.h
Go to the documentation of this file.
1 #ifndef LIBRARYITEMMODEL_H
2 #define LIBRARYITEMMODEL_H
3 
4 #include <QSet>
5 #include <model/genericdao.h>
6 #include <filehelper.h>
7 #include "miamitemmodel.h"
8 #include "separatoritem.h"
9 #include "miamlibrary_global.hpp"
10 
12 
19 {
20  Q_OBJECT
21 private:
23 
24 public:
25  explicit LibraryItemModel(QObject *parent = nullptr);
26 
27  virtual ~LibraryItemModel();
28 
29  virtual QChar currentLetter(const QModelIndex &index) const override;
30 
31  virtual LibraryFilterProxyModel* proxy() const override;
32 
34  void rebuildSeparators();
35 
36  void reset();
37 
38  inline QMultiHash<SeparatorItem*, QModelIndex> topLevelItems() const { return _topLevelItems; }
39 
40 public slots:
41  virtual void load(const QString & = QString::null) override;
42 };
43 
44 #endif // LIBRARYITEMMODEL_H
The LibraryItemModel class is used to cache information from the database, in order to increase perfo...
Definition: libraryitemmodel.h:18
virtual QChar currentLetter(const QModelIndex &index) const =0
#define MIAMLIBRARY_LIBRARY
Definition: miamlibrary_global.hpp:8
virtual void load(const QString &=QString::null)=0
The MiamItemModel class.
Definition: miamitemmodel.h:17
QMultiHash< SeparatorItem *, QModelIndex > _topLevelItems
Definition: miamitemmodel.h:28
QMultiHash< SeparatorItem *, QModelIndex > topLevelItems() const
Definition: libraryitemmodel.h:38
The LibraryFilterProxyModel class is used to filter Library by looking in all items.
Definition: libraryfilterproxymodel.h:18
virtual QSortFilterProxyModel * proxy() const =0