Mercurial > minori
annotate include/gui/widgets/sidebar.h @ 245:8b174bcde667
hgignore: don't ignore .app files
so we can properly use our .app template
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Tue, 23 Jan 2024 09:44:01 -0500 |
parents | 80f49f623d30 |
children | 862d0d8619f6 |
rev | line source |
---|---|
46 | 1 #ifndef __gui__sidebar_h |
2 #define __gui__sidebar_h | |
69 | 3 |
46 | 4 #include <QItemSelectionModel> |
5 #include <QListWidget> | |
85 | 6 |
7 class QListWidgetItem; | |
69 | 8 |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
85
diff
changeset
|
9 class SideBar final : public QListWidget { |
46 | 10 Q_OBJECT |
11 | |
12 public: | |
13 SideBar(QWidget* parent = nullptr); | |
14 QListWidgetItem* AddItem(QString name, QIcon icon = QIcon()); | |
15 QListWidgetItem* AddSeparator(); | |
112
80f49f623d30
locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents:
95
diff
changeset
|
16 int GetCurrentItem(); |
46 | 17 bool IndexIsSeparator(QModelIndex index) const; |
18 static QIcon CreateIcon(const char* file); | |
69 | 19 void SetBackgroundColor(QColor color); |
46 | 20 |
21 signals: | |
22 void CurrentItemChanged(int index); | |
23 | |
58
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
24 public slots: |
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
25 void SetCurrentItem(int index); |
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
26 |
46 | 27 protected: |
28 virtual void mouseMoveEvent(QMouseEvent* event) override; | |
29 QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex& index, | |
30 const QEvent* event) const override; | |
31 int RemoveSeparatorsFromIndex(int index); | |
58
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
32 int AddSeparatorsToIndex(int index); |
46 | 33 }; |
69 | 34 |
46 | 35 #endif // __gui__sidebar_h |