Chatterino
NotebookButton.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 #include <QWidget>
6 
7 namespace chatterino {
8 
9 class Notebook;
10 
11 class NotebookButton : public Button
12 {
13  Q_OBJECT
14 
15 public:
16  enum Icon { None, Plus, User, Settings };
17 
18  explicit NotebookButton(Notebook *parent);
19 
20  void setIcon(Icon icon);
21  Icon getIcon() const;
22 
23 protected:
24  virtual void themeChangedEvent() override;
25  virtual void paintEvent(QPaintEvent *) override;
26  virtual void mouseReleaseEvent(QMouseEvent *) override;
27  virtual void dragEnterEvent(QDragEnterEvent *) override;
28  virtual void dragLeaveEvent(QDragLeaveEvent *) override;
29  virtual void dropEvent(QDropEvent *) override;
30 
31  virtual void hideEvent(QHideEvent *) override;
32  virtual void showEvent(QShowEvent *) override;
33 
34 signals:
35  void leftClicked();
36 
37 private:
38  Notebook *parent_ = nullptr;
39  QPoint mousePos_;
40  Icon icon_ = None;
41 };
42 
43 } // namespace chatterino
Definition: NotebookButton.hpp:16
virtual void mouseReleaseEvent(QMouseEvent *) override
Definition: NotebookButton.cpp:142
virtual void dropEvent(QDropEvent *) override
Definition: NotebookButton.cpp:182
Definition: Application.cpp:48
Definition: NotebookButton.hpp:16
virtual void themeChangedEvent() override
Definition: NotebookButton.cpp:38
Definition: NotebookButton.hpp:16
virtual void showEvent(QShowEvent *) override
Definition: NotebookButton.cpp:207
NotebookButton(Notebook *parent)
Definition: NotebookButton.cpp:19
Definition: Button.hpp:16
Settings which are availlable for reading and writing on the gui thread.
Definition: Settings.hpp:78
Definition: Notebook.hpp:22
void setIcon(Icon icon)
Definition: NotebookButton.cpp:26
virtual void dragEnterEvent(QDragEnterEvent *) override
Definition: NotebookButton.cpp:156
Icon
Definition: NotebookButton.hpp:16
virtual void hideEvent(QHideEvent *) override
Definition: NotebookButton.cpp:202
virtual void dragLeaveEvent(QDragLeaveEvent *) override
Definition: NotebookButton.cpp:170
Icon getIcon() const
Definition: NotebookButton.cpp:33
virtual void paintEvent(QPaintEvent *) override
Definition: NotebookButton.cpp:43
Definition: NotebookButton.hpp:11