X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8679115552ec65ccfc6cbc1db68414d80e3a081b..5d9051bba36c8690a622591b1164158f526a9f12:/src/views/dolphinitemlistview.h diff --git a/src/views/dolphinitemlistview.h b/src/views/dolphinitemlistview.h index 2b16825f4..0483c0644 100644 --- a/src/views/dolphinitemlistview.h +++ b/src/views/dolphinitemlistview.h @@ -1,29 +1,14 @@ -/*************************************************************************** - * Copyright (C) 2011 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2011 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef DOLPHINITEMLISTVIEW_H #define DOLPHINITEMLISTVIEW_H -#include -#include - -#include "libdolphin_export.h" +#include "dolphin_export.h" +#include "kitemviews/kfileitemlistview.h" class KFileItemListView; @@ -34,34 +19,46 @@ class KFileItemListView; * the view-properties into the corresponding KItemListView * properties. */ -class LIBDOLPHINPRIVATE_EXPORT DolphinItemListView : public KFileItemListView +class DOLPHIN_EXPORT DolphinItemListView : public KFileItemListView { Q_OBJECT public: - explicit DolphinItemListView(QGraphicsWidget* parent = 0); - virtual ~DolphinItemListView(); + 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: - virtual KItemListWidgetCreatorBase* defaultWidgetCreator() const Q_DECL_OVERRIDE; - virtual bool itemLayoutSupportsItemExpanding(ItemLayout layout) const Q_DECL_OVERRIDE; - virtual void onItemLayoutChanged(ItemLayout current, ItemLayout previous) Q_DECL_OVERRIDE; - virtual void onPreviewsShownChanged(bool shown) Q_DECL_OVERRIDE; - virtual void onVisibleRolesChanged(const QList& current, - const QList& previous) Q_DECL_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 ¤t, const QList &previous) override; - virtual void updateFont() Q_DECL_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;