aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h')
-rw-r--r--libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h b/libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h
new file mode 100644
index 0000000..f6359f0
--- /dev/null
+++ b/libs/installer_bsplugins/src/BSPluginList/PluginListViewMarkingScrollBar.h
@@ -0,0 +1,29 @@
+#ifndef BSPLUGINLIST_PLUGINLISTVIEWMARKINGSCROLLBAR_H
+#define BSPLUGINLIST_PLUGINLISTVIEWMARKINGSCROLLBAR_H
+
+#include "GUI/ViewMarkingScrollBar.h"
+#include "PluginListView.h"
+
+namespace BSPluginList
+{
+
+class PluginListViewMarkingScrollBar : public GUI::ViewMarkingScrollBar
+{
+public:
+ explicit PluginListViewMarkingScrollBar(PluginListView* view)
+ : GUI::ViewMarkingScrollBar(view, PluginListModel::ScrollMarkRole)
+ {}
+
+ [[nodiscard]] QColor color(const QModelIndex& index) const override
+ {
+ auto color = static_cast<PluginListView*>(m_View)->markerColor(index);
+ if (!color.isValid()) {
+ color = ViewMarkingScrollBar::color(index);
+ }
+ return color;
+ }
+};
+
+} // namespace BSPluginList
+
+#endif // BSPLUGINLIST_PLUGINLISTVIEWMARKINGSCROLLBAR_H