Miam-Player  0.8.0
A nice music player
jumptowidget.h
Go to the documentation of this file.
1 #ifndef JUMPTOWIDGET_H
2 #define JUMPTOWIDGET_H
3 
4 #include <QAbstractItemView>
5 #include <QMouseEvent>
6 #include <QWidget>
7 
8 #include "miamcore_global.h"
9 
16 class MIAMCORE_LIBRARY JumpToWidget : public QWidget
17 {
18  Q_OBJECT
19 private:
20  QAbstractItemView *_view;
21 
22  QPoint _pos;
23 
24  QChar _currentLetter;
25 
26  QSet<QChar> _lettersToHighlight;
27 
28 public:
29  explicit JumpToWidget(QAbstractItemView *view);
30 
31  virtual ~JumpToWidget();
32 
33  virtual bool eventFilter(QObject *obj, QEvent *event) override;
34 
35  inline void setCurrentLetter(const QChar &currentLetter) { _currentLetter = currentLetter; }
36  inline QChar currentLetter() const { return _currentLetter; }
37 
38  virtual QSize sizeHint() const override;
39 
40 protected:
41  virtual void leaveEvent(QEvent *event) override;
42 
43  virtual void mouseMoveEvent(QMouseEvent *event) override;
44 
45  virtual void paintEvent(QPaintEvent *event) override;
46 
48  virtual void resizeEvent(QResizeEvent *event) override;
49 
50 public slots:
51  inline void highlightLetters(const QSet<QChar> &letters) { _lettersToHighlight = letters; }
52 
53 signals:
54  void aboutToScrollTo(const QString &letter);
55 };
56 
57 #endif // JUMPTOWIDGET_H
QChar currentLetter() const
Definition: jumptowidget.h:36
void setCurrentLetter(const QChar &currentLetter)
Definition: jumptowidget.h:35
The JumpToWidget class displays letters which can be clicked to jump to a particular position in your...
Definition: jumptowidget.h:16
void highlightLetters(const QSet< QChar > &letters)
Definition: jumptowidget.h:51
#define MIAMCORE_LIBRARY
Definition: miamcore_global.h:10