From cd5866bfecd04b27db27a74f8dd0b4475c684f03 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com>
Date: Thu, 28 Jun 2012 15:13:59 -0400
Subject: [PATCH] [ #12470  ] Fix new history item ordering

---
 kde/src/widgets/BookmarkDock.cpp        | 2 +-
 kde/src/widgets/CategorizedTreeWidget.h | 8 +++++---
 kde/src/widgets/ContactDock.cpp         | 2 +-
 kde/src/widgets/ContactItemWidget.cpp   | 1 -
 kde/src/widgets/HistoryDock.cpp         | 2 +-
 5 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/kde/src/widgets/BookmarkDock.cpp b/kde/src/widgets/BookmarkDock.cpp
index 138e40893d..5db807b642 100644
--- a/kde/src/widgets/BookmarkDock.cpp
+++ b/kde/src/widgets/BookmarkDock.cpp
@@ -48,7 +48,7 @@
 class QNumericTreeWidgetItem : public QTreeWidgetItem {
    public:
       QNumericTreeWidgetItem(QTreeWidget* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
-      QNumericTreeWidgetItem(QTreeWidgetItem* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
+      QNumericTreeWidgetItem(QTreeWidgetItem* parent=0):QTreeWidgetItem(parent),widget(0),weight(-1){}
       HistoryTreeItem* widget;
       int weight;
    private:
diff --git a/kde/src/widgets/CategorizedTreeWidget.h b/kde/src/widgets/CategorizedTreeWidget.h
index d44124bc59..d273353ff7 100644
--- a/kde/src/widgets/CategorizedTreeWidget.h
+++ b/kde/src/widgets/CategorizedTreeWidget.h
@@ -39,7 +39,7 @@ class CategorizedTreeWidget : public QTreeWidget
     explicit CategorizedTreeWidget(QWidget *parent = 0);
 
   public:
-    template <class T = QTreeWidgetItem> T* addItem(QString category);
+    template <class T = QTreeWidgetItem> T* addItem(QString category,bool top = false);
     template <class T = QTreeWidgetItem> T* addCategory(QString name);
     void removeItem(QTreeWidgetItem* item);
     
@@ -54,7 +54,7 @@ class CategorizedTreeWidget : public QTreeWidget
     QVector<QTreeWidgetItem*> m_lItems;
 };
 
-template <class T> T* CategorizedTreeWidget::addItem(QString category)
+template <class T> T* CategorizedTreeWidget::addItem(QString category,bool top)
 {
   QTreeWidgetItem* categoryItem = 0;
   for (int i = 0; i < topLevelItemCount(); ++i) {
@@ -69,8 +69,10 @@ template <class T> T* CategorizedTreeWidget::addItem(QString category)
   }
   setItemHidden(categoryItem,false);
 
-  T* iwdg =  new T(categoryItem);
+  T* iwdg =  new T((top)?0:categoryItem);
   resizeColumnToContents(0);
+   if (top)
+      categoryItem->insertChild(0,iwdg);
   m_lItems << iwdg;
   return iwdg;
 }
diff --git a/kde/src/widgets/ContactDock.cpp b/kde/src/widgets/ContactDock.cpp
index 8113a69bd5..5f8247e153 100644
--- a/kde/src/widgets/ContactDock.cpp
+++ b/kde/src/widgets/ContactDock.cpp
@@ -59,7 +59,7 @@
 class QNumericTreeWidgetItem_hist : public QTreeWidgetItem {
    public:
       QNumericTreeWidgetItem_hist(QTreeWidget* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
-      QNumericTreeWidgetItem_hist(QTreeWidgetItem* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
+      QNumericTreeWidgetItem_hist(QTreeWidgetItem* parent=0):QTreeWidgetItem(parent),widget(0),weight(-1){}
       ContactItemWidget* widget;
       QString number;
       int weight;
diff --git a/kde/src/widgets/ContactItemWidget.cpp b/kde/src/widgets/ContactItemWidget.cpp
index 19d01d6563..caf11735c9 100644
--- a/kde/src/widgets/ContactItemWidget.cpp
+++ b/kde/src/widgets/ContactItemWidget.cpp
@@ -118,7 +118,6 @@ ContactItemWidget::~ContactItemWidget()
    if (m_pOrganizationL) delete m_pOrganizationL;
    if (m_pEmailL)        delete m_pEmailL       ;
    if (m_pMenu)          delete m_pMenu         ;
-//    delete m_pItem         ;
 
    delete m_pCallAgain   ;
    delete m_pEditContact ;
diff --git a/kde/src/widgets/HistoryDock.cpp b/kde/src/widgets/HistoryDock.cpp
index 78d91201c8..f5244fb86c 100644
--- a/kde/src/widgets/HistoryDock.cpp
+++ b/kde/src/widgets/HistoryDock.cpp
@@ -267,7 +267,7 @@ void HistoryDock::newHistoryCall(Call* call)
    switch (CURRENT_SORTING_MODE) {
       case Date: {
          QString category = timeToHistoryCategory(QDateTime::fromTime_t(callItem->call()->getStartTimeStamp().toUInt()).date());
-         QNumericTreeWidgetItem* item = m_pItemView->addItem<QNumericTreeWidgetItem>(category);
+         QNumericTreeWidgetItem* item = m_pItemView->addItem<QNumericTreeWidgetItem>(category,true);
          item->weight = -callItem->call()->getStopTimeStamp().toUInt();
          item->widget = callItem;
          callItem->setItem(item);
-- 
GitLab