From 4b8d314f575d9e893d8dda7431194f8b470fc888 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 18 Sep 2022 11:08:01 -0400 Subject: First step to adopt mingui as part of the project -- break it! --- qdeduper/imageitem.hpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 qdeduper/imageitem.hpp (limited to 'qdeduper/imageitem.hpp') diff --git a/qdeduper/imageitem.hpp b/qdeduper/imageitem.hpp new file mode 100644 index 0000000..43fb0c8 --- /dev/null +++ b/qdeduper/imageitem.hpp @@ -0,0 +1,42 @@ +#ifndef IMAGEITEM_HPP +#define IMAGEITEM_HPP + +#include +#include +#include +#include + +class ImageItem : public QStandardItem +{ +public: + enum ImageItemRoles + { + path_role = Qt::ItemDataRole::UserRole + 0x1000, + dimension_role, + file_size_role, + hotkey_role + }; + ImageItem(QString fn, QString dispn, QKeySequence hotkey, double pxratio = 1.0); +}; + +class ImageItemDelegate : public QAbstractItemDelegate +{ + Q_OBJECT +private: + const static int MARGIN = 3; + const static int BORDER = 3; + const static int HKPADD = 4; + const static int LINESP = 4; + const static int HKSHDS = 2; + int vw = -1; + int hh = -1; +public: + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; + void resize(const QModelIndex &index); + void setScrollbarMargins(int vw, int hh); +Q_SIGNALS: + void sizeHintChanged(const QModelIndex &index); +}; + +#endif -- cgit v1.2.3