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
commit9879aae5757e0c2ca930b38c6b7a4aeb4715d2d9 (patch)
tree43ccc85bf5998c4e37abc7cdb627b49276cc441b /src/pluginflagicondelegate.h
parentcc9827cdda5776a4fd540a2ab0fb8a08ec9f75a7 (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