summaryrefslogtreecommitdiff
path: root/src/pluginflagicondelegate.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-07-21 19:14:24 +0200
committerTannin <devnull@localhost>2014-07-21 19:14:24 +0200
commit0050cb07409d775efe14e728c1cef4a2c33aa1db (patch)
treeed3eb9363aa35617f0dd92c4746bf14e032d010f /src/pluginflagicondelegate.h
parentf6ef5477e718b14af99bd22436f66dee0b9d22cd (diff)
- download-list will no longer show a file as having incomplete data if there is no file version
- added a new mod column with icons displaying the content of the mod - MO now differentiates between mods using an internal name that disambiguates between foreign and regular mods
Diffstat (limited to 'src/pluginflagicondelegate.h')
-rw-r--r--src/pluginflagicondelegate.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/pluginflagicondelegate.h b/src/pluginflagicondelegate.h
index 554e968b..3c05db72 100644
--- a/src/pluginflagicondelegate.h
+++ b/src/pluginflagicondelegate.h
@@ -3,15 +3,34 @@
#include "icondelegate.h"
-class PluginFlagIconDelegate : public IconDelegate
+/**
+ * @brief an icon delegate that takes the list of icons from a user-defines data role
+ */
+class GenericIconDelegate : public IconDelegate
{
+Q_OBJECT
public:
- PluginFlagIconDelegate(QObject *parent = NULL);
-
- // IconDelegate interface
+ /**
+ * @brief constructor
+ * @param parent parent object
+ * @param role role of the itemmodel from which the icon list can be queried (as a QVariantList)
+ * @param logicalIndex logical index within the model. This is part of a "hack". Normally "empty" icons will be allocated the same
+ * space as a regular icon. This way the model can use empty icons as spacers and thus align same icons horizontally.
+ * Now, if you set the logical Index to a valid column and connect the columnResized slot to the sectionResized signal
+ * of the view, the delegate will turn off this behaviour if the column is smaller than "compactSize"
+ * @param compactSize see explanation of logicalIndex
+ */
+ GenericIconDelegate(QObject *parent = NULL, int role = Qt::UserRole + 1, int logicalIndex = -1, int compactSize = 150);
+public slots:
+ void columnResized(int logicalIndex, int oldSize, int newSize);
private:
virtual QList<QIcon> getIcons(const QModelIndex &index) const;
virtual size_t getNumIcons(const QModelIndex &index) const;
+private:
+ int m_Role;
+ int m_LogicalIndex;
+ int m_CompactSize;
+ bool m_Compact;
};
#endif // PLUGINFLAGICONDELEGATE_H