summaryrefslogtreecommitdiff
path: root/src/modflagicondelegate.cpp
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-02-07 21:39:59 -0600
committerLostDragonist <lost.dragonist@gmail.com>2019-02-07 21:42:14 -0600
commit98683eca6f4b2668de875c14986657764e1123c7 (patch)
treee18947494d0040fe4dabcd8a75fb4b006a5ba6e4 /src/modflagicondelegate.cpp
parent10336caf9edca2204a64955903f865de6e2b6cb2 (diff)
Enable compact mode for mod list flags when column is smaller than 6 icons
Diffstat (limited to 'src/modflagicondelegate.cpp')
-rw-r--r--src/modflagicondelegate.cpp22
1 files changed, 15 insertions, 7 deletions
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<QString> ModFlagIconDelegate::getIcons(const QModelIndex &index) const {
QList<QString> result;
QVariant modid = index.data(Qt::UserRole + 1);
@@ -33,7 +43,7 @@ QList<QString> 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<QString> 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<QString> 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<QString> 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());
}
}