]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/kitemlistselectiontoggle.h
Merge branch 'release/20.12'
[dolphin.git] / src / kitemviews / private / kitemlistselectiontoggle.h
1 /*
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 #ifndef KITEMLISTSELECTIONTOGGLE_H
7 #define KITEMLISTSELECTIONTOGGLE_H
8
9 #include "dolphin_export.h"
10
11 #include <QGraphicsWidget>
12 #include <QPixmap>
13
14
15 /**
16 * @brief Allows to toggle between the selected and unselected state of an item.
17 */
18 class DOLPHIN_EXPORT KItemListSelectionToggle : public QGraphicsWidget
19 {
20 Q_OBJECT
21
22 public:
23 explicit KItemListSelectionToggle(QGraphicsItem* parent);
24 ~KItemListSelectionToggle() override;
25
26 void setChecked(bool checked);
27 bool isChecked() const;
28
29 void setHovered(bool hovered);
30
31 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
32
33 protected:
34 void resizeEvent(QGraphicsSceneResizeEvent* event) override;
35
36 private:
37 void updatePixmap();
38 int iconSize() const;
39
40 private:
41 bool m_checked;
42 bool m_hovered;
43 QPixmap m_pixmap;
44 };
45
46 #endif
47
48