File indexing completed on 2024-04-28 05:45:10

0001 /*
0002  * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
0003  *
0004  * Based on the Itemviews NG project from Trolltech Labs
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #include "kitemmodelbase.h"
0010 
0011 KItemModelBase::KItemModelBase(QObject *parent)
0012     : QObject(parent)
0013     , m_groupedSorting(false)
0014     , m_sortRole()
0015     , m_sortOrder(Qt::AscendingOrder)
0016 {
0017 }
0018 
0019 KItemModelBase::KItemModelBase(const QByteArray &sortRole, QObject *parent)
0020     : QObject(parent)
0021     , m_groupedSorting(false)
0022     , m_sortRole(sortRole)
0023     , m_sortOrder(Qt::AscendingOrder)
0024 {
0025 }
0026 
0027 KItemModelBase::~KItemModelBase()
0028 {
0029 }
0030 
0031 bool KItemModelBase::setData(int index, const QHash<QByteArray, QVariant> &values)
0032 {
0033     Q_UNUSED(index)
0034     Q_UNUSED(values)
0035     return false;
0036 }
0037 
0038 void KItemModelBase::setGroupedSorting(bool grouped)
0039 {
0040     if (m_groupedSorting != grouped) {
0041         m_groupedSorting = grouped;
0042         onGroupedSortingChanged(grouped);
0043         Q_EMIT groupedSortingChanged(grouped);
0044     }
0045 }
0046 
0047 bool KItemModelBase::groupedSorting() const
0048 {
0049     return m_groupedSorting;
0050 }
0051 
0052 void KItemModelBase::setSortRole(const QByteArray &role, bool resortItems)
0053 {
0054     if (role != m_sortRole) {
0055         const QByteArray previous = m_sortRole;
0056         m_sortRole = role;
0057         onSortRoleChanged(role, previous, resortItems);
0058         Q_EMIT sortRoleChanged(role, previous);
0059     }
0060 }
0061 
0062 QByteArray KItemModelBase::sortRole() const
0063 {
0064     return m_sortRole;
0065 }
0066 
0067 void KItemModelBase::setSortOrder(Qt::SortOrder order)
0068 {
0069     if (order != m_sortOrder) {
0070         const Qt::SortOrder previous = m_sortOrder;
0071         m_sortOrder = order;
0072         onSortOrderChanged(order, previous);
0073         Q_EMIT sortOrderChanged(order, previous);
0074     }
0075 }
0076 
0077 QString KItemModelBase::roleDescription(const QByteArray &role) const
0078 {
0079     return QString::fromLatin1(role);
0080 }
0081 
0082 QList<QPair<int, QVariant>> KItemModelBase::groups() const
0083 {
0084     return QList<QPair<int, QVariant>>();
0085 }
0086 
0087 bool KItemModelBase::setExpanded(int index, bool expanded)
0088 {
0089     Q_UNUSED(index)
0090     Q_UNUSED(expanded)
0091     return false;
0092 }
0093 
0094 bool KItemModelBase::isExpanded(int index) const
0095 {
0096     Q_UNUSED(index)
0097     return false;
0098 }
0099 
0100 bool KItemModelBase::isExpandable(int index) const
0101 {
0102     Q_UNUSED(index)
0103     return false;
0104 }
0105 
0106 int KItemModelBase::expandedParentsCount(int index) const
0107 {
0108     Q_UNUSED(index)
0109     return 0;
0110 }
0111 
0112 QMimeData *KItemModelBase::createMimeData(const KItemSet &indexes) const
0113 {
0114     Q_UNUSED(indexes)
0115     return nullptr;
0116 }
0117 
0118 int KItemModelBase::indexForKeyboardSearch(const QString &text, int startFromIndex) const
0119 {
0120     Q_UNUSED(text)
0121     Q_UNUSED(startFromIndex)
0122     return -1;
0123 }
0124 
0125 bool KItemModelBase::supportsDropping(int index) const
0126 {
0127     Q_UNUSED(index)
0128     return false;
0129 }
0130 
0131 QString KItemModelBase::blacklistItemDropEventMimeType() const
0132 {
0133     return QStringLiteral("application/x-dolphin-blacklist-drop");
0134 }
0135 
0136 void KItemModelBase::onGroupedSortingChanged(bool current)
0137 {
0138     Q_UNUSED(current)
0139 }
0140 
0141 void KItemModelBase::onSortRoleChanged(const QByteArray &current, const QByteArray &previous, bool resortItems)
0142 {
0143     Q_UNUSED(current)
0144     Q_UNUSED(previous)
0145     Q_UNUSED(resortItems)
0146 }
0147 
0148 void KItemModelBase::onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous)
0149 {
0150     Q_UNUSED(current)
0151     Q_UNUSED(previous)
0152 }
0153 
0154 QUrl KItemModelBase::url(int index) const
0155 {
0156     return data(index).value("url").toUrl();
0157 }
0158 
0159 bool KItemModelBase::isDir(int index) const
0160 {
0161     return data(index).value("isDir").toBool();
0162 }
0163 
0164 QUrl KItemModelBase::directory() const
0165 {
0166     return QUrl();
0167 }
0168 
0169 #include "moc_kitemmodelbase.cpp"