[Kita-svn] [2409] implement operator<

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 7月 14日 (火) 23:44:43 JST


Revision: 2409
          http://sourceforge.jp/projects/kita/svn/view?view=rev&revision=2409
Author:   nogu
Date:     2009-07-14 23:44:43 +0900 (Tue, 14 Jul 2009)

Log Message:
-----------
implement operator<

Modified Paths:
--------------
    kita/branches/KITA-KDE4/kita/src/boardview.cpp
    kita/branches/KITA-KDE4/kita/src/threadlistviewitem.cpp
    kita/branches/KITA-KDE4/kita/src/threadlistviewitem.h

Modified: kita/branches/KITA-KDE4/kita/src/boardview.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/boardview.cpp	2009-07-14 14:21:58 UTC (rev 2408)
+++ kita/branches/KITA-KDE4/kita/src/boardview.cpp	2009-07-14 14:44:43 UTC (rev 2409)
@@ -155,7 +155,7 @@
         Kita::Thread* thread = i < countNew ? threadList.at(i) : oldLogList.at(i - countNew);
         KUrl datURL = thread->datURL();
         for (int j = 0, k = subjectList->columnCount(); j < k; j++) {
-            Kita::ThreadListViewItem* item = new Kita::ThreadListViewItem();
+            Kita::ThreadListViewItem* item = new Kita::ThreadListViewItem(j);
             subjectList->setItem(i, j, item);
         }
         int id = (i < countNew ? i + 1 : 0);

Modified: kita/branches/KITA-KDE4/kita/src/threadlistviewitem.cpp
===================================================================
--- kita/branches/KITA-KDE4/kita/src/threadlistviewitem.cpp	2009-07-14 14:21:58 UTC (rev 2408)
+++ kita/branches/KITA-KDE4/kita/src/threadlistviewitem.cpp	2009-07-14 14:44:43 UTC (rev 2409)
@@ -12,33 +12,29 @@
 
 using namespace Kita;
 
-ThreadListViewItem::ThreadListViewItem()
+ThreadListViewItem::ThreadListViewItem(int column)
+    : QTableWidgetItem(Qt::ItemIsSelectable), m_column(column)
 {}
 
-ThreadListViewItem::~ThreadListViewItem()
-{}
-
 /* public */ /* virtual */
-int ThreadListViewItem::compare(QTableWidgetItem* i, int col, bool ascending) const
+bool ThreadListViewItem::operator<(const QTableWidgetItem& other) const
 {
-	return 0;
-// TODO
-#if 0 
-    switch (col) {
+    QString thisText = text();
+    QString otherText = other.text();
+    switch (m_column) {
     case Col_ResNum:
     case Col_ReadNum:
     case Col_Unread:
-        return i->key(col, ascending).toInt() - key(col, ascending).toInt();
+        return thisText.toInt() < otherText.toInt();
     case Col_ID:
-        return key(Col_IDOrder, ascending).toInt() - i->key(Col_IDOrder, ascending).toInt();
+        return thisText.toInt() < otherText.toInt();
     case Col_Mark:
-        return QString::localeAwareCompare(i->key(Col_MarkOrder, ascending), key(Col_MarkOrder, ascending));
+        return QString::localeAwareCompare(thisText, otherText);
     case Col_Since:
-        return QString::localeAwareCompare(i->key(col, ascending), key(col, ascending));
+        return QString::localeAwareCompare(thisText, otherText);
     case Col_Speed:
-        return static_cast<int>(i->key(col, ascending).toDouble() * 1000 - key(col, ascending).toDouble() * 1000);
+        return thisText.toDouble() * 1000 < otherText.toDouble() * 1000;
     default:
-        return QString::localeAwareCompare(key(col, ascending), i->key(col, ascending));
+        return QString::localeAwareCompare(thisText, otherText);
     }
-#endif
 }

Modified: kita/branches/KITA-KDE4/kita/src/threadlistviewitem.h
===================================================================
--- kita/branches/KITA-KDE4/kita/src/threadlistviewitem.h	2009-07-14 14:21:58 UTC (rev 2408)
+++ kita/branches/KITA-KDE4/kita/src/threadlistviewitem.h	2009-07-14 14:44:43 UTC (rev 2409)
@@ -38,10 +38,12 @@
     class ThreadListViewItem : public QTableWidgetItem
     {
     public:
-        ThreadListViewItem();
-        ~ThreadListViewItem();
+        ThreadListViewItem(int column);
 
-        virtual int compare(QTableWidgetItem* i, int col, bool ascending) const;
+        virtual bool operator<(const QTableWidgetItem& other) const;
+
+    private:
+        int m_column;
     };
 }
 




Kita-svn メーリングリストの案内
Back to archive index