diff options
| author | Peter Penz <[email protected]> | 2011-10-15 22:55:01 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-10-15 22:55:01 +0200 |
| commit | 283f97ac27c3cfe5c72682b0843503e31643a612 (patch) | |
| tree | 35325115a5e5c001e1e307acc580af572bad0ac1 /src/kitemviews/kitemmodelbase.cpp | |
| parent | a49109b09a191b73f3fda8b65c29e9c6c9bd33d8 (diff) | |
Interface cleanups to prepare the return of "grouped sorting"
- Rename setCategorizedSorting() to setGroupedSorting()
- Change the model interface to allow enabling/disabling grouping
without the need to declare a role (the sort role will be taken).
- Add dummy group role implementation in KFileItemModel
The grouping code itself requires some cleanups and might crash
at the moment or lead to weird layouts.
Diffstat (limited to 'src/kitemviews/kitemmodelbase.cpp')
| -rw-r--r-- | src/kitemviews/kitemmodelbase.cpp | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/src/kitemviews/kitemmodelbase.cpp b/src/kitemviews/kitemmodelbase.cpp index 7bfe607a4..3e6114027 100644 --- a/src/kitemviews/kitemmodelbase.cpp +++ b/src/kitemviews/kitemmodelbase.cpp @@ -35,15 +35,15 @@ bool KItemRange::operator == (const KItemRange& other) const KItemModelBase::KItemModelBase(QObject* parent) : QObject(parent), - m_groupRole(), + m_groupedSorting(false), m_sortRole(), m_sortOrder(Qt::AscendingOrder) { } -KItemModelBase::KItemModelBase(const QByteArray& groupRole, const QByteArray& sortRole, QObject* parent) : +KItemModelBase::KItemModelBase(const QByteArray& sortRole, QObject* parent) : QObject(parent), - m_groupRole(groupRole), + m_groupedSorting(false), m_sortRole(sortRole), m_sortOrder(Qt::AscendingOrder) { @@ -60,34 +60,23 @@ bool KItemModelBase::setData(int index, const QHash<QByteArray, QVariant> &value return false; } -bool KItemModelBase::supportsGrouping() const +void KItemModelBase::setGroupedSorting(bool grouped) { - return false; -} - -void KItemModelBase::setGroupRole(const QByteArray& role) -{ - if (supportsGrouping() && role != m_groupRole) { - const QByteArray previous = m_groupRole; - m_groupRole = role; - onGroupRoleChanged(role, previous); - emit groupRoleChanged(role, previous); + if (m_groupedSorting != grouped) { + m_groupedSorting = grouped; + onGroupedSortingChanged(grouped); + emit groupedSortingChanged(grouped); } } -QByteArray KItemModelBase::groupRole() const -{ - return m_groupRole; -} - -bool KItemModelBase::supportsSorting() const +bool KItemModelBase::groupedSorting() const { - return false; + return m_groupedSorting; } void KItemModelBase::setSortRole(const QByteArray& role) { - if (supportsSorting() && role != m_sortRole) { + if (role != m_sortRole) { const QByteArray previous = m_sortRole; m_sortRole = role; onSortRoleChanged(role, previous); @@ -102,7 +91,7 @@ QByteArray KItemModelBase::sortRole() const void KItemModelBase::setSortOrder(Qt::SortOrder order) { - if (supportsSorting() && order != m_sortOrder) { + if (order != m_sortOrder) { const Qt::SortOrder previous = m_sortOrder; m_sortOrder = order; onSortOrderChanged(order, previous); @@ -115,6 +104,11 @@ QString KItemModelBase::roleDescription(const QByteArray& role) const return role; } +QList<QPair<int, QVariant> > KItemModelBase::groups() const +{ + return QList<QPair<int, QVariant> >(); +} + QMimeData* KItemModelBase::createMimeData(const QSet<int>& indexes) const { Q_UNUSED(indexes); @@ -134,10 +128,9 @@ bool KItemModelBase::supportsDropping(int index) const return false; } -void KItemModelBase::onGroupRoleChanged(const QByteArray& current, const QByteArray& previous) +void KItemModelBase::onGroupedSortingChanged(bool current) { Q_UNUSED(current); - Q_UNUSED(previous); } void KItemModelBase::onSortRoleChanged(const QByteArray& current, const QByteArray& previous) |
