Miam-Player  0.8.0
A nice music player
searchdialog.h
Go to the documentation of this file.
1 #ifndef SEARCHDIALOG_H
2 #define SEARCHDIALOG_H
3 
4 #include <abstractsearchdialog.h>
5 #include "ui_searchdialog.h"
6 
8 
10 class ViewPlaylists;
11 
18 {
19  Q_OBJECT
20 private:
21  ViewPlaylists *_viewPlaylists;
22 
23  QRect _oldRect;
24 
25  QCheckBox *_checkBoxLibrary;
26 
27  QMap<QListView*, QList<QStandardItem*>> _hiddenItems;
28  bool _isMaximized;
29 
30 public:
32  explicit SearchDialog(ViewPlaylists *viewPlaylists);
33 
34  virtual ~SearchDialog();
35 
37  virtual void addSource(QCheckBox *checkBox) override;
38 
40  inline virtual QListView * albums() const override { return _albums; }
41 
43  inline virtual QListView * artists() const override { return _artists; }
44 
45  virtual bool eventFilter(QObject *obj, QEvent *event) override;
46 
48  void setSearchExpression(const QString &text);
49 
51  inline virtual QListView * tracks() const override { return _tracks; }
52 
53 protected:
55  virtual void paintEvent(QPaintEvent *) override;
56 
57 private:
59  void searchMoreResults();
60 
61 public slots:
62  virtual void aboutToProcessRemoteTracks(const std::list<TrackDAO> &tracks) override;
63 
64  void clear();
65 
66  void moveSearchDialog(int = -1, int = -1);
67 
69  virtual void processResults(Request type, const QStandardItemList &results) override;
70 
71 private slots:
72  void artistWasDoubleClicked(const QModelIndex &artistIndex);
73  void albumWasDoubleClicked(const QModelIndex &albumIndex);
74  void trackWasDoubleClicked(const QModelIndex &track);
75 
77  void localSearch(const QString &text);
78 
80  void searchLabelWasClicked(const QString &link);
81 
82  void toggleItems(bool enabled);
83 };
84 
85 #endif // SEARCHDIALOG_H
The ViewPlaylists class is the implementation of AbstractViewPlaylists.
Definition: viewplaylists.h:15
The SearchDialog class is a popup dialog which opens when one is typing text.
Definition: searchdialog.h:17
virtual void processResults(Request type, const QStandardItemList &results)=0
virtual void addSource(QCheckBox *checkBox)=0
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
virtual QListView * artists() const override
Definition: searchdialog.h:43
QList< QStandardItem * > QStandardItemList
Definition: abstractsearchdialog.h:12
virtual QListView * albums() const override
Definition: searchdialog.h:40
virtual QListView * tracks() const override
Definition: searchdialog.h:51
QListView * _artists
Definition: ui_searchdialog.h:42
Definition: ui_searchdialog.h:286
virtual void aboutToProcessRemoteTracks(const std::list< TrackDAO > &tracks)=0
QListView * _tracks
Definition: ui_searchdialog.h:54
#define MIAMTABPLAYLISTS_LIBRARY
Definition: miamtabplaylists_global.hpp:8
QListView * _albums
Definition: ui_searchdialog.h:48