summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-11 19:38:46 (UTC)
committer zautrix <zautrix>2005-03-11 19:38:46 (UTC)
commitefa425789895481dd918a55af27895a7917d2a20 (patch) (unidiff)
treecb6b6d495c17dd649fcc6387a41b2db2eef1d39d
parent1166a4797a91cedd5002a3513d5028c5e86016f0 (diff)
downloadkdepimpi-efa425789895481dd918a55af27895a7917d2a20.zip
kdepimpi-efa425789895481dd918a55af27895a7917d2a20.tar.gz
kdepimpi-efa425789895481dd918a55af27895a7917d2a20.tar.bz2
better kopi export
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt4
-rw-r--r--korganizer/kolistview.cpp12
2 files changed, 16 insertions, 0 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index e769bd8..ef53ad9 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,29 +1,33 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.16 ************ 3********** VERSION 2.0.16 ************
4OM/Pi: 4OM/Pi:
5Fixed the SMTP account setting the option. 5Fixed the SMTP account setting the option.
6Fixed something in mail sending.
7
8KO/Pi:
9Added possibility to export selected events/todos as vcal file.
6 10
7********** VERSION 2.0.15 ************ 11********** VERSION 2.0.15 ************
8 12
9PwM/Pi: 13PwM/Pi:
10Added keyboard shorcuts for 14Added keyboard shorcuts for
11- toggling summary view (space bar) 15- toggling summary view (space bar)
12- delete item (delete + backspace key) 16- delete item (delete + backspace key)
13- add new item ( i + n key) 17- add new item ( i + n key)
14Fixed length of info in the title. 18Fixed length of info in the title.
15 19
16KO/Pi-KA/Pi: 20KO/Pi-KA/Pi:
17Changed "ME" menu bar entry to an icon. 21Changed "ME" menu bar entry to an icon.
18 22
19KO/Pi: 23KO/Pi:
20Fixed two minor bugs in displaying todos. 24Fixed two minor bugs in displaying todos.
21If in month view a cell is selected, the key shortcut "d" shows now that date. 25If in month view a cell is selected, the key shortcut "d" shows now that date.
22Added complete info for a todo in month view as an icon left of the text. 26Added complete info for a todo in month view as an icon left of the text.
23Fixed problems of displaying data when "<" or ">" are used in summary/location/description. 27Fixed problems of displaying data when "<" or ">" are used in summary/location/description.
24Fixed problem of search dialog size when switching displays. 28Fixed problem of search dialog size when switching displays.
25Cancel key now closes date picker. 29Cancel key now closes date picker.
26Rearranged KO/Pi file menu structure. 30Rearranged KO/Pi file menu structure.
27 31
28OM/Pi: 32OM/Pi:
29Added to the SMTP account setting the option 33Added to the SMTP account setting the option
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index f235705..3519985 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -601,97 +601,109 @@ void KOListView::saveDescriptionToFile()
601 QTextStream ts( &file ); 601 QTextStream ts( &file );
602 ts << text; 602 ts << text;
603 file.close(); 603 file.close();
604 //qDebug("%s ", text.latin1()); 604 //qDebug("%s ", text.latin1());
605 mes = i18n("KO/Pi:Saved %1 descriptions/journals").arg(icount ); 605 mes = i18n("KO/Pi:Saved %1 descriptions/journals").arg(icount );
606 KOPrefs::instance()->mLastSaveFile = fn; 606 KOPrefs::instance()->mLastSaveFile = fn;
607 topLevelWidget()->setCaption(mes); 607 topLevelWidget()->setCaption(mes);
608 } 608 }
609 } 609 }
610} 610}
611void KOListView::saveToFileVCS() 611void KOListView::saveToFileVCS()
612{ 612{
613 writeToFile( false ); 613 writeToFile( false );
614} 614}
615void KOListView::saveToFile() 615void KOListView::saveToFile()
616{ 616{
617 writeToFile( true ); 617 writeToFile( true );
618} 618}
619void KOListView::writeToFile( bool iCal ) 619void KOListView::writeToFile( bool iCal )
620{ 620{
621 621
622 int icount = 0; 622 int icount = 0;
623 QPtrList<Incidence> delSel ; 623 QPtrList<Incidence> delSel ;
624 QListViewItem *item = mListView->firstChild (); 624 QListViewItem *item = mListView->firstChild ();
625 bool journal = iCal; // warn only for vCal
625 while ( item ) { 626 while ( item ) {
626 if ( item->isSelected() ) { 627 if ( item->isSelected() ) {
628 if ( !journal )
629 if ( ((KOListViewItem *)item)->data()->type() == "Journal")
630 journal = true;
627 delSel.append(((KOListViewItem *)item)->data()); 631 delSel.append(((KOListViewItem *)item)->data());
628 ++icount; 632 ++icount;
629 } 633 }
630 634
631 item = item->nextSibling(); 635 item = item->nextSibling();
632 } 636 }
637 if ( !iCal && journal ) {
638 int result = KMessageBox::warningContinueCancel(this,
639 i18n("The journal entries can not be\nexported to a vCalendar file."),
640 i18n("Data Loss Warning"),i18n("Proceed"),i18n("Cancel"),
641 true);
642 if (result != KMessageBox::Continue) return;
643 }
633 if ( icount ) { 644 if ( icount ) {
634 QString fn = KOPrefs::instance()->mLastSaveFile; 645 QString fn = KOPrefs::instance()->mLastSaveFile;
635 QString extension; 646 QString extension;
636 if ( iCal ) { 647 if ( iCal ) {
637 if ( fn.right( 4 ).lower() == ".vcs" ) { 648 if ( fn.right( 4 ).lower() == ".vcs" ) {
638 fn = fn.left( fn.length() -3) + "ics"; 649 fn = fn.left( fn.length() -3) + "ics";
639 } 650 }
640 } else { 651 } else {
641 if ( fn.right( 4 ).lower() == ".ics" ) { 652 if ( fn.right( 4 ).lower() == ".ics" ) {
642 fn = fn.left( fn.length() -3) + "vcs"; 653 fn = fn.left( fn.length() -3) + "vcs";
643 } 654 }
644 } 655 }
645 fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this ); 656 fn = KFileDialog::getSaveFileName( fn, i18n("Save filename"), this );
646 657
647 if ( fn == "" ) 658 if ( fn == "" )
648 return; 659 return;
649 QFileInfo info; 660 QFileInfo info;
650 info.setFile( fn ); 661 info.setFile( fn );
651 QString mes; 662 QString mes;
652 bool createbup = true; 663 bool createbup = true;
653 if ( info. exists() ) { 664 if ( info. exists() ) {
654 mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); 665 mes = i18n("File already exists!\nOld file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) );
655 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 666 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
656 i18n("Overwrite!"), i18n("Cancel"), 0, 667 i18n("Overwrite!"), i18n("Cancel"), 0,
657 0, 1 ); 668 0, 1 );
658 if ( result != 0 ) { 669 if ( result != 0 ) {
659 createbup = false; 670 createbup = false;
660 } 671 }
661 } 672 }
662 if ( createbup ) { 673 if ( createbup ) {
663 CalendarLocal cal; 674 CalendarLocal cal;
664 cal.setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); 675 cal.setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId);
665 Incidence *incidence = delSel.first(); 676 Incidence *incidence = delSel.first();
666 while ( incidence ) { 677 while ( incidence ) {
667 cal.addIncidence( incidence->clone() ); 678 cal.addIncidence( incidence->clone() );
668 incidence = delSel.next(); 679 incidence = delSel.next();
669 } 680 }
670 if ( iCal ) { 681 if ( iCal ) {
671 ICalFormat format; 682 ICalFormat format;
672 format.save( &cal, fn ); 683 format.save( &cal, fn );
673 } else { 684 } else {
685
674 VCalFormat format; 686 VCalFormat format;
675 format.save( &cal, fn ); 687 format.save( &cal, fn );
676 } 688 }
677 mes = i18n("KO/Pi:Saved %1").arg(fn ); 689 mes = i18n("KO/Pi:Saved %1").arg(fn );
678 KOPrefs::instance()->mLastSaveFile = fn; 690 KOPrefs::instance()->mLastSaveFile = fn;
679 topLevelWidget()->setCaption(mes); 691 topLevelWidget()->setCaption(mes);
680 } 692 }
681 } 693 }
682} 694}
683void KOListView::deleteAll() 695void KOListView::deleteAll()
684{ 696{
685 int icount = 0; 697 int icount = 0;
686 QPtrList<Incidence> delSel ; 698 QPtrList<Incidence> delSel ;
687 QListViewItem *item = mListView->firstChild (); 699 QListViewItem *item = mListView->firstChild ();
688 while ( item ) { 700 while ( item ) {
689 if ( item->isSelected() ) { 701 if ( item->isSelected() ) {
690 delSel.append(((KOListViewItem *)item)->data()); 702 delSel.append(((KOListViewItem *)item)->data());
691 ++icount; 703 ++icount;
692 } 704 }
693 705
694 item = item->nextSibling(); 706 item = item->nextSibling();
695 } 707 }
696 if ( icount ) { 708 if ( icount ) {
697 Incidence *incidence = delSel.first(); 709 Incidence *incidence = delSel.first();