summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Unidiff
Diffstat (limited to 'korganizer/kotodoview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp62
1 files changed, 61 insertions, 1 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 30adb06..22486ba 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -429,6 +429,7 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
429 mItemPopupMenu->insertItem(i18n("Reparent Todo"), this, 429 mItemPopupMenu->insertItem(i18n("Reparent Todo"), this,
430 SLOT (reparentTodo()),0,22); 430 SLOT (reparentTodo()),0,22);
431 mItemPopupMenu->insertSeparator(); 431 mItemPopupMenu->insertSeparator();
432#if 0
432 mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"), 433 mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"),
433 this, SLOT( purgeCompleted() ) ); 434 this, SLOT( purgeCompleted() ) );
434 mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"), 435 mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"),
@@ -438,6 +439,7 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
438 mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), 439 mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
439 this, SLOT( toggleRunning() ),0, 35 ); 440 this, SLOT( toggleRunning() ),0, 35 );
440 441
442#endif
441 mPopupMenu = new QPopupMenu(this); 443 mPopupMenu = new QPopupMenu(this);
442 mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this, 444 mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this,
443 SLOT (newTodo()),0,1); 445 SLOT (newTodo()),0,1);
@@ -449,8 +451,15 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
449 this, SLOT( toggleQuickTodo() ),0,4 ); 451 this, SLOT( toggleQuickTodo() ),0,4 );
450 mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"), 452 mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
451 this, SLOT( toggleRunning() ),0,5 ); 453 this, SLOT( toggleRunning() ),0,5 );
454 mPopupMenu->insertItem(i18n(" set all open","Display all opened"),
455 this, SLOT( setAllOpen() ),0,6 );
456 mPopupMenu->insertItem(i18n(" set all close","Display all closed"),
457 this, SLOT( setAllClose() ),0,7 );
458 mPopupMenu->insertItem(i18n(" set all flat","Display all flat"),
459 this, SLOT( setAllFlat() ),0,8 );
452 mDocPrefs = new DocPrefs( name ); 460 mDocPrefs = new DocPrefs( name );
453 461
462 mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu );
454 mPopupMenu->setCheckable( true ); 463 mPopupMenu->setCheckable( true );
455 mItemPopupMenu->setCheckable( true ); 464 mItemPopupMenu->setCheckable( true );
456 465
@@ -522,6 +531,10 @@ void KOTodoView::updateView()
522 //qDebug("blocked "); 531 //qDebug("blocked ");
523 return; 532 return;
524 } 533 }
534 if ( isFlatDisplay ) {
535 setAllFlat();
536 return;
537 }
525 //qDebug("update "); 538 //qDebug("update ");
526// kdDebug() << "KOTodoView::updateView()" << endl; 539// kdDebug() << "KOTodoView::updateView()" << endl;
527 QFont fo = KOPrefs::instance()->mTodoViewFont; 540 QFont fo = KOPrefs::instance()->mTodoViewFont;
@@ -997,6 +1010,53 @@ void KOTodoView::clearSelection()
997{ 1010{
998 mTodoListView->selectAll( false ); 1011 mTodoListView->selectAll( false );
999} 1012}
1013void KOTodoView::setAllOpen()
1014{
1015 if ( isFlatDisplay ) {
1016 isFlatDisplay = false;
1017 mPopupMenu->setItemChecked( 8,false );
1018 updateView();
1019 }
1020 setOpen(mTodoListView->firstChild(), true);
1021}
1022void KOTodoView::setAllClose()
1023{
1024 if ( isFlatDisplay ) {
1025 isFlatDisplay = false;
1026 mPopupMenu->setItemChecked( 8,false );
1027 updateView();
1028 }
1029 setOpen(mTodoListView->firstChild(), false);
1030}
1031void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
1032{
1033
1034 while ( item ) {
1035 setOpen( item->firstChild(), setOpenI );
1036 item->setOpen( setOpenI );
1037 item = item->nextSibling();
1038 }
1039}
1040
1041void KOTodoView::setAllFlat()
1042{
1043 pendingSubtodo = 0;
1044 if ( mBlockUpdate ) {
1045 return;
1046 }
1047 mPopupMenu->setItemChecked( 8,true );
1048 isFlatDisplay = true;
1049 QPtrList<Todo> todoList = calendar()->todos();
1050 mTodoMap.clear();
1051 mTodoListView->clear();
1052 Todo *todo;
1053 for(todo = todoList.first(); todo; todo = todoList.next()) {
1054 KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
1055 mTodoMap.insert(todo,todoItem);
1056 }
1057 mTodoListView->setFocus();
1058 processSelectionChange();
1059}
1000 1060
1001void KOTodoView::purgeCompleted() 1061void KOTodoView::purgeCompleted()
1002{ 1062{