File indexing completed on 2025-03-09 04:51:37
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Christian Mollekopf <mollekopf@kolabsys.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0 0005 */ 0006 0007 #pragma once 0008 0009 #include <QStyledItemDelegate> 0010 0011 class StyledCalendarDelegate : public QStyledItemDelegate 0012 { 0013 Q_OBJECT 0014 0015 public: 0016 explicit StyledCalendarDelegate(QObject *parent); 0017 ~StyledCalendarDelegate() override; 0018 0019 void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; 0020 QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; 0021 0022 enum Action { Quickview, Total }; 0023 0024 Q_SIGNALS: 0025 void action(const QModelIndex &, int); 0026 0027 protected: 0028 bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override; 0029 0030 private: 0031 QList<Action> getActions(const QStyleOptionViewItem &option, const QModelIndex &index) const; 0032 QHash<Action, QIcon> mIcon; 0033 };