File indexing completed on 2024-05-12 05:47:30
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #ifndef KITEMLISTSELECTIONTOGGLE_H 0007 #define KITEMLISTSELECTIONTOGGLE_H 0008 0009 #include "dolphin_export.h" 0010 0011 #include <QGraphicsWidget> 0012 #include <QPixmap> 0013 0014 /** 0015 * @brief Allows to toggle between the selected and unselected state of an item. 0016 */ 0017 class DOLPHIN_EXPORT KItemListSelectionToggle : public QGraphicsWidget 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 explicit KItemListSelectionToggle(QGraphicsItem *parent); 0023 ~KItemListSelectionToggle() override; 0024 0025 void setChecked(bool checked); 0026 bool isChecked() const; 0027 0028 void setHovered(bool hovered); 0029 0030 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; 0031 0032 protected: 0033 void resizeEvent(QGraphicsSceneResizeEvent *event) override; 0034 0035 private: 0036 void updatePixmap(); 0037 int iconSize() const; 0038 0039 private: 0040 bool m_checked; 0041 bool m_hovered; 0042 QPixmap m_pixmap; 0043 }; 0044 0045 #endif