-rw-r--r-- | korganizer/kolistview.cpp | 21 | ||||
-rw-r--r-- | korganizer/kotodoviewitem.cpp | 14 |
2 files changed, 11 insertions, 24 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index b236c2d..4fc1194 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -132,30 +132,28 @@ bool ListItemVisitor::visit(Event *e) if ( e->isAlarmEnabled() ) { mItem->setText(6,e->alarms().first()->offsetText() ); } else { mItem->setText(6, i18n("No")); } mItem->setText(7, e->recurrenceText()); if( ! e->doesRecur() ) mItem->setSortKey( 7, "-" ); mItem->setText(8, e->cancelled() ? i18n("Yes") : i18n("No")); mItem->setText(9,e->categoriesStr()); mItem->setText(10, KOPrefs::instance()->calName( e->calID() )); mItem->setText(11, KGlobal::locale()->formatDateTime( e->lastModified(), true, true )); + mItem->setSortKey(11,e->lastModifiedSortKey()); QString key; - QDate d = e->lastModified().date(); - QTime t = e->lastModified().time(); - key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),t.hour(),t.minute(),t.second() ); - mItem->setSortKey(12,key); + QTime t; t = e->doesFloat() ? QTime(0,0) : e->dtStart().time(); key.sprintf("%04d%02d%02d%02d%02d",ds.year(),ds.month(),ds.day(),t.hour(),t.minute()); mItem->setSortKey(1,key); t = e->doesFloat() ? QTime(0,0) : e->dtEnd().time(); key.sprintf("%04d%02d%02d%02d%02d",de.year(),de.month(),de.day(),t.hour(),t.minute()); mItem->setSortKey(3,key); return true; } bool ListItemVisitor::visit(Todo *t) { @@ -191,29 +189,28 @@ bool ListItemVisitor::visit(Todo *t) } else { mItem->setText(4,t->dtDueTimeStr()); } } else { mItem->setText(3,"---"); mItem->setText(4,"---"); } mItem->setText(5, t->durationText()); mItem->setText(8, t->cancelled() ? i18n("Yes") : i18n("No")); mItem->setText(9,t->categoriesStr()); mItem->setText(10, KOPrefs::instance()->calName( t->calID() )); mItem->setText(11, KGlobal::locale()->formatDateTime( t->lastModified(), true, true )); + mItem->setSortKey(11,t->lastModifiedSortKey()); QString key; - QDate d = t->lastModified().date(); - QTime tm = t->lastModified().time(); - key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute(),tm.second() ); - mItem->setSortKey(11,key); + QDate d; + QTime tm; if (t->hasDueDate()) { d = t->dtDue().date(); tm = t->doesFloat() ? QTime(0,0) : t->dtDue().time(); key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute()); mItem->setSortKey(3,key); } if ( t->hasStartDate() ) { d = t->dtStart().date(); tm = t->doesFloat() ? QTime(0,0) : t->dtStart().time(); key.sprintf("%04d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute()); mItem->setSortKey(1,key); } @@ -237,35 +234,31 @@ bool ListItemVisitor::visit(Journal * j) mItem->setSortKey(0,"0"+ des.left(25)); mItem->setText(1,j->dtStartDateStr()); mItem->setText(2,"---"); mItem->setText(3,"---"); mItem->setText(4,"---"); mItem->setText(5,"---"); mItem->setText(6,"---"); mItem->setText(7,"---"); mItem->setText(8,"---"); mItem->setText(9,j->categoriesStr()); mItem->setText(10, KOPrefs::instance()->calName( j->calID() )); mItem->setText(11, KGlobal::locale()->formatDateTime( j->lastModified(), true, true )); + mItem->setSortKey(11,j->lastModifiedSortKey()); QString key; - QDate d = j->lastModified().date(); - QTime tm = j->lastModified().time(); - key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),tm.hour(),tm.minute(),tm.second() ); - mItem->setSortKey(12,key); + QDate d; d = j->dtStart().date(); key.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); mItem->setSortKey(1,key); - mItem->setSortKey(7,key); - return true; } KOListView::KOListView(Calendar *calendar, QWidget *parent, const char *name) : KOEventView(calendar, parent, name) { mActiveItem = 0; mForceShowCompletedTodos = false; mListView = new KOListViewListView(this); mListView->addColumn(i18n("Summary")); diff --git a/korganizer/kotodoviewitem.cpp b/korganizer/kotodoviewitem.cpp index bdef94c..848e9e7 100644 --- a/korganizer/kotodoviewitem.cpp +++ b/korganizer/kotodoviewitem.cpp @@ -110,26 +110,24 @@ void KOTodoViewItem::construct() //setSortKey(4,keyt); } } else { setText(3,""); setText(4,""); } setSortKey(3,keyd); setSortKey(4,keyt); if (mTodo->isCompleted()) setSortKey(1,"6" + QString::number(mTodo->priority())+keyd+keyt); else setSortKey(1,QString::number(mTodo->priority())+keyd+keyt); - - keyd = ""; keyt = ""; if (mTodo->isRunning() ) { QDate d = mTodo->runStart().date(); QTime t = mTodo->runStart().time(); skeyt.sprintf("%02d%02d",t.hour(),t.minute()); skeyd.sprintf("%04d%02d%02d",d.year(),d.month(),d.day()); keyd = KGlobal::locale()->formatDate( d , true); keyt = KGlobal::locale()->formatTime( t ); } else { @@ -151,36 +149,32 @@ void KOTodoViewItem::construct() setText(5,keyd); setText(6,keyt); setSortKey(5,skeyd); setSortKey(6,skeyt); //setText(7,mTodo->cancelled() ? i18n("Yes") : i18n("No")); setText(7,mTodo->categoriesStr()); setText(8,KOPrefs::instance()->calName( mTodo->calID())); setText(9, KGlobal::locale()->formatDateTime( mTodo->lastModified(), true, true )); setText(10, KGlobal::locale()->formatDateTime( mTodo->created(), true, true )); setText(11, KGlobal::locale()->formatDateTime( mTodo->lastModifiedSub(), true, true )); QString key; - QDate d = mTodo->lastModified().date(); - QTime t = mTodo->lastModified().time(); - key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),t.hour(),t.minute(),t.second() ); - setSortKey(9,key); + QDate d; + QTime t; + setSortKey(9,mTodo->lastModifiedSortKey()); d = mTodo->created().date(); t = mTodo->created().time(); key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),t.hour(),t.minute(),t.second() ); setSortKey(10,key); - d = mTodo->lastModifiedSub().date(); - t = mTodo->lastModifiedSub().time(); - key.sprintf("%04d%02d%02d%02d%02d%02d",d.year(),d.month(),d.day(),t.hour(),t.minute(),t.second() ); - setSortKey(11,key); + setSortKey(11,mTodo->lastModifiedSubSortKey()); #if 0 // Find sort id in description. It's the text behind the last '#' character // found in the description. White spaces are removed from beginning and end // of sort id. int pos = mTodo->description().findRev('#'); if (pos < 0) { setText(6,""); } else { QString str = mTodo->description().mid(pos+1); str.stripWhiteSpace(); setText(6,str); |