[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/widget
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2010-08-26 20:25:14
Message-ID: 20100826202514.DE71AAC857 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1168514 by piggz:
Implemented sorting of child items in the model and removed some unused old code.
CCMAIL: staniek@kde.org
M +3 -1 KexiProjectModel.cpp
M +9 -23 KexiProjectModelItem.cpp
M +4 -4 KexiProjectModelItem.h
U KexiProjectNavigator.cpp
--- trunk/koffice/kexi/widget/KexiProjectModel.cpp #1168513:1168514
@@ -83,7 +83,7 @@
if (!m_itemsPartClass.isEmpty()) {
break; //the only group added, so our work is completed
}
-
+ groupItem->sortChildren();
} else {
//add this error to the list that will be displayed later
QString msg, details;
@@ -264,6 +264,7 @@
if (itm) {
kDebug() << "Appending";
parent->appendChild(itm);
+ parent->sortChildren();
}
endInsertRows();
}
@@ -317,3 +318,4 @@
return m_rootItem->modelItemFromName(name);
}
+
--- trunk/koffice/kexi/widget/KexiProjectModelItem.cpp #1168513:1168514
@@ -35,33 +35,18 @@
KexiProjectModelItem::KexiProjectModelItem(KexiPart::Info &i, KexiProjectModelItem \
*p) : m_info(&i), m_item(0), m_parentItem(p) {
m_icon = SmallIcon(i.itemIcon());
- initItem();
m_fifoSorting = 1; //because this is top level item
}
KexiProjectModelItem::KexiProjectModelItem(KexiPart::Info &i, KexiPart::Item &item, \
KexiProjectModelItem *p) : m_info(&i), m_item(&item), m_parentItem(p) {
m_icon = SmallIcon(i.itemIcon());
- initItem();
}
KexiProjectModelItem::~KexiProjectModelItem()
{
}
-void KexiProjectModelItem::initItem()
-{
- m_fifoSorting = 0;
- int sortKey = 0;
- // set sorting key with FIFO order
- if (parent()) {
- sortKey = parent()->childCount();
- }
-
- m_sortKey.sprintf("%2.2d", sortKey);
-// kDebug() << "m_sortKey=" << m_sortKey;
-}
-
void KexiProjectModelItem::appendChild(KexiProjectModelItem* c)
{
m_childItems.append(c);
@@ -87,14 +72,6 @@
qDeleteAll(m_childItems);
}
-QString KexiProjectModelItem::key(int column, bool ascending) const
-{
-// kDebug() << "KexiBrowserItem::key() : " << (m_fifoSorting ? m_sortKey : \
K3ListViewItem::key(column,ascending));
-// return m_fifoSorting ? m_sortKey : K3ListViewItem::key(column, ascending);
-return QString();
-
-}
-
KexiProjectModelItem* KexiProjectModelItem::parent()
{
return m_parentItem;
@@ -208,3 +185,12 @@
return itm;
}
+void KexiProjectModelItem::sortChildren()
+{
+ qSort(m_childItems.begin(), m_childItems.end(), itemLessThan);
+}
+
+bool itemLessThan(const KexiProjectModelItem *a, const KexiProjectModelItem *b)
+{
+ return a->data(0).toString() < b->data(0).toString();
+}
\ No newline at end of file
--- trunk/koffice/kexi/widget/KexiProjectModelItem.h #1168513:1168514
@@ -84,21 +84,21 @@
KexiProjectModelItem* modelItemFromItem(const KexiPart::Item &item) const;
KexiProjectModelItem* modelItemFromName(const QString& name) const;
+ void sortChildren();
+
private:
QList<KexiProjectModelItem*> m_childItems;
KexiProjectModelItem *m_parentItem;
QPixmap m_icon;
protected:
- void initItem();
- virtual QString key(int column, bool ascending) const;
-
KexiPart::Info *m_info;
KexiPart::Item *m_item;
QString m_groupName;
- QString m_sortKey;
bool m_fifoSorting;
};
+bool itemLessThan(const KexiProjectModelItem *a, const KexiProjectModelItem *b);
+
#endif // KEXIPROJECTMODELITEM_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic