-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 11 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index cb63a5e..71d07e7 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1556,30 +1556,41 @@ | |||
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 | { "Multi-resource Pi-sync finished","Multi-Resourcen Pi-sync beendet" }, | 1579 | { "Multi-resource Pi-sync finished","Multi-Resourcen Pi-sync beendet" }, |
1580 | { "Work","Arbeit" }, | ||
1581 | { "Mobile","Handy" }, | ||
1582 | { "Work2","Arbeit2" }, | ||
1583 | { "Mobile2","Handy2" } | ||
1584 | { "Home2","Zuhause2" }, | ||
1585 | { "Other","Sonstige" }, | ||
1586 | { "Meeting ","Treffen " }, | ||
1587 | { "(cancelled)","(aufgehoben)" }, | ||
1588 | { "","" }, | ||
1589 | { "","" }, | ||
1590 | { "","" }, | ||
1580 | { "","" }, | 1591 | { "","" }, |
1581 | { "","" }, | 1592 | { "","" }, |
1582 | { "","" }, | 1593 | { "","" }, |
1583 | { "","" }, | 1594 | { "","" }, |
1584 | { "","" }, | 1595 | { "","" }, |
1585 | { "","" }, | 1596 | { "","" }, |
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 92d2a80..c0acf34 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp | |||
@@ -158,49 +158,49 @@ void KOEventViewer::setSource(const QString& n) | |||
158 | QPtrList<Attendee> attendees = mCurrentIncidence->attendees(); | 158 | QPtrList<Attendee> attendees = mCurrentIncidence->attendees(); |
159 | if (attendees.count()) { | 159 | if (attendees.count()) { |
160 | Attendee *a; | 160 | Attendee *a; |
161 | for(a=attendees.first();a;a=attendees.next()) { | 161 | for(a=attendees.first();a;a=attendees.next()) { |
162 | if ( "uid:"+a->uid() == n ) { | 162 | if ( "uid:"+a->uid() == n ) { |
163 | bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI(a->name(), a->email(), a->uid()); | 163 | bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI(a->name(), a->email(), a->uid()); |
164 | return; | 164 | return; |
165 | } | 165 | } |
166 | } | 166 | } |
167 | } | 167 | } |
168 | return; | 168 | return; |
169 | } | 169 | } |
170 | //requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); | 170 | //requestNameEmailUidListFromKAPI("QPE/Application/kopi", this->name() /* name is here the unique uid*/); |
171 | // the result should now arrive through method insertAttendees | 171 | // the result should now arrive through method insertAttendees |
172 | //QString uid = "uid:"+(*it).uid(); | 172 | //QString uid = "uid:"+(*it).uid(); |
173 | #endif | 173 | #endif |
174 | if ( n.left(6) == "mailto" ) { | 174 | if ( n.left(6) == "mailto" ) { |
175 | // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1()); | 175 | // qDebug("KOEventViewer::setSource %s ", n.mid(7).latin1()); |
176 | //#ifndef DESKTOP_VERSION | 176 | //#ifndef DESKTOP_VERSION |
177 | if ( n.mid(7,3) == "ALL" ) { | 177 | if ( n.mid(7,3) == "ALL" ) { |
178 | mailToAttendees( true ); | 178 | mailToAttendees( true ); |
179 | } else if ( n.mid(7,4) == "RSVP" ) { | 179 | } else if ( n.mid(7,4) == "RSVP" ) { |
180 | mailToAttendees( false ); | 180 | mailToAttendees( false ); |
181 | } else { | 181 | } else { |
182 | ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); | 182 | ExternalAppHandler::instance()->mailToOneContact( n.mid(7) ); |
183 | //QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" ); | 183 | //QCopEnvelope e("QPE/Application/ompi", "newMail(QString)" ); |
184 | //e << n.mid(7); | 184 | //e << n.mid(7); |
185 | } | 185 | } |
186 | //#endif | 186 | //#endif |
187 | 187 | ||
188 | } | 188 | } |
189 | 189 | ||
190 | 190 | ||
191 | #ifndef KORG_NODCOP | 191 | #ifndef KORG_NODCOP |
192 | kdDebug() << "KOEventViewer::setSource(): " << n << endl; | 192 | kdDebug() << "KOEventViewer::setSource(): " << n << endl; |
193 | QString tmpStr; | 193 | QString tmpStr; |
194 | if (n.startsWith("mailto:")) { | 194 | if (n.startsWith("mailto:")) { |
195 | KApplication::kApplication()->invokeMailer(n.mid(7),QString::null); | 195 | KApplication::kApplication()->invokeMailer(n.mid(7),QString::null); |
196 | //emit showIncidence(n); | 196 | //emit showIncidence(n); |
197 | return; | 197 | return; |
198 | } else if (n.startsWith("uid:")) { | 198 | } else if (n.startsWith("uid:")) { |
199 | DCOPClient *client = KApplication::kApplication()->dcopClient(); | 199 | DCOPClient *client = KApplication::kApplication()->dcopClient(); |
200 | const QByteArray noParamData; | 200 | const QByteArray noParamData; |
201 | const QByteArray paramData; | 201 | const QByteArray paramData; |
202 | QByteArray replyData; | 202 | QByteArray replyData; |
203 | QCString replyTypeStr; | 203 | QCString replyTypeStr; |
204 | #define PING_ABBROWSER (client->call("kaddressbook", "KAddressBookIface", "interfaces()", noParamData, replyTypeStr, replyData)) | 204 | #define PING_ABBROWSER (client->call("kaddressbook", "KAddressBookIface", "interfaces()", noParamData, replyTypeStr, replyData)) |
205 | bool foundAbbrowser = PING_ABBROWSER; | 205 | bool foundAbbrowser = PING_ABBROWSER; |
206 | 206 | ||
@@ -334,49 +334,49 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
334 | mText.append(i18n("<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>") | 334 | mText.append(i18n("<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>") |
335 | .arg(event->dtStartDateStr(shortDate)) | 335 | .arg(event->dtStartDateStr(shortDate)) |
336 | .arg(event->dtEndDateStr(shortDate))); | 336 | .arg(event->dtEndDateStr(shortDate))); |
337 | mText.append(i18n("<p><b>Duration:</b> %1 days</p>") | 337 | mText.append(i18n("<p><b>Duration:</b> %1 days</p>") |
338 | .arg(event->dtStart().daysTo(event->dtEnd())+1)); | 338 | .arg(event->dtStart().daysTo(event->dtEnd())+1)); |
339 | } else { | 339 | } else { |
340 | mText.append(i18n("<p><b>On:</b> %1</p>").arg(event->dtStartDateStr( shortDate ))); | 340 | mText.append(i18n("<p><b>On:</b> %1</p>").arg(event->dtStartDateStr( shortDate ))); |
341 | } | 341 | } |
342 | } else { | 342 | } else { |
343 | if (event->isMultiDay()) { | 343 | if (event->isMultiDay()) { |
344 | mText.append(i18n("<p><b>From:</b> %1</p> ") | 344 | mText.append(i18n("<p><b>From:</b> %1</p> ") |
345 | .arg(event->dtStartStr( shortDate))); | 345 | .arg(event->dtStartStr( shortDate))); |
346 | mText.append(i18n("<p><b>To:</b> %1</p>") | 346 | mText.append(i18n("<p><b>To:</b> %1</p>") |
347 | .arg(event->dtEndStr(shortDate))); | 347 | .arg(event->dtEndStr(shortDate))); |
348 | } else { | 348 | } else { |
349 | mText.append(i18n("<p><b>From:</b> %1 <b>To:</b> %2</p>") | 349 | mText.append(i18n("<p><b>From:</b> %1 <b>To:</b> %2</p>") |
350 | .arg(event->dtStartTimeStr()) | 350 | .arg(event->dtStartTimeStr()) |
351 | .arg(event->dtEndTimeStr())); | 351 | .arg(event->dtEndTimeStr())); |
352 | mText.append(i18n("<p><b>On:</b> %1</p> ") | 352 | mText.append(i18n("<p><b>On:</b> %1</p> ") |
353 | .arg(event->dtStartDateStr( shortDate ))); | 353 | .arg(event->dtStartDateStr( shortDate ))); |
354 | } | 354 | } |
355 | } | 355 | } |
356 | if (!event->location().isEmpty()) { | 356 | if (!event->location().isEmpty()) { |
357 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); | 357 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); |
358 | mMailSubject += i18n(" at ") + event->location(); | 358 | mMailSubject += " (" + i18n("Location: ") + event->location() + ")"; |
359 | } | 359 | } |
360 | if (event->doesRecur()) { | 360 | if (event->doesRecur()) { |
361 | 361 | ||
362 | QString recurText = event->recurrenceText(); | 362 | QString recurText = event->recurrenceText(); |
363 | addTag("p","<em>" + i18n("This is a %1 recurring event.").arg(recurText ) + "</em>"); | 363 | addTag("p","<em>" + i18n("This is a %1 recurring event.").arg(recurText ) + "</em>"); |
364 | bool ok; | 364 | bool ok; |
365 | QDate start = QDate::currentDate(); | 365 | QDate start = QDate::currentDate(); |
366 | QDateTime next; | 366 | QDateTime next; |
367 | next = event->getNextOccurence( QDateTime::currentDateTime() , &ok ); | 367 | next = event->getNextOccurence( QDateTime::currentDateTime() , &ok ); |
368 | if ( ok ) { | 368 | if ( ok ) { |
369 | if ( wideScreen ){ | 369 | if ( wideScreen ){ |
370 | addTag("p",i18n("<b>Next recurrence is on:</b>") +" " + KGlobal::locale()->formatDate( next.date(), shortDate ) ); | 370 | addTag("p",i18n("<b>Next recurrence is on:</b>") +" " + KGlobal::locale()->formatDate( next.date(), shortDate ) ); |
371 | } else { | 371 | } else { |
372 | addTag("p",i18n("<b>Next recurrence is on:</b>") ); | 372 | addTag("p",i18n("<b>Next recurrence is on:</b>") ); |
373 | addTag("p", KGlobal::locale()->formatDate( next.date(), shortDate )); | 373 | addTag("p", KGlobal::locale()->formatDate( next.date(), shortDate )); |
374 | } | 374 | } |
375 | mMailSubject += i18n(" - " )+ KGlobal::locale()->formatDateTime( next, true ); | 375 | mMailSubject += i18n(" - " )+ KGlobal::locale()->formatDateTime( next, true ); |
376 | 376 | ||
377 | } else { | 377 | } else { |
378 | bool last; | 378 | bool last; |
379 | QDate nextd; | 379 | QDate nextd; |
380 | nextd = event->recurrence()->getPreviousDate( QDate::currentDate() , &last ); | 380 | nextd = event->recurrence()->getPreviousDate( QDate::currentDate() , &last ); |
381 | if ( last ) { | 381 | if ( last ) { |
382 | if ( wideScreen ){ | 382 | if ( wideScreen ){ |
@@ -493,55 +493,56 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
493 | } else { | 493 | } else { |
494 | mText.append(i18n("<p><i>%1 % completed</i></p>") | 494 | mText.append(i18n("<p><i>%1 % completed</i></p>") |
495 | .arg(event->percentComplete())); | 495 | .arg(event->percentComplete())); |
496 | } | 496 | } |
497 | 497 | ||
498 | if (event->cancelled ()) { | 498 | if (event->cancelled ()) { |
499 | mText +="<font color=\"#B00000\">"; | 499 | mText +="<font color=\"#B00000\">"; |
500 | addTag("i",i18n("This todo has been cancelled!")); | 500 | addTag("i",i18n("This todo has been cancelled!")); |
501 | mText.append("<br>"); | 501 | mText.append("<br>"); |
502 | mText += "</font>"; | 502 | mText += "</font>"; |
503 | mMailSubject += i18n("(cancelled)"); | 503 | mMailSubject += i18n("(cancelled)"); |
504 | } | 504 | } |
505 | 505 | ||
506 | 506 | ||
507 | 507 | ||
508 | if (event->doesRecur()) { | 508 | if (event->doesRecur()) { |
509 | 509 | ||
510 | QString recurText = event->recurrence()->recurrenceText(); | 510 | QString recurText = event->recurrence()->recurrenceText(); |
511 | addTag("p","<em>" + i18n("This is a %1 recurring todo.").arg(recurText ) + "</em>"); | 511 | addTag("p","<em>" + i18n("This is a %1 recurring todo.").arg(recurText ) + "</em>"); |
512 | 512 | ||
513 | } | 513 | } |
514 | if (event->hasStartDate()) { | 514 | if (event->hasStartDate()) { |
515 | mText.append(i18n("<p><b>Start on:</b> %1</p>").arg(event->dtStartStr(KOPrefs::instance()->mShortDateInViewer))); | 515 | mText.append(i18n("<p><b>Start on:</b> %1</p>").arg(event->dtStartStr(KOPrefs::instance()->mShortDateInViewer))); |
516 | } | 516 | } |
517 | if (!event->location().isEmpty()) { | ||
518 | mMailSubject += " (" + i18n("Location: ") + event->location() + ")"; | ||
519 | } | ||
517 | if (event->hasDueDate()) { | 520 | if (event->hasDueDate()) { |
518 | mText.append(i18n("<p><b>Due on:</b> %1</p>").arg(event->dtDueStr(KOPrefs::instance()->mShortDateInViewer))); | 521 | mText.append(i18n("<p><b>Due on:</b> %1</p>").arg(event->dtDueStr(KOPrefs::instance()->mShortDateInViewer))); |
519 | mMailSubject += i18n(" - " )+event->dtDueStr( true ); | ||
520 | } | 522 | } |
521 | if (!event->location().isEmpty()) { | 523 | if (!event->location().isEmpty()) { |
522 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); | 524 | addTag("p","<b>"+i18n("Location: ")+"</b>"+ deTag(event->location() ) ); |
523 | mMailSubject += i18n(" at ") + event->location(); | ||
524 | } | 525 | } |
525 | mText.append(i18n("<p><b>Priority:</b> %2</p>") | 526 | mText.append(i18n("<p><b>Priority:</b> %2</p>") |
526 | .arg(QString::number(event->priority()))); | 527 | .arg(QString::number(event->priority()))); |
527 | 528 | ||
528 | if (event->isAlarmEnabled()) { | 529 | if (event->isAlarmEnabled()) { |
529 | Alarm *alarm =event->alarms().first() ; | 530 | Alarm *alarm =event->alarms().first() ; |
530 | QDateTime t = alarm->time(); | 531 | QDateTime t = alarm->time(); |
531 | if (event->doesRecur()) { | 532 | if (event->doesRecur()) { |
532 | bool ok = false; | 533 | bool ok = false; |
533 | int offset = 0; | 534 | int offset = 0; |
534 | QDateTime next = event->getNextAlarmDateTime(& ok, &offset, QDateTime::currentDateTime() ) ; | 535 | QDateTime next = event->getNextAlarmDateTime(& ok, &offset, QDateTime::currentDateTime() ) ; |
535 | if ( ok ) { | 536 | if ( ok ) { |
536 | t = next; | 537 | t = next; |
537 | } | 538 | } |
538 | } | 539 | } |
539 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); | 540 | QString s =i18n("( %1 before )").arg( alarm->offsetText() ); |
540 | if ( wideScreen ) { | 541 | if ( wideScreen ) { |
541 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); | 542 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"+ KGlobal::locale()->formatDateTime( t, shortDate )); |
542 | } else { | 543 | } else { |
543 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); | 544 | addTag("p",i18n("<b>Alarm on: ") + s +" </b>"); |
544 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); | 545 | addTag("p", KGlobal::locale()->formatDateTime( t, shortDate )); |
545 | } | 546 | } |
546 | if ( !(event->alarmEnabled() ) ) { | 547 | if ( !(event->alarmEnabled() ) ) { |
547 | addTag("p", "<em>("+i18n("Enable alarm in resource settings") + ")</em>"); | 548 | addTag("p", "<em>("+i18n("Enable alarm in resource settings") + ")</em>"); |