summaryrefslogtreecommitdiff
path: root/src/modflagicondelegate.cpp
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2021-01-11 12:49:42 +0100
committerGitHub <noreply@github.com>2021-01-11 12:49:42 +0100
commit1dc2b225485a073d82e08a9820493086b2dda8b8 (patch)
tree5a4e5478d577f065c7282cb62992c2b6c735e13f /src/modflagicondelegate.cpp
parenta680dfa3e94b34bf6b0ebd65d29d7a9799e3183f (diff)
parent05efc74e402ca3770d9fdaa2557f4030c31ee198 (diff)
Merge pull request #1350 from Holt59/collapsible-separators
Collapsible separators - Fix & Improvements.
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 {};