]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/kitemmodelbase.cpp
Merged very early alpha-version of Dolphin 2.0
[dolphin.git] / src / kitemviews / kitemmodelbase.cpp
1 /***************************************************************************
2 * Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
3 * *
4 * Based on the Itemviews NG project from Trolltech Labs: *
5 * http://qt.gitorious.org/qt-labs/itemviews-ng *
6 * *
7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the *
19 * Free Software Foundation, Inc., *
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
21 ***************************************************************************/
22
23 #include "kitemmodelbase.h"
24
25 KItemRange::KItemRange(int index, int count) :
26 index(index),
27 count(count)
28 {
29 }
30
31 KItemModelBase::KItemModelBase(QObject* parent) :
32 QObject(parent),
33 m_groupRole(),
34 m_sortRole()
35 {
36 }
37
38 KItemModelBase::KItemModelBase(const QByteArray& groupRole, const QByteArray& sortRole, QObject* parent) :
39 QObject(parent),
40 m_groupRole(groupRole),
41 m_sortRole(sortRole)
42 {
43 }
44
45 KItemModelBase::~KItemModelBase()
46 {
47 }
48
49 bool KItemModelBase::setData(int index, const QHash<QByteArray, QVariant> &values)
50 {
51 Q_UNUSED(index);
52 Q_UNUSED(values);
53 return false;
54 }
55
56 bool KItemModelBase::supportsGrouping() const
57 {
58 return false;
59 }
60
61 void KItemModelBase::setGroupRole(const QByteArray& role)
62 {
63 if (supportsGrouping() && role != m_groupRole) {
64 const QByteArray previous = m_groupRole;
65 m_groupRole = role;
66 onGroupRoleChanged(role, previous);
67 emit groupRoleChanged(role, previous);
68 }
69 }
70
71 QByteArray KItemModelBase::groupRole() const
72 {
73 return m_groupRole;
74 }
75
76 bool KItemModelBase::supportsSorting() const
77 {
78 return false;
79 }
80
81 void KItemModelBase::setSortRole(const QByteArray& role)
82 {
83 if (supportsSorting() && role != m_sortRole) {
84 const QByteArray previous = m_sortRole;
85 m_sortRole = role;
86 onSortRoleChanged(role, previous);
87 emit sortRoleChanged(role, previous);
88 }
89 }
90
91 QByteArray KItemModelBase::sortRole() const
92 {
93 return m_sortRole;
94 }
95
96 QString KItemModelBase::roleDescription(const QByteArray& role) const
97 {
98 return role;
99 }
100
101 void KItemModelBase::onGroupRoleChanged(const QByteArray& current, const QByteArray& previous)
102 {
103 Q_UNUSED(current);
104 Q_UNUSED(previous);
105 }
106
107 void KItemModelBase::onSortRoleChanged(const QByteArray& current, const QByteArray& previous)
108 {
109 Q_UNUSED(current);
110 Q_UNUSED(previous);
111 }
112
113 #include "kitemmodelbase.moc"