diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | src/modconflicticondelegate.cpp | 25 | ||||
| -rw-r--r-- | src/modconflicticondelegate.h | 26 | ||||
| -rw-r--r-- | src/modflagicondelegate.h | 6 |
4 files changed, 39 insertions, 31 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ecb95c9e..da317309 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -132,6 +132,11 @@ add_filter(NAME src/modinfo/dialog GROUPS modinfodialogtab modinfodialogtextfiles ) + +add_filter(NAME src/modinfo/dialog/widgets GROUPS + modidlineedit +) + add_filter(NAME src/modlist GROUPS modlist modlistdropinfo @@ -142,6 +147,11 @@ add_filter(NAME src/modlist GROUPS modlistcontextmenu ) +add_filter(NAME src/delegates GROUPS + modflagicondelegate + modconflicticondelegate +) + add_filter(NAME src/plugins GROUPS pluginlist pluginlistsortproxy @@ -221,9 +231,6 @@ add_filter(NAME src/widgets GROUPS lcdnumber loglist loghighlighter - modflagicondelegate - modconflicticondelegate - modidlineedit noeditdelegate qtgroupingproxy texteditor diff --git a/src/modconflicticondelegate.cpp b/src/modconflicticondelegate.cpp index 9680aca3..a5e80d53 100644 --- a/src/modconflicticondelegate.cpp +++ b/src/modconflicticondelegate.cpp @@ -5,18 +5,6 @@ using namespace MOBase; -ModInfo::EConflictFlag ModConflictIconDelegate::m_ConflictFlags[4] = { ModInfo::FLAG_CONFLICT_MIXED - , ModInfo::FLAG_CONFLICT_OVERWRITE - , ModInfo::FLAG_CONFLICT_OVERWRITTEN - , ModInfo::FLAG_CONFLICT_REDUNDANT }; - -ModInfo::EConflictFlag ModConflictIconDelegate::m_ArchiveLooseConflictFlags[2] = { ModInfo::FLAG_ARCHIVE_LOOSE_CONFLICT_OVERWRITE - , ModInfo::FLAG_ARCHIVE_LOOSE_CONFLICT_OVERWRITTEN }; - -ModInfo::EConflictFlag ModConflictIconDelegate::m_ArchiveConflictFlags[3] = { ModInfo::FLAG_ARCHIVE_CONFLICT_MIXED - , ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITE - , ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITTEN }; - ModConflictIconDelegate::ModConflictIconDelegate(QObject *parent, int logicalIndex, int compactSize) : IconDelegate(parent) , m_LogicalIndex(logicalIndex) @@ -44,7 +32,7 @@ QList<QString> ModConflictIconDelegate::getIconsForFlags( // insert conflict icons to provide nicer alignment { // insert loose file conflicts first auto iter = std::find_first_of(flags.begin(), flags.end(), - m_ConflictFlags, m_ConflictFlags + 4); + s_ConflictFlags.begin(), s_ConflictFlags.end()); if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); @@ -65,8 +53,8 @@ QList<QString> ModConflictIconDelegate::getIconsForFlags( } { // insert loose vs archive overwritten third - auto iter = std::find_first_of(flags.begin(), flags.end(), - m_ArchiveLooseConflictFlags + 1, m_ArchiveLooseConflictFlags + 2); + auto iter = std::find(flags.begin(), flags.end(), + ModInfo::FLAG_ARCHIVE_LOOSE_CONFLICT_OVERWRITTEN); if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); @@ -77,7 +65,7 @@ QList<QString> ModConflictIconDelegate::getIconsForFlags( { // insert archive conflicts last auto iter = std::find_first_of(flags.begin(), flags.end(), - m_ArchiveConflictFlags, m_ArchiveConflictFlags + 3); + s_ArchiveConflictFlags.begin(), s_ArchiveConflictFlags.end()); if (iter != flags.end()) { result.append(getFlagIcon(*iter)); flags.erase(iter); @@ -133,7 +121,8 @@ size_t ModConflictIconDelegate::getNumIcons(const QModelIndex &index) const ModInfo::Ptr info = ModInfo::getByIndex(modIdx); std::vector<ModInfo::EConflictFlag> flags = info->getConflictFlags(); size_t count = flags.size(); - if (std::find_first_of(flags.begin(), flags.end(), m_ConflictFlags, m_ConflictFlags + 4) == flags.end()) { + if (std::find_first_of(flags.begin(), flags.end(), + s_ConflictFlags.begin(), s_ConflictFlags.end()) == flags.end()) { ++count; } return count; @@ -142,7 +131,6 @@ size_t ModConflictIconDelegate::getNumIcons(const QModelIndex &index) const } } - QSize ModConflictIconDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &modelIndex) const { size_t count = getNumIcons(modelIndex); @@ -158,4 +146,3 @@ QSize ModConflictIconDelegate::sizeHint(const QStyleOptionViewItem &option, cons } return result; } - diff --git a/src/modconflicticondelegate.h b/src/modconflicticondelegate.h index 8645da12..7ab1bd11 100644 --- a/src/modconflicticondelegate.h +++ b/src/modconflicticondelegate.h @@ -1,6 +1,8 @@ #ifndef MODCONFLICTICONDELEGATE_H #define MODCONFLICTICONDELEGATE_H +#include <array> + #include "icondelegate.h" class ModConflictIconDelegate : public IconDelegate @@ -9,7 +11,7 @@ class ModConflictIconDelegate : public IconDelegate public: explicit ModConflictIconDelegate(QObject *parent = 0, int logicalIndex = -1, int compactSize = 80); - virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; static QList<QString> getIconsForFlags( std::vector<ModInfo::EConflictFlag> flags, bool compact); @@ -20,13 +22,25 @@ public slots: void columnResized(int logicalIndex, int oldSize, int newSize); protected: - virtual QList<QString> getIcons(const QModelIndex &index) const; - virtual size_t getNumIcons(const QModelIndex &index) const; + QList<QString> getIcons(const QModelIndex &index) const override; + size_t getNumIcons(const QModelIndex &index) const override; private: - static ModInfo::EConflictFlag m_ConflictFlags[4]; - static ModInfo::EConflictFlag m_ArchiveLooseConflictFlags[2]; - static ModInfo::EConflictFlag m_ArchiveConflictFlags[3]; + static constexpr std::array s_ConflictFlags{ + ModInfo::FLAG_CONFLICT_MIXED, + ModInfo::FLAG_CONFLICT_OVERWRITE, + ModInfo::FLAG_CONFLICT_OVERWRITTEN, + ModInfo::FLAG_CONFLICT_REDUNDANT + }; + static constexpr std::array s_ArchiveLooseConflictFlags{ + ModInfo::FLAG_ARCHIVE_LOOSE_CONFLICT_OVERWRITE, + ModInfo::FLAG_ARCHIVE_LOOSE_CONFLICT_OVERWRITTEN + }; + static constexpr std::array s_ArchiveConflictFlags{ + ModInfo::FLAG_ARCHIVE_CONFLICT_MIXED, + ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITE, + ModInfo::FLAG_ARCHIVE_CONFLICT_OVERWRITTEN + }; int m_LogicalIndex; int m_CompactSize; diff --git a/src/modflagicondelegate.h b/src/modflagicondelegate.h index ecab7e95..c6c7c3e8 100644 --- a/src/modflagicondelegate.h +++ b/src/modflagicondelegate.h @@ -9,7 +9,7 @@ class ModFlagIconDelegate : public IconDelegate public:
explicit ModFlagIconDelegate(QObject *parent = 0, int logicalIndex = -1, int compactSize = 120);
- virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
+ QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
static QList<QString> getIconsForFlags(
std::vector<ModInfo::EFlag> flags, bool compact);
@@ -20,8 +20,8 @@ public slots: void columnResized(int logicalIndex, int oldSize, int newSize);
protected:
- virtual QList<QString> getIcons(const QModelIndex &index) const;
- virtual size_t getNumIcons(const QModelIndex &index) const;
+ QList<QString> getIcons(const QModelIndex &index) const override;
+ size_t getNumIcons(const QModelIndex &index) const override;
private:
int m_LogicalIndex;
|
