-/***************************************************************************
- * Copyright (C) 2012 by Peter Penz <peter.penz19@gmail.com> *
- * *
- * 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: 2012 Peter Penz <peter.penz19@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
#ifndef KSTANDARDITEMLISTVIEW_H
#define KSTANDARDITEMLISTVIEW_H
-#include "libdolphin_export.h"
-
-#include <kitemviews/kitemlistview.h>
+#include "dolphin_export.h"
+#include "kitemviews/kitemlistview.h"
/**
* @brief Provides layouts for icons-, compact- and details-view.
* KItemListContainer* container = new KItemListContainer(controller, parentWidget);
* </code>
*/
-class LIBDOLPHINPRIVATE_EXPORT KStandardItemListView : public KItemListView
+class DOLPHIN_EXPORT KStandardItemListView : public KItemListView
{
Q_OBJECT
public:
- enum ItemLayout
- {
- IconsLayout,
- CompactLayout,
- DetailsLayout
- };
+ enum ItemLayout { IconsLayout, CompactLayout, DetailsLayout };
- KStandardItemListView(QGraphicsWidget* parent = 0);
- virtual ~KStandardItemListView();
+ explicit KStandardItemListView(QGraphicsWidget *parent = nullptr);
+ ~KStandardItemListView() override;
void setItemLayout(ItemLayout layout);
ItemLayout itemLayout() const;
protected:
- virtual KItemListWidgetCreatorBase* defaultWidgetCreator() const Q_DECL_OVERRIDE;
- virtual KItemListGroupHeaderCreatorBase* defaultGroupHeaderCreator() const Q_DECL_OVERRIDE;
- virtual void initializeItemListWidget(KItemListWidget* item) Q_DECL_OVERRIDE;
- virtual bool itemSizeHintUpdateRequired(const QSet<QByteArray>& changedRoles) const Q_DECL_OVERRIDE;
+ KItemListWidgetCreatorBase *defaultWidgetCreator() const override;
+ KItemListGroupHeaderCreatorBase *defaultGroupHeaderCreator() const override;
+ void initializeItemListWidget(KItemListWidget *item) override;
+ bool itemSizeHintUpdateRequired(const QSet<QByteArray> &changedRoles) const override;
virtual bool itemLayoutSupportsItemExpanding(ItemLayout layout) const;
+ /** To be overriden by sub-classes to specify when full row highlighting should be enabled. */
+ virtual bool itemLayoutHighlightEntireRow(ItemLayout layout) const;
virtual void onItemLayoutChanged(ItemLayout current, ItemLayout previous);
- virtual void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) Q_DECL_OVERRIDE;
- virtual void onSupportsItemExpandingChanged(bool supportsExpanding) Q_DECL_OVERRIDE;
- virtual void polishEvent() Q_DECL_OVERRIDE;
+ virtual qreal scrollSingleStep() const override;
+ void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) override;
+ void onSupportsItemExpandingChanged(bool supportsExpanding) override;
+ void polishEvent() override;
private:
void applyDefaultStyleOption(int iconSize, int padding, int horizontalMargin, int verticalMargin);
};
#endif
-
-