]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinitemlistview.h
GIT_SILENT Upgrade release service version to 25.11.70.
[dolphin.git] / src / views / dolphinitemlistview.h
index 283b224003987e0493f4f7842989c0b44e6870d4..0483c0644f4da5c800e6e7b21e632781ae0d6253 100644 (file)
@@ -9,7 +9,6 @@
 
 #include "dolphin_export.h"
 #include "kitemviews/kfileitemlistview.h"
-#include "settings/viewmodes/viewmodesettings.h"
 
 class KFileItemListView;
 
@@ -25,29 +24,41 @@ class DOLPHIN_EXPORT DolphinItemListView : public KFileItemListView
     Q_OBJECT
 
 public:
-    explicit DolphinItemListView(QGraphicsWidgetparent = nullptr);
+    explicit DolphinItemListView(QGraphicsWidget *parent = nullptr);
     ~DolphinItemListView() override;
 
     void setZoomLevel(int level);
     int zoomLevel() const;
 
+    enum SelectionTogglesEnabled { True, False, FollowSetting };
+    /**
+     * Sets whether the items in this view should show a small selection toggle area on mouse hover.
+     * The default for this view is to follow the "showSelectionToggle" setting but this method can
+     * be used to ignore that setting and force a different value.
+     */
+    void setEnabledSelectionToggles(SelectionTogglesEnabled selectionTogglesEnabled);
+
     void readSettings();
     void writeSettings();
 
 protected:
-    KItemListWidgetCreatorBase* defaultWidgetCreator() const override;
+    KItemListWidgetCreatorBase *defaultWidgetCreator() const override;
+    /** Overwriting in the Dolphin-specific class because we want this to be user-configurable.
+     * @see KStandardItemListView::itemLayoutHighlightEntireRow */
+    bool itemLayoutHighlightEntireRow(ItemLayout layout) const override;
     bool itemLayoutSupportsItemExpanding(ItemLayout layout) const override;
     void onItemLayoutChanged(ItemLayout current, ItemLayout previous) override;
     void onPreviewsShownChanged(bool shown) override;
-    void onVisibleRolesChanged(const QList<QByteArray>& current,
-                                       const QList<QByteArray>& previous) override;
+    void onVisibleRolesChanged(const QList<QByteArray> &current, const QList<QByteArray> &previous) override;
 
     void updateFont() override;
 
 private:
     void updateGridSize();
 
-    ViewModeSettings::ViewMode viewMode() const;
+    using KItemListView::setEnabledSelectionToggles; // Makes sure that the setEnabledSelectionToggles() declaration above doesn't hide
+                                                     // the one from the base class so we can still use it privately.
+    SelectionTogglesEnabled m_selectionTogglesEnabled = FollowSetting;
 
 private:
     int m_zoomLevel;