[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