]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/kitemlistselectiontoggle.h
GIT_SILENT Sync po/docbooks with svn
[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 * @brief Allows to toggle between the selected and unselected state of an item.
16 */
17 class DOLPHIN_EXPORT KItemListSelectionToggle : public QGraphicsWidget
18 {
19 Q_OBJECT
20
21 public:
22 explicit KItemListSelectionToggle(QGraphicsItem *parent);
23 ~KItemListSelectionToggle() override;
24
25 void setChecked(bool checked);
26 bool isChecked() const;
27
28 void setHovered(bool hovered);
29
30 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;
31
32 protected:
33 void resizeEvent(QGraphicsSceneResizeEvent *event) override;
34
35 private:
36 void updatePixmap();
37 int iconSize() const;
38
39 private:
40 bool m_checked;
41 bool m_hovered;
42 QPixmap m_pixmap;
43 };
44
45 #endif