]>
cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kitemmodelbase.cpp
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
4 * Based on the Itemviews NG project from Trolltech Labs
6 * SPDX-License-Identifier: GPL-2.0-or-later
9 #include "kitemmodelbase.h"
11 KItemModelBase::KItemModelBase(QObject
*parent
)
13 , m_groupedSorting(false)
15 , m_sortOrder(Qt::AscendingOrder
)
17 , m_groupOrder(Qt::AscendingOrder
)
21 KItemModelBase::KItemModelBase(const QByteArray
&sortRole
, const QByteArray
&groupRole
, QObject
*parent
)
23 , m_groupedSorting(false)
24 , m_sortRole(sortRole
)
25 , m_sortOrder(Qt::AscendingOrder
)
26 , m_groupRole(groupRole
)
27 , m_groupOrder(Qt::AscendingOrder
)
31 KItemModelBase::~KItemModelBase()
35 bool KItemModelBase::setData(int index
, const QHash
<QByteArray
, QVariant
> &values
)
42 void KItemModelBase::setGroupedSorting(bool grouped
)
44 if (m_groupedSorting
!= grouped
) {
45 m_groupedSorting
= grouped
;
46 onGroupedSortingChanged(grouped
);
47 Q_EMIT
groupedSortingChanged(grouped
);
51 bool KItemModelBase::groupedSorting() const
53 return m_groupedSorting
;
56 void KItemModelBase::setSortRole(const QByteArray
&role
, bool resortItems
)
58 if (role
!= m_sortRole
) {
59 const QByteArray previous
= m_sortRole
;
61 onSortRoleChanged(role
, previous
, resortItems
);
62 Q_EMIT
sortRoleChanged(role
, previous
);
66 QByteArray
KItemModelBase::sortRole() const
71 void KItemModelBase::setSortOrder(Qt::SortOrder order
)
73 if (order
!= m_sortOrder
) {
74 const Qt::SortOrder previous
= m_sortOrder
;
76 onSortOrderChanged(order
, previous
);
77 Q_EMIT
sortOrderChanged(order
, previous
);
81 void KItemModelBase::setGroupRole(const QByteArray
&role
, bool regroupItems
)
83 if (role
!= m_groupRole
) {
84 const QByteArray previous
= m_groupRole
;
86 onGroupRoleChanged(role
, previous
, regroupItems
);
87 Q_EMIT
groupRoleChanged(role
, previous
);
91 QByteArray
KItemModelBase::groupRole() const
96 void KItemModelBase::setGroupOrder(Qt::SortOrder order
)
98 if (order
!= m_groupOrder
) {
99 const Qt::SortOrder previous
= m_groupOrder
;
100 m_groupOrder
= order
;
101 onGroupOrderChanged(order
, previous
);
102 Q_EMIT
groupOrderChanged(order
, previous
);
106 QString
KItemModelBase::roleDescription(const QByteArray
&role
) const
108 return QString::fromLatin1(role
);
111 QList
<QPair
<int, QVariant
>> KItemModelBase::groups() const
113 return QList
<QPair
<int, QVariant
>>();
116 bool KItemModelBase::setExpanded(int index
, bool expanded
)
123 bool KItemModelBase::isExpanded(int index
) const
129 bool KItemModelBase::isExpandable(int index
) const
135 int KItemModelBase::expandedParentsCount(int index
) const
141 QMimeData
*KItemModelBase::createMimeData(const KItemSet
&indexes
) const
147 int KItemModelBase::indexForKeyboardSearch(const QString
&text
, int startFromIndex
) const
150 Q_UNUSED(startFromIndex
)
154 bool KItemModelBase::supportsDropping(int index
) const
160 bool KItemModelBase::canEnterOnHover(int index
) const
166 QString
KItemModelBase::blacklistItemDropEventMimeType() const
168 return QStringLiteral("application/x-dolphin-blacklist-drop");
171 void KItemModelBase::onGroupedSortingChanged(bool current
)
176 void KItemModelBase::onSortRoleChanged(const QByteArray
¤t
, const QByteArray
&previous
, bool resortItems
)
180 Q_UNUSED(resortItems
)
183 void KItemModelBase::onSortOrderChanged(Qt::SortOrder current
, Qt::SortOrder previous
)
189 void KItemModelBase::onGroupRoleChanged(const QByteArray
¤t
, const QByteArray
&previous
, bool resortItems
)
193 Q_UNUSED(resortItems
)
196 void KItemModelBase::onGroupOrderChanged(Qt::SortOrder current
, Qt::SortOrder previous
)
202 QUrl
KItemModelBase::url(int index
) const
204 return data(index
).value("url").toUrl();
207 bool KItemModelBase::isDir(int index
) const
209 return data(index
).value("isDir").toBool();
212 QUrl
KItemModelBase::directory() const
217 #include "moc_kitemmodelbase.cpp"