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; }; }