summaryrefslogtreecommitdiff
path: root/src/icondelegate.h
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2021-01-06 19:43:21 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-10 10:27:22 +0100
commit1ac3f4d8e8ee7461f047d34e196df40499e89557 (patch)
tree803e663c2da154d0d48a4f284185b37c53e0b2f2 /src/icondelegate.h
parent76796796bec37a1670cfc4e0b1e42e7b1096b237 (diff)
Display children contents in collapsed separator.
Diffstat (limited to 'src/icondelegate.h')
-rw-r--r--src/icondelegate.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/icondelegate.h b/src/icondelegate.h
index bac71a62..a123470e 100644
--- a/src/icondelegate.h
+++ b/src/icondelegate.h
@@ -20,9 +20,9 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#ifndef ICONDELEGATE_H
#define ICONDELEGATE_H
-#include "modinfo.h"
-#include <QStyledItemDelegate>
#include <QAbstractProxyModel>
+#include <QAbstractItemView>
+#include <QStyledItemDelegate>
class IconDelegate : public QStyledItemDelegate
@@ -30,16 +30,28 @@ class IconDelegate : public QStyledItemDelegate
Q_OBJECT;
public:
- explicit IconDelegate(QObject *parent = 0);
- virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+ explicit IconDelegate(QTreeView* view, int column = -1, int compactSize = 100);
+
+ void paint(QPainter *painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
+
+protected:
+
+ // check if icons should be compacted or not
+ //
+ bool compact() const { return m_compact; }
static void paintIcons(
QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index, const QList<QString>& icons);
-protected:
virtual QList<QString> getIcons(const QModelIndex &index) const = 0;
virtual size_t getNumIcons(const QModelIndex &index) const = 0;
+
+private:
+
+ int m_column;
+ int m_compactSize;
+ bool m_compact;
};
#endif // ICONDELEGATE_H