summaryrefslogtreecommitdiff
path: root/src/modflagicondelegate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modflagicondelegate.cpp')
-rw-r--r--src/modflagicondelegate.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/modflagicondelegate.cpp b/src/modflagicondelegate.cpp
index 914503a1..96b2bd58 100644
--- a/src/modflagicondelegate.cpp
+++ b/src/modflagicondelegate.cpp
@@ -68,3 +68,20 @@ size_t ModFlagIconDelegate::getNumIcons(const QModelIndex &index) const
}
}
+
+QSize ModFlagIconDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &modelIndex) const
+{
+ int count = getNumIcons(modelIndex);
+ unsigned int index = modelIndex.data(Qt::UserRole + 1).toInt();
+ QSize result;
+ if (index < ModInfo::getNumMods()) {
+ result = QSize(count * 40, 20);
+ } else {
+ result = QSize(1, 20);
+ }
+ if (option.rect.width() > 0) {
+ result.setWidth(std::min(option.rect.width(), result.width()));
+ }
+ return result;
+}
+