summaryrefslogtreecommitdiff
path: root/src/modlistview.h
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2021-01-02 20:26:39 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-02 20:26:39 +0100
commit8de7b79a2b211805a4ba348e490a7ab8eac15eef (patch)
tree98dae2b10b0d4cd368fcc3346fefaffa73df1242 /src/modlistview.h
parentd96dcf02b131808a25045afc23667ed6a26274a6 (diff)
Move markers management for overwrite/overwritten to ModListView.
Diffstat (limited to 'src/modlistview.h')
-rw-r--r--src/modlistview.h27
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;