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,53 +1,57 @@
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
30"No secure connection". 34"No secure connection".
31You have to configure your SMTP accounts again, sorry. 35You have to configure your SMTP accounts again, sorry.
32 36
33KA/Pi: 37KA/Pi:
34Added support for importing quoted-printable. 38Added support for importing quoted-printable.
35Support was added by Peter P.. Thanks, Peter! 39Support was added by Peter P.. Thanks, Peter!
36 40
37 41
38********** VERSION 2.0.14 ************ 42********** VERSION 2.0.14 ************
39 43
40Made Passwordmanager PwM/Pi more userfriendly: 44Made Passwordmanager PwM/Pi more userfriendly:
41Rearranged some toolbar icons, optimized setting of focus, fixed layout problems and more. 45Rearranged some toolbar icons, optimized setting of focus, fixed layout problems and more.
42Fixed bug in KO/Pi todo printing. 46Fixed bug in KO/Pi todo printing.
43Made Qtopia calendar import possible on desktop . 47Made Qtopia calendar import possible on desktop .
44 48
45********** VERSION 2.0.13 ************ 49********** VERSION 2.0.13 ************
46 50
47Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter. 51Fixed a problem in the addressee select dialog and made it more user friendly by adding a minimize splitter.
48 52
49In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down". 53In the search dialog you can switch now the focus from search line edit to the list view by pressing key "arrow down".
50 54
51OM/Pi: 55OM/Pi:
52Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails. 56Fixed a refresh problem of outgoing/sent/sendfailed folders after sending mails.
53Added missing German translation. 57Added missing German translation.
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp
index f235705..3519985 100644
--- a/korganizer/kolistview.cpp
+++ b/korganizer/kolistview.cpp
@@ -577,145 +577,157 @@ void KOListView::saveDescriptionToFile()
577 577
578 } else { 578 } else {
579 if ( !incidence->description().isEmpty() ) { 579 if ( !incidence->description().isEmpty() ) {
580 text += "\n************************************\n"; 580 text += "\n************************************\n";
581 if ( incidence->type() == "Todo" ) 581 if ( incidence->type() == "Todo" )
582 text += i18n("To-Do: "); 582 text += i18n("To-Do: ");
583 text += incidence->summary(); 583 text += incidence->summary();
584 if ( incidence->hasStartDate() ) 584 if ( incidence->hasStartDate() )
585 text +="\n"+ i18n("Start Date: ") + incidence->dtStartStr( false ); 585 text +="\n"+ i18n("Start Date: ") + incidence->dtStartStr( false );
586 text +="\n"+ i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false); 586 text +="\n"+ i18n("Last modified: ") +KGlobal::locale()->formatDateTime(incidence->lastModified(), false);
587 if ( !incidence->location().isEmpty() ) 587 if ( !incidence->location().isEmpty() )
588 text += "\n" +i18n("Location: ") + incidence->location(); 588 text += "\n" +i18n("Location: ") + incidence->location();
589 text += "\n" + i18n("Description: ") + "\n" + incidence->description(); 589 text += "\n" + i18n("Description: ") + "\n" + incidence->description();
590 ++icount; 590 ++icount;
591 591
592 } 592 }
593 } 593 }
594 incidence = delSel.next(); 594 incidence = delSel.next();
595 } 595 }
596 QFile file( fn ); 596 QFile file( fn );
597 if (!file.open( IO_WriteOnly ) ) { 597 if (!file.open( IO_WriteOnly ) ) {
598 topLevelWidget()->setCaption(i18n("File open error - nothing saved!") ); 598 topLevelWidget()->setCaption(i18n("File open error - nothing saved!") );
599 return; 599 return;
600 } 600 }
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();
698 Incidence *toDelete; 710 Incidence *toDelete;
699 KOPrefs *p = KOPrefs::instance(); 711 KOPrefs *p = KOPrefs::instance();
700 bool confirm = p->mConfirm; 712 bool confirm = p->mConfirm;
701 QString mess; 713 QString mess;
702 mess = mess.sprintf( i18n("You have %d item(s) selected.\n"), icount ); 714 mess = mess.sprintf( i18n("You have %d item(s) selected.\n"), icount );
703 if ( KMessageBox::Continue == KMessageBox::warningContinueCancel(this, mess + i18n("All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n"), i18n("KO/Pi Confirmation"),i18n("Delete")) ) { 715 if ( KMessageBox::Continue == KMessageBox::warningContinueCancel(this, mess + i18n("All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n"), i18n("KO/Pi Confirmation"),i18n("Delete")) ) {
704 p->mConfirm = false; 716 p->mConfirm = false;
705 int delCounter = 0; 717 int delCounter = 0;
706 QDialog dia ( this, "p-dialog", true ); 718 QDialog dia ( this, "p-dialog", true );
707 QLabel lab (i18n("Close dialog to abort deletion!"), &dia ); 719 QLabel lab (i18n("Close dialog to abort deletion!"), &dia );
708 QVBoxLayout lay( &dia ); 720 QVBoxLayout lay( &dia );
709 lay.setMargin(7); 721 lay.setMargin(7);
710 lay.setSpacing(7); 722 lay.setSpacing(7);
711 lay.addWidget( &lab); 723 lay.addWidget( &lab);
712 QProgressBar bar( icount, &dia ); 724 QProgressBar bar( icount, &dia );
713 lay.addWidget( &bar); 725 lay.addWidget( &bar);
714 int w = 220; 726 int w = 220;
715 int h = 50; 727 int h = 50;
716 int dw = QApplication::desktop()->width(); 728 int dw = QApplication::desktop()->width();
717 int dh = QApplication::desktop()->height(); 729 int dh = QApplication::desktop()->height();
718 dia.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 730 dia.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
719 //dia.resize( 240,50 ); 731 //dia.resize( 240,50 );
720 dia.show(); 732 dia.show();
721 733