summaryrefslogtreecommitdiff
path: root/src/modflagicondelegate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modflagicondelegate.cpp')
-rw-r--r--src/modflagicondelegate.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/modflagicondelegate.cpp b/src/modflagicondelegate.cpp
index 3ac1085e..30a3c376 100644
--- a/src/modflagicondelegate.cpp
+++ b/src/modflagicondelegate.cpp
@@ -1,25 +1,16 @@
#include "modflagicondelegate.h"
#include "modlist.h"
+#include "modlistview.h"
#include <log.h>
#include <QList>
using namespace MOBase;
-ModFlagIconDelegate::ModFlagIconDelegate(QObject *parent, int logicalIndex, int compactSize)
- : IconDelegate(parent)
- , m_LogicalIndex(logicalIndex)
- , m_CompactSize(compactSize)
- , m_Compact(false)
+ModFlagIconDelegate::ModFlagIconDelegate(ModListView* view, int column, int compactSize)
+ : IconDelegate(view, column, compactSize), m_view(view)
{
}
-void ModFlagIconDelegate::columnResized(int logicalIndex, int, int newSize)
-{
- if (logicalIndex == m_LogicalIndex) {
- m_Compact = newSize < m_CompactSize;
- }
-}
-
QList<QString> ModFlagIconDelegate::getIconsForFlags(
std::vector<ModInfo::EFlag> flags, bool compact)
{
@@ -43,8 +34,9 @@ QList<QString> ModFlagIconDelegate::getIcons(const QModelIndex &index) const
QVariant modid = index.data(ModList::IndexRole);
if (modid.isValid()) {
- ModInfo::Ptr info = ModInfo::getByIndex(modid.toInt());
- return getIconsForFlags(info->getFlags(), m_Compact);
+ bool compact;
+ auto flags = m_view->modFlags(index, &compact);
+ return getIconsForFlags(flags, compact || this->compact());
}
return {};