summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Side-by-side diff
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) :
mItemPopupMenu->insertItem(i18n("Reparent Todo"), this,
SLOT (reparentTodo()),0,22);
mItemPopupMenu->insertSeparator();
+#if 0
mItemPopupMenu->insertItem(i18n("Delete completed To-Dos","Purge Completed"),
this, SLOT( purgeCompleted() ) );
mItemPopupMenu->insertItem(i18n("toggle completed To-Dos","Show Completed"),
@@ -438,6 +439,7 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
mItemPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
this, SLOT( toggleRunning() ),0, 35 );
+#endif
mPopupMenu = new QPopupMenu(this);
mPopupMenu->insertItem(SmallIconSet("todo"), i18n("New Todo..."), this,
SLOT (newTodo()),0,1);
@@ -449,8 +451,15 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
this, SLOT( toggleQuickTodo() ),0,4 );
mPopupMenu->insertItem(i18n("toggle running todo","Hide not Running"),
this, SLOT( toggleRunning() ),0,5 );
+ mPopupMenu->insertItem(i18n(" set all open","Display all opened"),
+ this, SLOT( setAllOpen() ),0,6 );
+ mPopupMenu->insertItem(i18n(" set all close","Display all closed"),
+ this, SLOT( setAllClose() ),0,7 );
+ mPopupMenu->insertItem(i18n(" set all flat","Display all flat"),
+ this, SLOT( setAllFlat() ),0,8 );
mDocPrefs = new DocPrefs( name );
-
+
+ mItemPopupMenu->insertItem(i18n("Todo View"),mPopupMenu );
mPopupMenu->setCheckable( true );
mItemPopupMenu->setCheckable( true );
@@ -522,6 +531,10 @@ void KOTodoView::updateView()
//qDebug("blocked ");
return;
}
+ if ( isFlatDisplay ) {
+ setAllFlat();
+ return;
+ }
//qDebug("update ");
// kdDebug() << "KOTodoView::updateView()" << endl;
QFont fo = KOPrefs::instance()->mTodoViewFont;
@@ -997,6 +1010,53 @@ void KOTodoView::clearSelection()
{
mTodoListView->selectAll( false );
}
+void KOTodoView::setAllOpen()
+{
+ if ( isFlatDisplay ) {
+ isFlatDisplay = false;
+ mPopupMenu->setItemChecked( 8,false );
+ updateView();
+ }
+ setOpen(mTodoListView->firstChild(), true);
+}
+void KOTodoView::setAllClose()
+{
+ if ( isFlatDisplay ) {
+ isFlatDisplay = false;
+ mPopupMenu->setItemChecked( 8,false );
+ updateView();
+ }
+ setOpen(mTodoListView->firstChild(), false);
+}
+void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
+{
+
+ while ( item ) {
+ setOpen( item->firstChild(), setOpenI );
+ item->setOpen( setOpenI );
+ item = item->nextSibling();
+ }
+}
+
+void KOTodoView::setAllFlat()
+{
+ pendingSubtodo = 0;
+ if ( mBlockUpdate ) {
+ return;
+ }
+ mPopupMenu->setItemChecked( 8,true );
+ isFlatDisplay = true;
+ QPtrList<Todo> todoList = calendar()->todos();
+ mTodoMap.clear();
+ mTodoListView->clear();
+ Todo *todo;
+ for(todo = todoList.first(); todo; todo = todoList.next()) {
+ KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
+ mTodoMap.insert(todo,todoItem);
+ }
+ mTodoListView->setFocus();
+ processSelectionChange();
+}
void KOTodoView::purgeCompleted()
{