author | zautrix <zautrix> | 2005-06-08 12:35:38 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-08 12:35:38 (UTC) |
commit | d9e240cf1a88f4213c9169e9168d01b669613312 (patch) (side-by-side diff) | |
tree | ed22cb872cc0f38625afe0f01036a48eb9b3edfa /korganizer/kolistview.cpp | |
parent | 2448916479b456ca7c880427a80e8e32e95b2fba (diff) | |
download | kdepimpi-d9e240cf1a88f4213c9169e9168d01b669613312.zip kdepimpi-d9e240cf1a88f4213c9169e9168d01b669613312.tar.gz kdepimpi-d9e240cf1a88f4213c9169e9168d01b669613312.tar.bz2 |
better export
-rw-r--r-- | korganizer/kolistview.cpp | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index be51694..5797d1b 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp @@ -283,11 +283,11 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), i18n("Delete all selected"),this, SLOT(deleteAll()),true); -#ifdef DESKTOP_VERSION + mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), i18n("Hide all selected"),this, SLOT(hideAll()),true); -#endif + mPopupMenu->insertSeparator(); #ifdef DESKTOP_VERSION mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), @@ -666,15 +666,42 @@ void KOListView::writeToFile( bool iCal ) QPtrList<Incidence> delSel ; QListViewItem *item = mListView->firstChild (); bool journal = iCal; // warn only for vCal + bool addSubTodos = false; + bool askSubTodos = true; while ( item ) { if ( item->isSelected() ) { if ( !journal ) if ( ((KOListViewItem *)item)->data()->typeID() == journalID ) journal = true; - delSel.append(((KOListViewItem *)item)->data()); + Incidence* inc = ((KOListViewItem *)item)->data(); + if ( addSubTodos ) { + if ( delSel.findRef( inc ) == -1 ) + delSel.append( inc ); + } else + delSel.append(inc); + if ( inc->typeID() == todoID ) { + Todo * todo = (Todo*) inc; + if ( todo->relations().count() ) { + if ( askSubTodos ) { + int result = KMessageBox::warningYesNoCancel(this, + i18n("A selected todo has subtodos!\nDo you want to export\nall subtodos of all\nselected todos as well?"), + i18n("Todo has subtodos"), + i18n("Yes"), + i18n("No")); + if ( result == KMessageBox::Cancel ) { + return; + } + if (result == KMessageBox::Yes) + addSubTodos = true; + askSubTodos = false; + } + if ( addSubTodos ) { + inc->addRelationsToList( &delSel ); + } + } + } ++icount; } - item = item->nextSibling(); } if ( !iCal && journal ) { |