summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 22486ba..1fb480d 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -915,256 +915,262 @@ void KOTodoView::itemClicked(QListViewItem *item)
915 915
916 if (!item) { 916 if (!item) {
917 if ( pendingSubtodo != 0 ) { 917 if ( pendingSubtodo != 0 ) {
918 topLevelWidget()->setCaption(i18n("Reparenting aborted!")); 918 topLevelWidget()->setCaption(i18n("Reparenting aborted!"));
919 } 919 }
920 pendingSubtodo = 0; 920 pendingSubtodo = 0;
921 return; 921 return;
922 } 922 }
923 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 923 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
924 if ( pendingSubtodo != 0 ) { 924 if ( pendingSubtodo != 0 ) {
925 bool allowReparent = true; 925 bool allowReparent = true;
926 QListViewItem *par = item; 926 QListViewItem *par = item;
927 while ( par ) { 927 while ( par ) {
928 if ( par == pendingSubtodo ) { 928 if ( par == pendingSubtodo ) {
929 allowReparent = false; 929 allowReparent = false;
930 break; 930 break;
931 } 931 }
932 par = par->parent(); 932 par = par->parent();
933 } 933 }
934 if ( !allowReparent ) { 934 if ( !allowReparent ) {
935 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!")); 935 topLevelWidget()->setCaption(i18n("Recursive reparenting not possible!"));
936 qDebug("Recursive reparenting not possible "); 936 qDebug("Recursive reparenting not possible ");
937 pendingSubtodo = 0; 937 pendingSubtodo = 0;
938 } else { 938 } else {
939 Todo* newParent = todoItem->todo(); 939 Todo* newParent = todoItem->todo();
940 Todo* newSub = pendingSubtodo->todo(); 940 Todo* newSub = pendingSubtodo->todo();
941 pendingSubtodo = 0; 941 pendingSubtodo = 0;
942 emit reparentTodoSignal( newParent,newSub ); 942 emit reparentTodoSignal( newParent,newSub );
943 return; 943 return;
944 } 944 }
945 } 945 }
946 int completed = todoItem->todo()->isCompleted(); // Completed or not? 946 int completed = todoItem->todo()->isCompleted(); // Completed or not?
947 947
948 if (todoItem->isOn()) { 948 if (todoItem->isOn()) {
949 if (!completed) { 949 if (!completed) {
950 todoItem->todo()->setCompleted(QDateTime::currentDateTime()); 950 todoItem->todo()->setCompleted(QDateTime::currentDateTime());
951 } 951 }
952 } else { 952 } else {
953 if (completed) { 953 if (completed) {
954 todoItem->todo()->setCompleted(false); 954 todoItem->todo()->setCompleted(false);
955 } 955 }
956 } 956 }
957} 957}
958 958
959void KOTodoView::setDocumentId( const QString &id ) 959void KOTodoView::setDocumentId( const QString &id )
960{ 960{
961 kdDebug() << "KOTodoView::setDocumentId()" << endl; 961 kdDebug() << "KOTodoView::setDocumentId()" << endl;
962 962
963 mDocPrefs->setDoc( id ); 963 mDocPrefs->setDoc( id );
964} 964}
965 965
966void KOTodoView::itemStateChanged( QListViewItem *item ) 966void KOTodoView::itemStateChanged( QListViewItem *item )
967{ 967{
968 if (!item) return; 968 if (!item) return;
969 969
970 KOTodoViewItem *todoItem = (KOTodoViewItem *)item; 970 KOTodoViewItem *todoItem = (KOTodoViewItem *)item;
971 971
972// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; 972// kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl;
973 973
974 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); 974 if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() );
975} 975}
976 976
977void KOTodoView::saveLayout(KConfig *config, const QString &group) const 977void KOTodoView::saveLayout(KConfig *config, const QString &group) const
978{ 978{
979 mTodoListView->saveLayout(config,group); 979 mTodoListView->saveLayout(config,group);
980} 980}
981 981
982void KOTodoView::restoreLayout(KConfig *config, const QString &group) 982void KOTodoView::restoreLayout(KConfig *config, const QString &group)
983{ 983{
984 mTodoListView->restoreLayout(config,group); 984 mTodoListView->restoreLayout(config,group);
985} 985}
986 986
987void KOTodoView::processSelectionChange() 987void KOTodoView::processSelectionChange()
988{ 988{
989// kdDebug() << "KOTodoView::processSelectionChange()" << endl; 989// kdDebug() << "KOTodoView::processSelectionChange()" << endl;
990 990
991 KOTodoViewItem *item = 991 KOTodoViewItem *item =
992 static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); 992 static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() );
993 993
994 if ( !item ) { 994 if ( !item ) {
995 emit incidenceSelected( 0 ); 995 emit incidenceSelected( 0 );
996 } else { 996 } else {
997 emit incidenceSelected( item->todo() ); 997 emit incidenceSelected( item->todo() );
998 } 998 }
999} 999}
1000 1000
1001void KOTodoView::modified(bool b) 1001void KOTodoView::modified(bool b)
1002{ 1002{
1003 emit isModified(b); 1003 emit isModified(b);
1004} 1004}
1005void KOTodoView::setTodoModified( Todo* todo ) 1005void KOTodoView::setTodoModified( Todo* todo )
1006{ 1006{
1007 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); 1007 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED );
1008} 1008}
1009void KOTodoView::clearSelection() 1009void KOTodoView::clearSelection()
1010{ 1010{
1011 mTodoListView->selectAll( false ); 1011 mTodoListView->selectAll( false );
1012} 1012}
1013void KOTodoView::setAllOpen() 1013void KOTodoView::setAllOpen()
1014{ 1014{
1015 if ( isFlatDisplay ) { 1015 if ( isFlatDisplay ) {
1016 isFlatDisplay = false; 1016 isFlatDisplay = false;
1017 mPopupMenu->setItemChecked( 8,false ); 1017 mPopupMenu->setItemChecked( 8,false );
1018 updateView(); 1018 updateView();
1019 } 1019 }
1020 setOpen(mTodoListView->firstChild(), true); 1020 setOpen(mTodoListView->firstChild(), true);
1021} 1021}
1022void KOTodoView::setAllClose() 1022void KOTodoView::setAllClose()
1023{ 1023{
1024 if ( isFlatDisplay ) { 1024 if ( isFlatDisplay ) {
1025 isFlatDisplay = false; 1025 isFlatDisplay = false;
1026 mPopupMenu->setItemChecked( 8,false ); 1026 mPopupMenu->setItemChecked( 8,false );
1027 updateView(); 1027 updateView();
1028 } 1028 }
1029 setOpen(mTodoListView->firstChild(), false); 1029 setOpen(mTodoListView->firstChild(), false);
1030} 1030}
1031void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) 1031void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
1032{ 1032{
1033 1033
1034 while ( item ) { 1034 while ( item ) {
1035 setOpen( item->firstChild(), setOpenI ); 1035 setOpen( item->firstChild(), setOpenI );
1036 item->setOpen( setOpenI ); 1036 item->setOpen( setOpenI );
1037 item = item->nextSibling(); 1037 item = item->nextSibling();
1038 } 1038 }
1039} 1039}
1040 1040
1041void KOTodoView::setAllFlat() 1041void KOTodoView::setAllFlat()
1042{ 1042{
1043 if ( isFlatDisplay ) {
1044 isFlatDisplay = false;
1045 mPopupMenu->setItemChecked( 8,false );
1046 updateView();
1047 return;
1048 }
1043 pendingSubtodo = 0; 1049 pendingSubtodo = 0;
1044 if ( mBlockUpdate ) { 1050 if ( mBlockUpdate ) {
1045 return; 1051 return;
1046 } 1052 }
1047 mPopupMenu->setItemChecked( 8,true ); 1053 mPopupMenu->setItemChecked( 8,true );
1048 isFlatDisplay = true; 1054 isFlatDisplay = true;
1049 QPtrList<Todo> todoList = calendar()->todos(); 1055 QPtrList<Todo> todoList = calendar()->todos();
1050 mTodoMap.clear(); 1056 mTodoMap.clear();
1051 mTodoListView->clear(); 1057 mTodoListView->clear();
1052 Todo *todo; 1058 Todo *todo;
1053 for(todo = todoList.first(); todo; todo = todoList.next()) { 1059 for(todo = todoList.first(); todo; todo = todoList.next()) {
1054 KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); 1060 KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this);
1055 mTodoMap.insert(todo,todoItem); 1061 mTodoMap.insert(todo,todoItem);
1056 } 1062 }
1057 mTodoListView->setFocus(); 1063 mTodoListView->setFocus();
1058 processSelectionChange(); 1064 processSelectionChange();
1059} 1065}
1060 1066
1061void KOTodoView::purgeCompleted() 1067void KOTodoView::purgeCompleted()
1062{ 1068{
1063 emit purgeCompletedSignal(); 1069 emit purgeCompletedSignal();
1064} 1070}
1065void KOTodoView::toggleQuickTodo() 1071void KOTodoView::toggleQuickTodo()
1066{ 1072{
1067 if ( mQuickAdd->isVisible() ) { 1073 if ( mQuickAdd->isVisible() ) {
1068 mQuickAdd->hide(); 1074 mQuickAdd->hide();
1069 KOPrefs::instance()->mEnableQuickTodo = false; 1075 KOPrefs::instance()->mEnableQuickTodo = false;
1070 } 1076 }
1071 else { 1077 else {
1072 mQuickAdd->show(); 1078 mQuickAdd->show();
1073 KOPrefs::instance()->mEnableQuickTodo = true; 1079 KOPrefs::instance()->mEnableQuickTodo = true;
1074 } 1080 }
1075 mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); 1081 mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo);
1076 mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); 1082 mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo );
1077} 1083}
1078 1084
1079void KOTodoView::toggleRunning() 1085void KOTodoView::toggleRunning()
1080{ 1086{
1081 KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; 1087 KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos;
1082 mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); 1088 mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos);
1083 mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); 1089 mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos );
1084 updateView(); 1090 updateView();
1085} 1091}
1086 1092
1087void KOTodoView::toggleCompleted() 1093void KOTodoView::toggleCompleted()
1088{ 1094{
1089 KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; 1095 KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo;
1090 mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); 1096 mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo );
1091 mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); 1097 mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo );
1092 updateView(); 1098 updateView();
1093} 1099}
1094 1100
1095void KOTodoView::addQuickTodo() 1101void KOTodoView::addQuickTodo()
1096{ 1102{
1097 Todo *todo = new Todo(); 1103 Todo *todo = new Todo();
1098 todo->setSummary(mQuickAdd->text()); 1104 todo->setSummary(mQuickAdd->text());
1099 todo->setOrganizer(KOPrefs::instance()->email()); 1105 todo->setOrganizer(KOPrefs::instance()->email());
1100 CalFilter * cf = mCalendar->filter(); 1106 CalFilter * cf = mCalendar->filter();
1101 if ( cf ) { 1107 if ( cf ) {
1102 if ( cf->isEnabled()&& cf->showCategories()) { 1108 if ( cf->isEnabled()&& cf->showCategories()) {
1103 todo->setCategories(cf->categoryList()); 1109 todo->setCategories(cf->categoryList());
1104 } 1110 }
1105 if ( cf->isEnabled() ) 1111 if ( cf->isEnabled() )
1106 todo->setSecrecy( cf->getSecrecy()); 1112 todo->setSecrecy( cf->getSecrecy());
1107 } 1113 }
1108 mCalendar->addTodo(todo); 1114 mCalendar->addTodo(todo);
1109 mQuickAdd->setText(""); 1115 mQuickAdd->setText("");
1110 todoModified (todo, KOGlobals::EVENTADDED ); 1116 todoModified (todo, KOGlobals::EVENTADDED );
1111 updateView(); 1117 updateView();
1112} 1118}
1113void KOTodoView::keyPressEvent ( QKeyEvent * e ) 1119void KOTodoView::keyPressEvent ( QKeyEvent * e )
1114{ 1120{
1115 // e->ignore(); 1121 // e->ignore();
1116 //return; 1122 //return;
1117 //qDebug("KOTodoView::keyPressEvent "); 1123 //qDebug("KOTodoView::keyPressEvent ");
1118 switch ( e->key() ) { 1124 switch ( e->key() ) {
1119 case Qt::Key_Down: 1125 case Qt::Key_Down:
1120 case Qt::Key_Up: 1126 case Qt::Key_Up:
1121 QWidget::keyPressEvent ( e ); 1127 QWidget::keyPressEvent ( e );
1122 break; 1128 break;
1123 1129
1124 case Qt::Key_Q: 1130 case Qt::Key_Q:
1125 toggleQuickTodo(); 1131 toggleQuickTodo();
1126 break; 1132 break;
1127 case Qt::Key_U: 1133 case Qt::Key_U:
1128 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { 1134 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) {
1129 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); 1135 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
1130 unparentTodo(); 1136 unparentTodo();
1131 e->accept(); 1137 e->accept();
1132 } else 1138 } else
1133 e->ignore(); 1139 e->ignore();
1134 break; 1140 break;
1135 case Qt::Key_S: 1141 case Qt::Key_S:
1136 if ( e->state() == Qt::ControlButton ) { 1142 if ( e->state() == Qt::ControlButton ) {
1137 e->ignore(); 1143 e->ignore();
1138 break; 1144 break;
1139 } 1145 }
1140 if ( e->state() == Qt::ShiftButton ) { 1146 if ( e->state() == Qt::ShiftButton ) {
1141 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); 1147 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
1142 reparentTodo(); 1148 reparentTodo();
1143 e->accept(); 1149 e->accept();
1144 } else 1150 } else
1145 e->ignore(); 1151 e->ignore();
1146 break; 1152 break;
1147 case Qt::Key_P: 1153 case Qt::Key_P:
1148 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { 1154 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) {
1149 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); 1155 mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
1150 if ( pendingSubtodo ) 1156 if ( pendingSubtodo )
1151 itemClicked(mActiveItem); 1157 itemClicked(mActiveItem);
1152 e->accept(); 1158 e->accept();
1153 } else 1159 } else
1154 e->ignore(); 1160 e->ignore();
1155 break; 1161 break;
1156 case Qt::Key_Escape: 1162 case Qt::Key_Escape:
1157 if ( pendingSubtodo ) { 1163 if ( pendingSubtodo ) {
1158 itemClicked(0); 1164 itemClicked(0);
1159 e->accept(); 1165 e->accept();
1160 } else 1166 } else
1161 e->ignore(); 1167 e->ignore();
1162 break; 1168 break;
1163 default: 1169 default:
1164 e->ignore(); 1170 e->ignore();
1165 } 1171 }
1166 1172
1167 if ( true ) { 1173 if ( true ) {
1168 if ( e->key() == Qt::Key_I ) { 1174 if ( e->key() == Qt::Key_I ) {
1169 KOTodoViewItem*cn = (KOTodoViewItem*)mTodoListView->currentItem(); 1175 KOTodoViewItem*cn = (KOTodoViewItem*)mTodoListView->currentItem();
1170 if ( cn ) { 1176 if ( cn ) {