X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e0085fb2804eedfe91b05c1c0c272758466fb62f..9aaf3054106311d8ef49174e32f0ad03dcbe3fca:/src/kitemviews/kitemmodelbase.cpp diff --git a/src/kitemviews/kitemmodelbase.cpp b/src/kitemviews/kitemmodelbase.cpp index faabdbe1d..2f8e1e4a3 100644 --- a/src/kitemviews/kitemmodelbase.cpp +++ b/src/kitemviews/kitemmodelbase.cpp @@ -1,39 +1,30 @@ -/*************************************************************************** - * Copyright (C) 2011 by Peter Penz * - * * - * Based on the Itemviews NG project from Trolltech Labs * - * * - * 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 + * + * Based on the Itemviews NG project from Trolltech Labs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "kitemmodelbase.h" -KItemModelBase::KItemModelBase(QObject* parent) : - QObject(parent), - m_groupedSorting(false), - m_sortRole(), - m_sortOrder(Qt::AscendingOrder) +KItemModelBase::KItemModelBase(QObject *parent) + : QObject(parent) + , m_groupedSorting(false) + , m_sortRole() + , m_sortOrder(Qt::AscendingOrder) + , m_groupRole() + , m_groupOrder(Qt::AscendingOrder) { } -KItemModelBase::KItemModelBase(const QByteArray& sortRole, QObject* parent) : - QObject(parent), - m_groupedSorting(false), - m_sortRole(sortRole), - m_sortOrder(Qt::AscendingOrder) +KItemModelBase::KItemModelBase(const QByteArray &sortRole, const QByteArray &groupRole, QObject *parent) + : QObject(parent) + , m_groupedSorting(false) + , m_sortRole(sortRole) + , m_sortOrder(Qt::AscendingOrder) + , m_groupRole(groupRole) + , m_groupOrder(Qt::AscendingOrder) { } @@ -53,7 +44,7 @@ void KItemModelBase::setGroupedSorting(bool grouped) if (m_groupedSorting != grouped) { m_groupedSorting = grouped; onGroupedSortingChanged(grouped); - emit groupedSortingChanged(grouped); + Q_EMIT groupedSortingChanged(grouped); } } @@ -62,13 +53,13 @@ bool KItemModelBase::groupedSorting() const return m_groupedSorting; } -void KItemModelBase::setSortRole(const QByteArray& role, bool resortItems) +void KItemModelBase::setSortRole(const QByteArray &role, bool resortItems) { if (role != m_sortRole) { const QByteArray previous = m_sortRole; m_sortRole = role; onSortRoleChanged(role, previous, resortItems); - emit sortRoleChanged(role, previous); + Q_EMIT sortRoleChanged(role, previous); } } @@ -83,18 +74,43 @@ void KItemModelBase::setSortOrder(Qt::SortOrder order) const Qt::SortOrder previous = m_sortOrder; m_sortOrder = order; onSortOrderChanged(order, previous); - emit sortOrderChanged(order, previous); + Q_EMIT sortOrderChanged(order, previous); } } -QString KItemModelBase::roleDescription(const QByteArray& role) const +void KItemModelBase::setGroupRole(const QByteArray &role, bool regroupItems) { - return role; + if (role != m_groupRole) { + const QByteArray previous = m_groupRole; + m_groupRole = role; + onGroupRoleChanged(role, previous, regroupItems); + Q_EMIT groupRoleChanged(role, previous); + } +} + +QByteArray KItemModelBase::groupRole() const +{ + return m_groupRole; +} + +void KItemModelBase::setGroupOrder(Qt::SortOrder order) +{ + if (order != m_groupOrder) { + const Qt::SortOrder previous = m_groupOrder; + m_groupOrder = order; + onGroupOrderChanged(order, previous); + Q_EMIT groupOrderChanged(order, previous); + } +} + +QString KItemModelBase::roleDescription(const QByteArray &role) const +{ + return QString::fromLatin1(role); } -QList > KItemModelBase::groups() const +QList> KItemModelBase::groups() const { - return QList >(); + return QList>(); } bool KItemModelBase::setExpanded(int index, bool expanded) @@ -122,13 +138,13 @@ int KItemModelBase::expandedParentsCount(int index) const return 0; } -QMimeData* KItemModelBase::createMimeData(const KItemSet& indexes) const +QMimeData *KItemModelBase::createMimeData(const KItemSet &indexes) const { Q_UNUSED(indexes) return nullptr; } -int KItemModelBase::indexForKeyboardSearch(const QString& text, int startFromIndex) const +int KItemModelBase::indexForKeyboardSearch(const QString &text, int startFromIndex) const { Q_UNUSED(text) Q_UNUSED(startFromIndex) @@ -141,6 +157,12 @@ bool KItemModelBase::supportsDropping(int index) const return false; } +bool KItemModelBase::canEnterOnHover(int index) const +{ + Q_UNUSED(index) + return false; +} + QString KItemModelBase::blacklistItemDropEventMimeType() const { return QStringLiteral("application/x-dolphin-blacklist-drop"); @@ -151,7 +173,7 @@ void KItemModelBase::onGroupedSortingChanged(bool current) Q_UNUSED(current) } -void KItemModelBase::onSortRoleChanged(const QByteArray& current, const QByteArray& previous, bool resortItems) +void KItemModelBase::onSortRoleChanged(const QByteArray ¤t, const QByteArray &previous, bool resortItems) { Q_UNUSED(current) Q_UNUSED(previous) @@ -164,6 +186,19 @@ void KItemModelBase::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder pre Q_UNUSED(previous) } +void KItemModelBase::onGroupRoleChanged(const QByteArray ¤t, const QByteArray &previous, bool resortItems) +{ + Q_UNUSED(current) + Q_UNUSED(previous) + Q_UNUSED(resortItems) +} + +void KItemModelBase::onGroupOrderChanged(Qt::SortOrder current, Qt::SortOrder previous) +{ + Q_UNUSED(current) + Q_UNUSED(previous) +} + QUrl KItemModelBase::url(int index) const { return data(index).value("url").toUrl(); @@ -178,3 +213,5 @@ QUrl KItemModelBase::directory() const { return QUrl(); } + +#include "moc_kitemmodelbase.cpp"