-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 3 | ||||
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 4 | ||||
-rw-r--r-- | kabc/addressbook.cpp | 6 | ||||
-rw-r--r-- | libkdepim/ksyncmanager.cpp | 1 |
4 files changed, 8 insertions, 6 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index 2df2ac7..e7b3927 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt | |||
@@ -802,38 +802,39 @@ | |||
802 | { "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" }, | 802 | { "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" }, |
803 | { "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" }, | 803 | { "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" }, |
804 | { "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." }, | 804 | { "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." }, |
805 | { "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" }, | 805 | { "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" }, |
806 | { "Writing back file ...","Schreibe Datei zurück..." }, | 806 | { "Writing back file ...","Schreibe Datei zurück..." }, |
807 | { "Sending back file ...","Sende Datei zurück..." }, | 807 | { "Sending back file ...","Sende Datei zurück..." }, |
808 | { "Eeek, there I am ticklish!","Huch, da bin ich kitzlig!" }, | 808 | { "Eeek, there I am ticklish!","Huch, da bin ich kitzlig!" }, |
809 | { "Save using LOCAL storage","Speichere nutze LOCAL Pfad" }, | 809 | { "Save using LOCAL storage","Speichere nutze LOCAL Pfad" }, |
810 | { "...and %1 more\ncontact(s) selected","...und noch %1 Kontakte\n mehr ausgewählt" }, | 810 | { "...and %1 more\ncontact(s) selected","...und noch %1 Kontakte\n mehr ausgewählt" }, |
811 | { "Do you really\nwant to delete the\nsetected contact(s)?\n\n","Möchten Sie wirklich\ndie ausgewählten\nKontakte löschen?\n\n" }, | 811 | { "Do you really\nwant to delete the\nsetected contact(s)?\n\n","Möchten Sie wirklich\ndie ausgewählten\nKontakte löschen?\n\n" }, |
812 | { "%1 contacts\nsuccessfully\nimported.","%1 Kontakte\nerfolgreich\nimportiert." }, | 812 | { "%1 contacts\nsuccessfully\nimported.","%1 Kontakte\nerfolgreich\nimportiert." }, |
813 | { "Import this contact?","Importiere diesen Kontakt?" }, | 813 | { "Import this contact?","Importiere diesen Kontakt?" }, |
814 | { "Import all!","Importiere alle!" }, | 814 | { "Import all!","Importiere alle!" }, |
815 | { "Loading addressbook data ... please wait","Lade Adressbuchdaten ... bitte warten" }, | 815 | { "Loading addressbook data ... please wait","Lade Adressbuchdaten ... bitte warten" }, |
816 | { "Import Format","Import Format" }, | 816 | { "Import Format","Import Format" }, |
817 | { "Select import format!\nDefault and standard is Utf8.\nLatin1 may be the right\nfor some West Europian languages.","Wähle Import Format!\nDefault und Standard ist Utf8.\nLatin1 kann das richtige für\nWesteuropäische Sprachen sein." }, | 817 | { "Select import format!\nDefault and standard is Utf8.\nLatin1 may be the right\nfor some West Europian languages.","Wähle Import Format!\nDefault und Standard ist Utf8.\nLatin1 kann das richtige für\nWesteuropäische Sprachen sein." }, |
818 | { "Home2","Privat2" }, | 818 | { "Home2","Privat2" }, |
819 | { "Work2","Arbeit2" }, | 819 | { "Work2","Arbeit2" }, |
820 | { "Fax (Work)","Fax (Arbeit)" }, | 820 | { "Fax (Work)","Fax (Arbeit)" }, |
821 | { "Fax (Home)","Fax (Privat)" }, | 821 | { "Fax (Home)","Fax (Privat)" }, |
822 | { "Assistent","Sekretär(in)" }, | 822 | { "Assistent","Sekretär(in)" }, |
823 | { "Company","Firma" }, | 823 | { "Company","Firma" }, |
824 | { "Mobile2","Handy2" }, | 824 | { "Mobile2","Handy2" }, |
825 | { "Callback","Rückruf" }, | 825 | { "Callback","Rückruf" }, |
826 | { "Fax (Other)","Fax (Sonst.)" }, | 826 | { "Fax (Other)","Fax (Sonst.)" }, |
827 | { "Primary","Bevorzugt" }, | 827 | { "Primary","Bevorzugt" }, |
828 | { "Mobile","Handy" }, | 828 | { "Mobile","Handy" }, |
829 | { "Unfiled","Nicht zugeordnet" }, | 829 | { "Unfiled","Nicht zugeordnet" }, |
830 | { "Format.n.:","Format.N.:" }, | 830 | { "Format.n.:","Format.N.:" }, |
831 | { "Other Phone","Sonst. Telefon" }, | 831 | { "Other Phone","Sonst. Telefon" }, |
832 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | 832 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, |
833 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | 833 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, |
834 | { "Waiting a second before syncing next resource...",""Warte eine Sekunde vor dem Syncen der nächsten resource..." }, | 834 | { "Waiting a second before syncing next resource...","Warte eine Sekunde vor dem Syncen der nächsten resource..." }, |
835 | { "Multi-resource Pi-sync finished","Multi-Resourcen Pi-sync beendet" }, | ||
835 | { "","" }, | 836 | { "","" }, |
836 | { "","" }, | 837 | { "","" }, |
837 | { "","" }, | 838 | { "","" }, |
838 | { "","" }, | 839 | { "","" }, |
839 | { "","" }, \ No newline at end of file | 840 | { "","" }, \ No newline at end of file |
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index ba98b00..cb63a5e 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1546,40 +1546,40 @@ | |||
1546 | { "<b>iCal (*.ics) file on disk:</b><br>(will be created, if not existing)","<b>iCal (*.ics) Datei:</b><br>(Datei wird angelegt, wenn sie nicht existiert)" }, | 1546 | { "<b>iCal (*.ics) file on disk:</b><br>(will be created, if not existing)","<b>iCal (*.ics) Datei:</b><br>(Datei wird angelegt, wenn sie nicht existiert)" }, |
1547 | { "Error saving data","Fehler beim Abspeichern" }, | 1547 | { "Error saving data","Fehler beim Abspeichern" }, |
1548 | { "Calendar(s) not saved:","Nicht gespeicherte Kalender:" }, | 1548 | { "Calendar(s) not saved:","Nicht gespeicherte Kalender:" }, |
1549 | { "Enable conflict detection","Schalte Konflikterkennung an" }, | 1549 | { "Enable conflict detection","Schalte Konflikterkennung an" }, |
1550 | { "Filter for the edited event","Filter für den bearbeiteten Termin" }, | 1550 | { "Filter for the edited event","Filter für den bearbeiteten Termin" }, |
1551 | { "Filter for other events","Filter für die anderen Termine" }, | 1551 | { "Filter for other events","Filter für die anderen Termine" }, |
1552 | { "Check Allday with Allday","Prüfe GanzTag mit GanzTag" }, | 1552 | { "Check Allday with Allday","Prüfe GanzTag mit GanzTag" }, |
1553 | { "Check Allday with NonAllday","Prüfe GanzTag mit NichtGanzTag" }, | 1553 | { "Check Allday with NonAllday","Prüfe GanzTag mit NichtGanzTag" }, |
1554 | { "Check NonAllday with Allday","Prüfe NichtGanzTag mit GanzTag" }, | 1554 | { "Check NonAllday with Allday","Prüfe NichtGanzTag mit GanzTag" }, |
1555 | { "Check NonAllday with NonAllday","Prüfe NichtGanzTag mit NichtGanzTag" }, | 1555 | { "Check NonAllday with NonAllday","Prüfe NichtGanzTag mit NichtGanzTag" }, |
1556 | { "Conflict detection","Konflikterkennung" }, | 1556 | { "Conflict detection","Konflikterkennung" }, |
1557 | { "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, | 1557 | { "Loading calendar files ... please wait","Lade Kalenderdateien ... bitte warten" }, |
1558 | { "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." }, | 1558 | { "Show multiday allday ev. in date nav.","Zeige Multi-Ganzt.Term.in Datums Nav." }, |
1559 | { "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" }, | 1559 | { "Include events which "show as free"","Inklusive Termine mit "Zeige Zeit als frei"" }, |
1560 | { "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>." }, | 1560 | { "Conflict detection checks an <b>edited event</b> with <b>other events</b> for overlapping.","Konflikterkennung prüft einen <b>bearbeiteten Termin</b> auf Überschneidungen mit <b>anderen Terminen</b>." }, |
1561 | { " Yes, close "," Ja, beenden " }, | 1561 | { " Yes, close "," Ja, beenden " }, |
1562 | { "Export All Data","Exportiere alle Daten" }, | 1562 | { "Export All Data","Exportiere alle Daten" }, |
1563 | { "You can save all data\nto another file via\nFile->Export->Export All Data","Sie können alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" }, | 1563 | { "You can save all data\nto another file via\nFile->Export->Export All Data","Sie können alle Daten in\neine andere Datei speichern unter\nDatei->Exportiere->Exportiere alle Daten" }, |
1564 | { "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" }, | 1564 | { "<p><b>Duration:</b> %1 days</p>","<p><b>Dauer:</b> %1 Tage</p>" }, |
1565 | { " (Duration: %1 days)"," (Dauer: %1 Tage)" }, | 1565 | { " (Duration: %1 days)"," (Dauer: %1 Tage)" }, |
1566 | { "Autosave enabled!","Auto-Speichern angeschaltet!" }, | 1566 | { "Autosave enabled!","Auto-Speichern angeschaltet!" }, |
1567 | { "Autosave disabled! Save timer stopped!","Auto-Speichern ausgeschaltet! Speicher Timer gestoppt!" }, | 1567 | { "Autosave disabled! Save timer stopped!","Auto-Speichern ausgeschaltet! Speicher Timer gestoppt!" }, |
1568 | { "Autosave disabled!","Auto-Speichern ist ausgeschaltet!" }, | 1568 | { "Autosave disabled!","Auto-Speichern ist ausgeschaltet!" }, |
1569 | { "Yes, Save!","Ja, Speichern!" }, | 1569 | { "Yes, Save!","Ja, Speichern!" }, |
1570 | { "Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?","Der Kalender wurde verändert,\naber Auto-Speichern ist\nabgeschaltet. Möchten Sie\ndie Daten speichern?" }, | 1570 | { "Calendar is modified\nbut Autosave is disabled!\nDo you want\nto save the data?","Der Kalender wurde verändert,\naber Auto-Speichern ist\nabgeschaltet. Möchten Sie\ndie Daten speichern?" }, |
1571 | { "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" }, | 1571 | { "<p><b>C+ctrl</b>: Dis/enable automatic saving</p>\n","<p><b>C+ctrl</b>: Auto-Speichern ab/anschalten</p>\n" }, |
1572 | { "<br>The calendar contains<br><b>%1 events<br>%2 todos<br>%3 journals</b>","<br>Der Kalender enthält<br><b>%1 Termine<br>%2 Todos<br>%3 Journale</b>" }, | 1572 | { "<br>The calendar contains<br><b>%1 events<br>%2 todos<br>%3 journals</b>","<br>Der Kalender enthält<br><b>%1 Termine<br>%2 Todos<br>%3 Journale</b>" }, |
1573 | { "Enable alarm in resource settings","Schalte Alarm in Resourcenansicht wieder an" }, | 1573 | { "Enable alarm in resource settings","Schalte Alarm in Resourcenansicht wieder an" }, |
1574 | { "The alarm for this calendar\nis currently disabled!\nEnable it in resource settings.","Der Alarm für diesen Kalender\nist abgeschaltet.\nSchalten Sie ihn in der\nResourcenansicht ggf. an." }, | 1574 | { "The alarm for this calendar\nis currently disabled!\nEnable it in resource settings.","Der Alarm für diesen Kalender\nist abgeschaltet.\nSchalten Sie ihn in der\nResourcenansicht ggf. an." }, |
1575 | { "Alarm disabled warning","Nichtaktiver Alarm" }, | 1575 | { "Alarm disabled warning","Nichtaktiver Alarm" }, |
1576 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | 1576 | { "Pi-Sync - all calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - alle Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, |
1577 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, | 1577 | { "Pi-Sync - selected calendars ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync - ausgewählte Kalender ( direktes Kx/Pi mit Kx/Pi syncen )" }, |
1578 | { "Waiting a second before syncing next resource...",""Warte eine Sekunde vor dem Syncen der nächsten resource..." }, | 1578 | { "Waiting a second before syncing next resource...","Warte eine Sekunde vor dem Syncen der nächsten resource..." }, |
1579 | { "","" }, | 1579 | { "Multi-resource Pi-sync finished","Multi-Resourcen Pi-sync beendet" }, |
1580 | { "","" }, | 1580 | { "","" }, |
1581 | { "","" }, | 1581 | { "","" }, |
1582 | { "","" }, | 1582 | { "","" }, |
1583 | { "","" }, | 1583 | { "","" }, |
1584 | { "","" }, | 1584 | { "","" }, |
1585 | { "","" }, | 1585 | { "","" }, |
diff --git a/kabc/addressbook.cpp b/kabc/addressbook.cpp index ed3ac84..f9e4387 100644 --- a/kabc/addressbook.cpp +++ b/kabc/addressbook.cpp | |||
@@ -368,65 +368,65 @@ bool AddressBook::load() | |||
368 | bool AddressBook::save( Ticket *ticket ) | 368 | bool AddressBook::save( Ticket *ticket ) |
369 | { | 369 | { |
370 | kdDebug(5700) << "AddressBook::save()"<< endl; | 370 | kdDebug(5700) << "AddressBook::save()"<< endl; |
371 | 371 | ||
372 | if ( ticket->resource() ) { | 372 | if ( ticket->resource() ) { |
373 | deleteRemovedAddressees(); | 373 | deleteRemovedAddressees(); |
374 | return ticket->resource()->save( ticket ); | 374 | return ticket->resource()->save( ticket ); |
375 | } | 375 | } |
376 | 376 | ||
377 | return false; | 377 | return false; |
378 | } | 378 | } |
379 | // exports all Addressees, which are syncable | 379 | // exports all Addressees, which are syncable |
380 | void AddressBook::export2File( QString fileName, QString resourceName ) | 380 | void AddressBook::export2File( QString fileName, QString resourceName ) |
381 | { | 381 | { |
382 | 382 | ||
383 | QFile outFile( fileName ); | 383 | QFile outFile( fileName ); |
384 | if ( !outFile.open( IO_WriteOnly ) ) { | 384 | if ( !outFile.open( IO_WriteOnly ) ) { |
385 | QString text = i18n( "<qt>Unable to open file <b>%1</b> for export.</qt>" ); | 385 | QString text = i18n( "<qt>Unable to open file <b>%1</b> for export.</qt>" ); |
386 | KMessageBox::error( 0, text.arg( fileName ) ); | 386 | KMessageBox::error( 0, text.arg( fileName ) ); |
387 | return ; | 387 | return ; |
388 | } | 388 | } |
389 | QTextStream t( &outFile ); | 389 | QTextStream t( &outFile ); |
390 | t.setEncoding( QTextStream::UnicodeUTF8 ); | 390 | t.setEncoding( QTextStream::UnicodeUTF8 ); |
391 | Iterator it; | 391 | Iterator it; |
392 | KABC::VCardConverter::Version version; | 392 | KABC::VCardConverter::Version version; |
393 | version = KABC::VCardConverter::v3_0; | 393 | version = KABC::VCardConverter::v3_0; |
394 | for ( it = begin(); it != end(); ++it ) { | 394 | for ( it = begin(); it != end(); ++it ) { |
395 | if ( (*it).resource() ) { | 395 | if ( (*it).resource() ) { |
396 | bool include = (*it).resource()->includeInSync(); | 396 | bool include = (*it).resource()->includeInSync(); |
397 | if ( !resourceName.isEmpty() ) | 397 | if ( !resourceName.isEmpty() ) |
398 | include = (resourceName == (*it).resource()->resourceName() ); | 398 | include = (resourceName == (*it).resource()->resourceName() ); |
399 | if ( include ) { | 399 | if ( include ) { |
400 | qDebug(QString ("Exporting resource %1 to file %2").arg( (*it).resource()->name() ).arg( fileName ) ); | 400 | //qDebug(QString ("Exporting resource %1 to file %2").arg( (*it).resource()->resourceName() ).arg( fileName ) ); |
401 | if ( !(*it).IDStr().isEmpty() ) { | 401 | if ( !(*it).IDStr().isEmpty() ) { |
402 | (*it).insertCustom( "KADDRESSBOOK", "X-ExternalID", (*it).IDStr() ); | 402 | (*it).insertCustom( "KADDRESSBOOK", "X-ExternalID", (*it).IDStr() ); |
403 | } | 403 | } |
404 | KABC::VCardConverter converter; | 404 | KABC::VCardConverter converter; |
405 | QString vcard; | 405 | QString vcard; |
406 | //Resource *resource() const; | 406 | //Resource *resource() const; |
407 | converter.addresseeToVCard( *it, vcard, version ); | 407 | converter.addresseeToVCard( *it, vcard, version ); |
408 | t << vcard << "\r\n"; | 408 | t << vcard << "\r\n"; |
409 | } | 409 | } |
410 | } | 410 | } |
411 | } | 411 | } |
412 | t << "\r\n\r\n"; | 412 | t << "\r\n\r\n"; |
413 | outFile.close(); | 413 | outFile.close(); |
414 | } | 414 | } |
415 | // if QStringList uids is empty, all are exported | 415 | // if QStringList uids is empty, all are exported |
416 | bool AddressBook::export2PhoneFormat( QStringList uids ,QString fileName ) | 416 | bool AddressBook::export2PhoneFormat( QStringList uids ,QString fileName ) |
417 | { | 417 | { |
418 | KABC::VCardConverter converter; | 418 | KABC::VCardConverter converter; |
419 | QString datastream; | 419 | QString datastream; |
420 | Iterator it; | 420 | Iterator it; |
421 | bool all = uids.isEmpty(); | 421 | bool all = uids.isEmpty(); |
422 | for ( it = begin(); it != end(); ++it ) { | 422 | for ( it = begin(); it != end(); ++it ) { |
423 | // for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { | 423 | // for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { |
424 | if ( ! all ) { | 424 | if ( ! all ) { |
425 | if ( ! ( uids.contains((*it).uid() ) )) | 425 | if ( ! ( uids.contains((*it).uid() ) )) |
426 | continue; | 426 | continue; |
427 | } | 427 | } |
428 | KABC::Addressee a = ( *it ); | 428 | KABC::Addressee a = ( *it ); |
429 | if ( a.isEmpty() ) | 429 | if ( a.isEmpty() ) |
430 | continue; | 430 | continue; |
431 | if ( all && a.resource() && !a.resource()->includeInSync() ) | 431 | if ( all && a.resource() && !a.resource()->includeInSync() ) |
432 | continue; | 432 | continue; |
@@ -480,68 +480,68 @@ bool AddressBook::export2PhoneFormat( QStringList uids ,QString fileName ) | |||
480 | qDebug("Error open temp file "); | 480 | qDebug("Error open temp file "); |
481 | return false; | 481 | return false; |
482 | } | 482 | } |
483 | return true; | 483 | return true; |
484 | 484 | ||
485 | } | 485 | } |
486 | int AddressBook::importFromFile( QString fileName, bool replaceLabel, bool removeOld, QString resource ) | 486 | int AddressBook::importFromFile( QString fileName, bool replaceLabel, bool removeOld, QString resource ) |
487 | { | 487 | { |
488 | 488 | ||
489 | if ( removeOld ) | 489 | if ( removeOld ) |
490 | setUntagged( true, resource ); | 490 | setUntagged( true, resource ); |
491 | KABC::Addressee::List list; | 491 | KABC::Addressee::List list; |
492 | QFile file( fileName ); | 492 | QFile file( fileName ); |
493 | file.open( IO_ReadOnly ); | 493 | file.open( IO_ReadOnly ); |
494 | QByteArray rawData = file.readAll(); | 494 | QByteArray rawData = file.readAll(); |
495 | file.close(); | 495 | file.close(); |
496 | QString data; | 496 | QString data; |
497 | if ( replaceLabel ) { | 497 | if ( replaceLabel ) { |
498 | data = QString::fromLatin1( rawData.data(), rawData.size() + 1 ); | 498 | data = QString::fromLatin1( rawData.data(), rawData.size() + 1 ); |
499 | data.replace ( QRegExp("LABEL") , "ADR" ); | 499 | data.replace ( QRegExp("LABEL") , "ADR" ); |
500 | data.replace ( QRegExp("CHARSET=ISO-8859-1") , "" ); | 500 | data.replace ( QRegExp("CHARSET=ISO-8859-1") , "" ); |
501 | } else | 501 | } else |
502 | data = QString::fromUtf8( rawData.data(), rawData.size() + 1 ); | 502 | data = QString::fromUtf8( rawData.data(), rawData.size() + 1 ); |
503 | KABC::VCardTool tool; | 503 | KABC::VCardTool tool; |
504 | list = tool.parseVCards( data ); | 504 | list = tool.parseVCards( data ); |
505 | KABC::Addressee::List::Iterator it; | 505 | KABC::Addressee::List::Iterator it; |
506 | 506 | ||
507 | Resource * setRes = 0; | 507 | Resource * setRes = 0; |
508 | if ( !resource.isEmpty() ) { | 508 | if ( !resource.isEmpty() ) { |
509 | KRES::Manager<Resource>::ActiveIterator it; | 509 | KRES::Manager<Resource>::ActiveIterator it; |
510 | KRES::Manager<Resource> *manager = d->mManager; | 510 | KRES::Manager<Resource> *manager = d->mManager; |
511 | for ( it = manager->activeBegin(); it != manager->activeEnd(); ++it ) { | 511 | for ( it = manager->activeBegin(); it != manager->activeEnd(); ++it ) { |
512 | qDebug("SaveAB::checking resource..." ); | 512 | //qDebug("SaveAB::checking resource..." ); |
513 | if ( (*it)->resourceName() == resource ) { | 513 | if ( (*it)->resourceName() == resource ) { |
514 | setRes = (*it); | 514 | setRes = (*it); |
515 | qDebug("Inserting imported contacs to resource %s", resource.latin1()); | 515 | qDebug("KA: AB: Inserting imported contacs to resource %s", resource.latin1()); |
516 | break; | 516 | break; |
517 | } | 517 | } |
518 | } | 518 | } |
519 | } | 519 | } |
520 | for ( it = list.begin(); it != list.end(); ++it ) { | 520 | for ( it = list.begin(); it != list.end(); ++it ) { |
521 | QString id = (*it).custom( "KADDRESSBOOK", "X-ExternalID" ); | 521 | QString id = (*it).custom( "KADDRESSBOOK", "X-ExternalID" ); |
522 | if ( !id.isEmpty() ) | 522 | if ( !id.isEmpty() ) |
523 | (*it).setIDStr(id ); | 523 | (*it).setIDStr(id ); |
524 | (*it).setResource( setRes ); | 524 | (*it).setResource( setRes ); |
525 | if ( replaceLabel ) | 525 | if ( replaceLabel ) |
526 | (*it).removeVoice(); | 526 | (*it).removeVoice(); |
527 | if ( removeOld ) | 527 | if ( removeOld ) |
528 | (*it).setTagged( true ); | 528 | (*it).setTagged( true ); |
529 | insertAddressee( (*it), false, true ); | 529 | insertAddressee( (*it), false, true ); |
530 | } | 530 | } |
531 | if ( removeOld ) | 531 | if ( removeOld ) |
532 | removeUntagged(); | 532 | removeUntagged(); |
533 | return list.count(); | 533 | return list.count(); |
534 | } | 534 | } |
535 | void AddressBook::setUntagged(bool setNonSyncTagged, QString resource) // = false , "") | 535 | void AddressBook::setUntagged(bool setNonSyncTagged, QString resource) // = false , "") |
536 | { | 536 | { |
537 | Iterator ait; | 537 | Iterator ait; |
538 | if ( !resource.isEmpty() ) { | 538 | if ( !resource.isEmpty() ) { |
539 | for ( ait = begin(); ait != end(); ++ait ) { | 539 | for ( ait = begin(); ait != end(); ++ait ) { |
540 | if ( (*ait).resource() && (*ait).resource()->resourceName() == resource ) { | 540 | if ( (*ait).resource() && (*ait).resource()->resourceName() == resource ) { |
541 | (*ait).setTagged( false ); | 541 | (*ait).setTagged( false ); |
542 | } | 542 | } |
543 | else | 543 | else |
544 | (*ait).setTagged( true ); | 544 | (*ait).setTagged( true ); |
545 | } | 545 | } |
546 | } else { | 546 | } else { |
547 | for ( ait = begin(); ait != end(); ++ait ) { | 547 | for ( ait = begin(); ait != end(); ++ait ) { |
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp index 7197b30..b7929ec 100644 --- a/libkdepim/ksyncmanager.cpp +++ b/libkdepim/ksyncmanager.cpp | |||
@@ -1157,64 +1157,65 @@ void KSyncManager::syncPi() | |||
1157 | while ( startLocal < mSpecificResources.count()/2 ) { | 1157 | while ( startLocal < mSpecificResources.count()/2 ) { |
1158 | if ( startLocal+1 >= lastSyncRes ) | 1158 | if ( startLocal+1 >= lastSyncRes ) |
1159 | emit multiResourceSyncStart( false ); | 1159 | emit multiResourceSyncStart( false ); |
1160 | mPisyncFinished = false; | 1160 | mPisyncFinished = false; |
1161 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; | 1161 | mCurrentResourceLocal = mSpecificResources[ startLocal ]; |
1162 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; | 1162 | mCurrentResourceRemote = mSpecificResources[ startRemote ]; |
1163 | //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); | 1163 | //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); |
1164 | if ( !mCurrentResourceRemote.isEmpty() ) { | 1164 | if ( !mCurrentResourceRemote.isEmpty() ) { |
1165 | qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); | 1165 | qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); |
1166 | 1166 | ||
1167 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); | 1167 | KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); |
1168 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); | 1168 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); |
1169 | commandSocket->readFile( syncFileName() ); | 1169 | commandSocket->readFile( syncFileName() ); |
1170 | mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); | 1170 | mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); |
1171 | while ( !mPisyncFinished ) { | 1171 | while ( !mPisyncFinished ) { |
1172 | //qDebug("waiting "); | 1172 | //qDebug("waiting "); |
1173 | qApp->processEvents(); | 1173 | qApp->processEvents(); |
1174 | } | 1174 | } |
1175 | if ( startLocal+1 < mSpecificResources.count()/2 ) { | 1175 | if ( startLocal+1 < mSpecificResources.count()/2 ) { |
1176 | mParent->topLevelWidget()->setCaption( i18n("Waiting a second before syncing next resource...") ); | 1176 | mParent->topLevelWidget()->setCaption( i18n("Waiting a second before syncing next resource...") ); |
1177 | QTime timer; | 1177 | QTime timer; |
1178 | timer.start(); | 1178 | timer.start(); |
1179 | while ( timer.elapsed () < 1000 ) { | 1179 | while ( timer.elapsed () < 1000 ) { |
1180 | qApp->processEvents(); | 1180 | qApp->processEvents(); |
1181 | } | 1181 | } |
1182 | } | 1182 | } |
1183 | } | 1183 | } |
1184 | ++startRemote; | 1184 | ++startRemote; |
1185 | ++startLocal; | 1185 | ++startLocal; |
1186 | mAskForPreferences = false; | 1186 | mAskForPreferences = false; |
1187 | } | 1187 | } |
1188 | mPisyncFinished = true; | 1188 | mPisyncFinished = true; |
1189 | mParent->topLevelWidget()->setCaption( i18n("Multi-resource Pi-sync finished") ); | ||
1189 | } else { | 1190 | } else { |
1190 | KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); | 1191 | KCommandSocket* commandSocket = new KCommandSocket( "", mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); |
1191 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); | 1192 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); |
1192 | commandSocket->readFile( syncFileName() ); | 1193 | commandSocket->readFile( syncFileName() ); |
1193 | } | 1194 | } |
1194 | } | 1195 | } |
1195 | 1196 | ||
1196 | void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) | 1197 | void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) |
1197 | { | 1198 | { |
1198 | //enum { success, errorW, errorR, quiet }; | 1199 | //enum { success, errorW, errorR, quiet }; |
1199 | 1200 | ||
1200 | 1201 | ||
1201 | 1202 | ||
1202 | if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || | 1203 | if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ||state == KCommandSocket::errorPW || |
1203 | state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { | 1204 | state == KCommandSocket::errorCA ||state == KCommandSocket::errorFI ||state == KCommandSocket::errorUN||state == KCommandSocket::errorED ) { |
1204 | if ( state == KCommandSocket::errorPW ) | 1205 | if ( state == KCommandSocket::errorPW ) |
1205 | mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); | 1206 | mParent->topLevelWidget()->setCaption( i18n("Wrong password: Receiving remote file failed.") ); |
1206 | else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) | 1207 | else if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) |
1207 | mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); | 1208 | mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); |
1208 | else if ( state == KCommandSocket::errorCA ) | 1209 | else if ( state == KCommandSocket::errorCA ) |
1209 | mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); | 1210 | mParent->topLevelWidget()->setCaption( i18n("Sync cancelled from remote.") ); |
1210 | else if ( state == KCommandSocket::errorFI ) | 1211 | else if ( state == KCommandSocket::errorFI ) |
1211 | mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); | 1212 | mParent->topLevelWidget()->setCaption( i18n("File error on remote.") ); |
1212 | else if ( state == KCommandSocket::errorED ) | 1213 | else if ( state == KCommandSocket::errorED ) |
1213 | mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); | 1214 | mParent->topLevelWidget()->setCaption( i18n("Please close error dialog on remote.") ); |
1214 | else if ( state == KCommandSocket::errorUN ) | 1215 | else if ( state == KCommandSocket::errorUN ) |
1215 | mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); | 1216 | mParent->topLevelWidget()->setCaption( i18n("Unknown error on remote.") ); |
1216 | delete s; | 1217 | delete s; |
1217 | if ( state == KCommandSocket::errorR ) { | 1218 | if ( state == KCommandSocket::errorR ) { |
1218 | KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); | 1219 | KCommandSocket* commandSocket = new KCommandSocket( "",mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this, mParent->topLevelWidget()); |
1219 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); | 1220 | connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); |
1220 | commandSocket->sendStop(); | 1221 | commandSocket->sendStop(); |