Mercurial > minori
annotate include/gui/widgets/sidebar.h @ 229:adc20fa321c1
theme: force Fusion style on platforms other than Win32 or OS X
I was reluctant to do this, but most of the other styles just
look like pure shite regardless of whether I force a stylesheet
on them or not. KDE's style is actually hilariously bad paired
with my stylesheet, so I've decided to also make the stylesheet
Windows-specific as well, because that's really the only platform
where it makes sense in the first place.
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Wed, 10 Jan 2024 21:23:57 -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 |