From 98683eca6f4b2668de875c14986657764e1123c7 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Thu, 7 Feb 2019 21:39:59 -0600 Subject: Enable compact mode for mod list flags when column is smaller than 6 icons --- src/modflagicondelegate.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/modflagicondelegate.cpp') diff --git a/src/modflagicondelegate.cpp b/src/modflagicondelegate.cpp index a8e9d58f..343c6ee3 100644 --- a/src/modflagicondelegate.cpp +++ b/src/modflagicondelegate.cpp @@ -14,11 +14,21 @@ ModInfo::EFlag ModFlagIconDelegate::m_ArchiveConflictFlags[3] = { ModInfo::FLAG_ , ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITE , ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITTEN }; -ModFlagIconDelegate::ModFlagIconDelegate(QObject *parent) +ModFlagIconDelegate::ModFlagIconDelegate(QObject *parent, int logicalIndex, int compactSize) : IconDelegate(parent) + , m_LogicalIndex(logicalIndex) + , m_CompactSize(compactSize) + , m_Compact(false) { } +void ModFlagIconDelegate::columnResized(int logicalIndex, int, int newSize) +{ + if (logicalIndex == m_LogicalIndex) { + m_Compact = newSize < m_CompactSize; + } +} + QList ModFlagIconDelegate::getIcons(const QModelIndex &index) const { QList result; QVariant modid = index.data(Qt::UserRole + 1); @@ -33,7 +43,7 @@ QList ModFlagIconDelegate::getIcons(const QModelIndex &index) const { if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); - } else { + } else if (!m_Compact) { result.append(QString()); } } @@ -44,8 +54,7 @@ QList ModFlagIconDelegate::getIcons(const QModelIndex &index) const { if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); - } - else { + } else if (!m_Compact) { result.append(QString()); } } @@ -56,8 +65,7 @@ QList ModFlagIconDelegate::getIcons(const QModelIndex &index) const { if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); - } - else { + } else if (!m_Compact) { result.append(QString()); } } @@ -68,7 +76,7 @@ QList ModFlagIconDelegate::getIcons(const QModelIndex &index) const { if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); - } else { + } else if (!m_Compact) { result.append(QString()); } } -- cgit v1.3.1