Miam-Player  0.8.0
A nice music player
abstractsearchdialog.h
Go to the documentation of this file.
1 #ifndef ABSTRACTSEARCHDIALOG_H
2 #define ABSTRACTSEARCHDIALOG_H
3 
4 #include "miamcore_global.h"
5 #include <QCheckBox>
6 #include <QDialog>
7 #include <QListView>
8 #include <QStandardItem>
9 
10 #include "model/trackdao.h"
11 
12 typedef QList<QStandardItem*> QStandardItemList;
13 
19 class MIAMCORE_LIBRARY AbstractSearchDialog : public QWidget
20 {
21  Q_OBJECT
22  Q_ENUMS(Request)
23  Q_ENUMS(DataType)
24 public:
25  enum Request { Artist = 0,
26  Album = 1,
27  Track = 2};
28 
29  enum DataType { DT_Origin = Qt::UserRole + 1,
30  DT_Identifier = Qt::UserRole + 2};
31 
32  explicit AbstractSearchDialog(QWidget *parent = nullptr, Qt::WindowFlags f = 0) : QWidget(parent, f) {}
33 
34  virtual ~AbstractSearchDialog() {}
35 
36  virtual void addSource(QCheckBox *checkBox) = 0;
37 
38  virtual QListView * artists() const = 0;
39 
40  virtual QListView * albums() const = 0;
41 
42  virtual QListView * tracks() const = 0;
43 
44 public slots:
45  virtual void processResults(Request type, const QStandardItemList &results) = 0;
46 
47  virtual void aboutToProcessRemoteTracks(const std::list<TrackDAO> &tracks) = 0;
48 
49 signals:
50  void aboutToSearch(const QString &text);
51 };
52 
53 #endif // ABSTRACTSEARCHDIALOG_H
AbstractSearchDialog(QWidget *parent=nullptr, Qt::WindowFlags f=0)
Definition: abstractsearchdialog.h:32
DataType
Definition: abstractsearchdialog.h:29
virtual ~AbstractSearchDialog()
Definition: abstractsearchdialog.h:34
The AbstractSearchDialog class is a pure virtual class which can be passed to plugins to be extended...
Definition: abstractsearchdialog.h:19
Request
Definition: abstractsearchdialog.h:25
QList< QStandardItem * > QStandardItemList
Definition: abstractsearchdialog.h:12
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:11