summaryrefslogtreecommitdiff
path: root/src/genericicondelegate.h
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-07-27 18:34:32 +0200
committerTannin <devnull@localhost>2014-07-27 18:34:32 +0200
commit470b6ed0bf20525988d719d23725f7c9d19a9f36 (patch)
tree289500f0d9e0f17f488fbc1dd53bfd5498ebeb65 /src/genericicondelegate.h
parent0050cb07409d775efe14e728c1cef4a2c33aa1db (diff)
- browser dialog now has a hidden url-field (for testing only)
- loot_cli is no longer part of this project. I will probably create a fork of loot that allows command-line usage instead - loot integration now works with such a modified loot version - integrated loot will now also integrate incompatibility messages in the MO UI - overwrite-markers are now updated as the list order is changed - fnis checker will now always allow the user to ignore fnis errors - plugin interface now has a function to wait for handles returned from startApplication (which can be job or process handles) - bugfix: non-mo mods sharing the name with regular mods now have a different internal name - bugfix: using hotkeys the vanilla game-plugins could be moved
Diffstat (limited to 'src/genericicondelegate.h')
-rw-r--r--src/genericicondelegate.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/genericicondelegate.h b/src/genericicondelegate.h
new file mode 100644
index 00000000..8bc75e27
--- /dev/null
+++ b/src/genericicondelegate.h
@@ -0,0 +1,36 @@
+#ifndef GENERICICONDELEGATE_H
+#define GENERICICONDELEGATE_H
+
+#include "icondelegate.h"
+
+/**
+ * @brief an icon delegate that takes the list of icons from a user-defines data role
+ */
+class GenericIconDelegate : public IconDelegate
+{
+Q_OBJECT
+public:
+ /**
+ * @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 // GENERICICONDELEGATE_H