diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2021-01-02 20:26:39 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2021-01-02 20:26:39 +0100 |
| commit | 8de7b79a2b211805a4ba348e490a7ab8eac15eef (patch) | |
| tree | 98dae2b10b0d4cd368fcc3346fefaffa73df1242 /src/modlistview.h | |
| parent | d96dcf02b131808a25045afc23667ed6a26274a6 (diff) | |
Move markers management for overwrite/overwritten to ModListView.
Diffstat (limited to 'src/modlistview.h')
| -rw-r--r-- | src/modlistview.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/modlistview.h b/src/modlistview.h index d67f2940..bf705573 100644 --- a/src/modlistview.h +++ b/src/modlistview.h @@ -166,10 +166,27 @@ protected slots: private:
+ friend class ModListStyledItemDelegated;
+ friend class ModListViewMarkingScrollBar;
+
void onModPrioritiesChanged(const QModelIndexList& indices);
void onModInstalled(const QString& modName);
void onModFilterActive(bool filterActive);
+ // overwrite markers
+ void clearOverwriteMarkers();
+ void setOverwriteMarkers(const std::set<unsigned int>& overwrite, const std::set<unsigned int>& overwritten);
+ void setArchiveOverwriteMarkers(const std::set<unsigned int>& overwrite, const std::set<unsigned int>& overwritten);
+ void setArchiveLooseOverwriteMarkers(const std::set<unsigned int>& overwrite, const std::set<unsigned int>& overwritten);
+
+ // set overwrite markers from the mod and repaint (if mod is nullptr, clear overwrite and repaint)
+ //
+ void setOverwriteMarkers(ModInfo::Ptr mod);
+
+ // retrieve the marker color for the given index
+ //
+ QColor markerColor(const QModelIndex& index) const;
+
// get/set the selected items on the view, this method return/take indices
// from the mod list model, not the view, so it's safe to restore
//
@@ -219,10 +236,18 @@ private: ModListSortProxy* m_sortProxy;
ModListByPriorityProxy* m_byPriorityProxy;
-
QtGroupingProxy* m_byCategoryProxy;
QtGroupingProxy* m_byNexusIdProxy;
+ struct OverwriteInfo {
+ std::set<unsigned int> overwrite;
+ std::set<unsigned int> overwritten;
+ std::set<unsigned int> archiveOverwrite;
+ std::set<unsigned int> archiveOverwritten;
+ std::set<unsigned int> archiveLooseOverwrite;
+ std::set<unsigned int> archiveLooseOverwritten;
+ } m_overwrite;
+
ViewMarkingScrollBar* m_scrollbar;
bool m_inDragMoveEvent = false;
|
