-rw-r--r-- | korganizer/koeventviewer.cpp | 42 | ||||
-rw-r--r-- | korganizer/koeventviewer.h | 1 | ||||
-rw-r--r-- | libkcal/kincidenceformatter.cpp | 35 | ||||
-rw-r--r-- | libkcal/kincidenceformatter.h | 1 |
4 files changed, 55 insertions, 24 deletions
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 44da058..135ca73 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp | |||
@@ -243,9 +243,9 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
243 | mCurrentIncidence = event; | 243 | mCurrentIncidence = event; |
244 | bool shortDate = KOPrefs::instance()->mShortDateInViewer; | 244 | bool shortDate = KOPrefs::instance()->mShortDateInViewer; |
245 | topLevelWidget()->setCaption(i18n("Event Viewer")); | 245 | topLevelWidget()->setCaption(i18n("Event Viewer")); |
246 | if ( mode == 0 ) { | 246 | if ( mode == 0 ) { |
247 | addTag("h2",event->summary()); | 247 | addTag("h2",deTag(event->summary())); |
248 | } | 248 | } |
249 | else { | 249 | else { |
250 | if ( mColorMode == 1 ) { | 250 | if ( mColorMode == 1 ) { |
251 | mText +="<font color=\"#00A000\">"; | 251 | mText +="<font color=\"#00A000\">"; |
@@ -254,11 +254,11 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
254 | mText +="<font color=\"#C00000\">"; | 254 | mText +="<font color=\"#C00000\">"; |
255 | } | 255 | } |
256 | // mText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>"; | 256 | // mText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>"; |
257 | if ( mode == 1 ) { | 257 | if ( mode == 1 ) { |
258 | addTag("h2",i18n( "Local: " ) +event->summary()); | 258 | addTag("h2",i18n( "Local: " ) +deTag(event->summary())); |
259 | } else { | 259 | } else { |
260 | addTag("h2",i18n( "Remote: " ) +event->summary()); | 260 | addTag("h2",i18n( "Remote: " ) +deTag(event->summary())); |
261 | } | 261 | } |
262 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); | 262 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); |
263 | if ( mColorMode ) | 263 | if ( mColorMode ) |
264 | mText += "</font>"; | 264 | mText += "</font>"; |
@@ -272,9 +272,9 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
272 | mMailSubject += i18n("(cancelled)"); | 272 | mMailSubject += i18n("(cancelled)"); |
273 | } | 273 | } |
274 | if (!event->location().isEmpty()) { | 274 | if (!event->location().isEmpty()) { |
275 | addTag("b",i18n("Location: ")); | 275 | addTag("b",i18n("Location: ")); |
276 | mText.append(event->location()+"<br>"); | 276 | mText.append(deTag(event->location())+"<br>"); |
277 | mMailSubject += i18n(" at ") + event->location(); | 277 | mMailSubject += i18n(" at ") + event->location(); |
278 | } | 278 | } |
279 | if (event->doesFloat()) { | 279 | if (event->doesFloat()) { |
280 | if (event->isMultiDay()) { | 280 | if (event->isMultiDay()) { |
@@ -343,9 +343,9 @@ void KOEventViewer::appendEvent(Event *event, int mode ) | |||
343 | 343 | ||
344 | if ( KOPrefs::instance()->mEVshowDetails ) { | 344 | if ( KOPrefs::instance()->mEVshowDetails ) { |
345 | if (!event->description().isEmpty()) { | 345 | if (!event->description().isEmpty()) { |
346 | addTag("p",i18n("<b>Details: </b>")); | 346 | addTag("p",i18n("<b>Details: </b>")); |
347 | addTag("p",event->description()); | 347 | addTag("p",deTag(event->description())); |
348 | } | 348 | } |
349 | } | 349 | } |
350 | formatCategories(event); | 350 | formatCategories(event); |
351 | 351 | ||
@@ -373,20 +373,20 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
373 | mCurrentIncidence = event; | 373 | mCurrentIncidence = event; |
374 | topLevelWidget()->setCaption(i18n("Todo Viewer")); | 374 | topLevelWidget()->setCaption(i18n("Todo Viewer")); |
375 | bool shortDate = KOPrefs::instance()->mShortDateInViewer; | 375 | bool shortDate = KOPrefs::instance()->mShortDateInViewer; |
376 | if (mode == 0 ) | 376 | if (mode == 0 ) |
377 | addTag("h2",event->summary()); | 377 | addTag("h2",deTag(event->summary())); |
378 | else { | 378 | else { |
379 | if ( mColorMode == 1 ) { | 379 | if ( mColorMode == 1 ) { |
380 | mText +="<font color=\"#00A000\">"; | 380 | mText +="<font color=\"#00A000\">"; |
381 | } | 381 | } |
382 | if ( mColorMode == 2 ) { | 382 | if ( mColorMode == 2 ) { |
383 | mText +="<font color=\"#B00000\">"; | 383 | mText +="<font color=\"#B00000\">"; |
384 | } | 384 | } |
385 | if ( mode == 1 ) { | 385 | if ( mode == 1 ) { |
386 | addTag("h2",i18n( "Local: " ) +event->summary()); | 386 | addTag("h2",i18n( "Local: " ) +deTag(event->summary())); |
387 | } else { | 387 | } else { |
388 | addTag("h2",i18n( "Remote: " ) +event->summary()); | 388 | addTag("h2",i18n( "Remote: " ) +deTag(event->summary())); |
389 | } | 389 | } |
390 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); | 390 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); |
391 | if ( mColorMode ) | 391 | if ( mColorMode ) |
392 | mText += "</font>"; | 392 | mText += "</font>"; |
@@ -411,9 +411,9 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
411 | } | 411 | } |
412 | 412 | ||
413 | if (!event->location().isEmpty()) { | 413 | if (!event->location().isEmpty()) { |
414 | addTag("b",i18n("Location: ")); | 414 | addTag("b",i18n("Location: ")); |
415 | mText.append(event->location()+"<br>"); | 415 | mText.append(deTag(event->location())+"<br>"); |
416 | mMailSubject += i18n(" at ") + event->location(); | 416 | mMailSubject += i18n(" at ") + event->location(); |
417 | } | 417 | } |
418 | 418 | ||
419 | if (event->recurrence()->doesRecur()) { | 419 | if (event->recurrence()->doesRecur()) { |
@@ -433,9 +433,9 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
433 | mText.append(event->secrecyStr()+"<br>"); | 433 | mText.append(event->secrecyStr()+"<br>"); |
434 | if ( KOPrefs::instance()->mEVshowDetails ) { | 434 | if ( KOPrefs::instance()->mEVshowDetails ) { |
435 | if (!event->description().isEmpty()) { | 435 | if (!event->description().isEmpty()) { |
436 | addTag("p",i18n("<b>Details: </b>")); | 436 | addTag("p",i18n("<b>Details: </b>")); |
437 | addTag("p",event->description()); | 437 | addTag("p",deTag(event->description())); |
438 | } | 438 | } |
439 | } | 439 | } |
440 | 440 | ||
441 | formatCategories(event); | 441 | formatCategories(event); |
@@ -446,16 +446,16 @@ void KOEventViewer::appendTodo(Todo *event, int mode ) | |||
446 | formatReadOnly(event); | 446 | formatReadOnly(event); |
447 | formatAttendees(event); | 447 | formatAttendees(event); |
448 | if ( event->relatedTo() ) { | 448 | if ( event->relatedTo() ) { |
449 | addTag("b",i18n("Parent todo:<br>")); | 449 | addTag("b",i18n("Parent todo:<br>")); |
450 | mText.append(event->relatedTo()->summary()+" [" +QString::number(event->relatedTo()->priority()) + "/" + QString::number(((Todo*)event->relatedTo())->percentComplete())+"%] <br>"); | 450 | mText.append(deTag(event->relatedTo()->summary())+" [" +QString::number(event->relatedTo()->priority()) + "/" + QString::number(((Todo*)event->relatedTo())->percentComplete())+"%] <br>"); |
451 | } | 451 | } |
452 | QPtrList<Incidence> Relations = event->relations(); | 452 | QPtrList<Incidence> Relations = event->relations(); |
453 | Incidence *to; | 453 | Incidence *to; |
454 | if ( Relations.first() ) | 454 | if ( Relations.first() ) |
455 | addTag("b",i18n("Sub todos:<br>")); | 455 | addTag("b",i18n("Sub todos:<br>")); |
456 | for (to=Relations.first();to;to=Relations.next()) { | 456 | for (to=Relations.first();to;to=Relations.next()) { |
457 | mText.append( to->summary()+" [" +QString::number(to->priority()) + "/" + QString::number(((Todo*)to)->percentComplete())+"%]<br>"); | 457 | mText.append( deTag(to->summary())+" [" +QString::number(to->priority()) + "/" + QString::number(((Todo*)to)->percentComplete())+"%]<br>"); |
458 | 458 | ||
459 | } | 459 | } |
460 | if ( KOPrefs::instance()->mEVshowCreated ) { | 460 | if ( KOPrefs::instance()->mEVshowCreated ) { |
461 | addTag("p",i18n("<b>Created: ") +" </b>"); | 461 | addTag("p",i18n("<b>Created: ") +" </b>"); |
@@ -622,9 +622,9 @@ void KOEventViewer::appendJournal(Journal *jour, int mode ) | |||
622 | topLevelWidget()->setCaption("Journal Viewer"); | 622 | topLevelWidget()->setCaption("Journal Viewer"); |
623 | mText.append(i18n("<h3> %1 </h3> ").arg(jour->dtStartDateStr(KOPrefs::instance()->mShortDateInViewer))); | 623 | mText.append(i18n("<h3> %1 </h3> ").arg(jour->dtStartDateStr(KOPrefs::instance()->mShortDateInViewer))); |
624 | addTag("b",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(jour->lastModified(),shortDate ) ); | 624 | addTag("b",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(jour->lastModified(),shortDate ) ); |
625 | if (!jour->description().isEmpty()) { | 625 | if (!jour->description().isEmpty()) { |
626 | addTag("p",jour->description()); | 626 | addTag("p",deTag(jour->description())); |
627 | } | 627 | } |
628 | setText(mText); | 628 | setText(mText); |
629 | } | 629 | } |
630 | 630 | ||
@@ -638,9 +638,8 @@ void KOEventViewer::setSyncMode( bool b ) | |||
638 | { | 638 | { |
639 | mSyncMode = b; | 639 | mSyncMode = b; |
640 | } | 640 | } |
641 | 641 | ||
642 | |||
643 | void KOEventViewer::setTodo(Todo *event, bool clearV ) | 642 | void KOEventViewer::setTodo(Todo *event, bool clearV ) |
644 | { | 643 | { |
645 | if ( clearV ) | 644 | if ( clearV ) |
646 | clearEvents(); | 645 | clearEvents(); |
@@ -692,8 +691,23 @@ void KOEventViewer::addText(QString text) | |||
692 | { | 691 | { |
693 | mText.append(text); | 692 | mText.append(text); |
694 | setText(mText); | 693 | setText(mText); |
695 | } | 694 | } |
695 | QString KOEventViewer::deTag(QString text) | ||
696 | { | ||
697 | #if QT_VERSION >= 0x030000 | ||
698 | text.replace( '<' , "<" ); | ||
699 | text.replace( '>' , ">" ); | ||
700 | #else | ||
701 | if ( text.find ('<') > 0 ) { | ||
702 | text.replace( QRegExp("<") , "<" ); | ||
703 | } | ||
704 | if ( text.find ('>') > 0 ) { | ||
705 | text.replace( QRegExp(">") , ">" ); | ||
706 | } | ||
707 | #endif | ||
708 | return text; | ||
709 | } | ||
696 | void KOEventViewer::keyPressEvent ( QKeyEvent * e ) | 710 | void KOEventViewer::keyPressEvent ( QKeyEvent * e ) |
697 | { | 711 | { |
698 | switch ( e->key() ) { | 712 | switch ( e->key() ) { |
699 | case Qt::Key_Return: | 713 | case Qt::Key_Return: |
diff --git a/korganizer/koeventviewer.h b/korganizer/koeventviewer.h index 2d4a08e..47cc5e9 100644 --- a/korganizer/koeventviewer.h +++ b/korganizer/koeventviewer.h | |||
@@ -64,8 +64,9 @@ class KOEventViewer : public QTextBrowser { | |||
64 | 64 | ||
65 | private: | 65 | private: |
66 | QTextBrowser *mEventTextView; | 66 | QTextBrowser *mEventTextView; |
67 | bool mSyncMode; | 67 | bool mSyncMode; |
68 | QString deTag(QString text); | ||
68 | 69 | ||
69 | QString mText; | 70 | QString mText; |
70 | QString mMailSubject; | 71 | QString mMailSubject; |
71 | Incidence* mCurrentIncidence; | 72 | Incidence* mCurrentIncidence; |
diff --git a/libkcal/kincidenceformatter.cpp b/libkcal/kincidenceformatter.cpp index 1751ae3..57a9ede 100644 --- a/libkcal/kincidenceformatter.cpp +++ b/libkcal/kincidenceformatter.cpp | |||
@@ -50,9 +50,9 @@ void KIncidenceFormatter::setEvent(Event *event) | |||
50 | int mode = 0; | 50 | int mode = 0; |
51 | mCurrentIncidence = event; | 51 | mCurrentIncidence = event; |
52 | bool shortDate = true; | 52 | bool shortDate = true; |
53 | if ( mode == 0 ) { | 53 | if ( mode == 0 ) { |
54 | addTag("h3",event->summary()); | 54 | addTag("h3",deTag(event->summary())); |
55 | } | 55 | } |
56 | else { | 56 | else { |
57 | if ( mColorMode == 1 ) { | 57 | if ( mColorMode == 1 ) { |
58 | mText +="<font color=\"#00A000\">"; | 58 | mText +="<font color=\"#00A000\">"; |
@@ -61,11 +61,11 @@ void KIncidenceFormatter::setEvent(Event *event) | |||
61 | mText +="<font color=\"#C00000\">"; | 61 | mText +="<font color=\"#C00000\">"; |
62 | } | 62 | } |
63 | // mText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>"; | 63 | // mText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>"; |
64 | if ( mode == 1 ) { | 64 | if ( mode == 1 ) { |
65 | addTag("h2",i18n( "Local: " ) +event->summary()); | 65 | addTag("h2",i18n( "Local: " ) +deTag(event->summary())); |
66 | } else { | 66 | } else { |
67 | addTag("h2",i18n( "Remote: " ) +event->summary()); | 67 | addTag("h2",i18n( "Remote: " ) +deTag(event->summary())); |
68 | } | 68 | } |
69 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); | 69 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); |
70 | if ( mColorMode ) | 70 | if ( mColorMode ) |
71 | mText += "</font>"; | 71 | mText += "</font>"; |
@@ -77,9 +77,9 @@ void KIncidenceFormatter::setEvent(Event *event) | |||
77 | mText += "</font>"; | 77 | mText += "</font>"; |
78 | } | 78 | } |
79 | if (!event->location().isEmpty()) { | 79 | if (!event->location().isEmpty()) { |
80 | addTag("b",i18n("Location: ")); | 80 | addTag("b",i18n("Location: ")); |
81 | mText.append(event->location()+"<br>"); | 81 | mText.append(deTag(event->location())+"<br>"); |
82 | } | 82 | } |
83 | if (event->doesFloat()) { | 83 | if (event->doesFloat()) { |
84 | if (event->isMultiDay()) { | 84 | if (event->isMultiDay()) { |
85 | mText.append(i18n("<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>") | 85 | mText.append(i18n("<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>") |
@@ -143,9 +143,9 @@ void KIncidenceFormatter::setEvent(Event *event) | |||
143 | formatCategories(event); | 143 | formatCategories(event); |
144 | if ( mDetails ) { | 144 | if ( mDetails ) { |
145 | if (!event->description().isEmpty()) { | 145 | if (!event->description().isEmpty()) { |
146 | addTag("p",i18n("<b>Details: </b>")); | 146 | addTag("p",i18n("<b>Details: </b>")); |
147 | addTag("p",event->description()); | 147 | addTag("p",deTag(event->description())); |
148 | } | 148 | } |
149 | } | 149 | } |
150 | 150 | ||
151 | formatReadOnly(event); | 151 | formatReadOnly(event); |
@@ -169,20 +169,20 @@ void KIncidenceFormatter::setTodo(Todo *event ) | |||
169 | int mode = 0; | 169 | int mode = 0; |
170 | mCurrentIncidence = event; | 170 | mCurrentIncidence = event; |
171 | bool shortDate = true; | 171 | bool shortDate = true; |
172 | if (mode == 0 ) | 172 | if (mode == 0 ) |
173 | addTag("h3",event->summary()); | 173 | addTag("h3",deTag(event->summary())); |
174 | else { | 174 | else { |
175 | if ( mColorMode == 1 ) { | 175 | if ( mColorMode == 1 ) { |
176 | mText +="<font color=\"#00A000\">"; | 176 | mText +="<font color=\"#00A000\">"; |
177 | } | 177 | } |
178 | if ( mColorMode == 2 ) { | 178 | if ( mColorMode == 2 ) { |
179 | mText +="<font color=\"#B00000\">"; | 179 | mText +="<font color=\"#B00000\">"; |
180 | } | 180 | } |
181 | if ( mode == 1 ) { | 181 | if ( mode == 1 ) { |
182 | addTag("h2",i18n( "Local: " ) +event->summary()); | 182 | addTag("h2",i18n( "Local: " ) +deTag(event->summary())); |
183 | } else { | 183 | } else { |
184 | addTag("h2",i18n( "Remote: " ) +event->summary()); | 184 | addTag("h2",i18n( "Remote: " ) +deTag(event->summary())); |
185 | } | 185 | } |
186 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); | 186 | addTag("h3",i18n( "Last modified: " ) + KGlobal::locale()->formatDateTime(event->lastModified(),shortDate, true ) ); |
187 | if ( mColorMode ) | 187 | if ( mColorMode ) |
188 | mText += "</font>"; | 188 | mText += "</font>"; |
@@ -203,9 +203,9 @@ void KIncidenceFormatter::setTodo(Todo *event ) | |||
203 | } | 203 | } |
204 | 204 | ||
205 | if (!event->location().isEmpty()) { | 205 | if (!event->location().isEmpty()) { |
206 | addTag("b",i18n("Location: ")); | 206 | addTag("b",i18n("Location: ")); |
207 | mText.append(event->location()+"<br>"); | 207 | mText.append(deTag(event->location())+"<br>"); |
208 | } | 208 | } |
209 | 209 | ||
210 | if (event->recurrence()->doesRecur()) { | 210 | if (event->recurrence()->doesRecur()) { |
211 | 211 | ||
@@ -228,9 +228,9 @@ void KIncidenceFormatter::setTodo(Todo *event ) | |||
228 | formatCategories(event); | 228 | formatCategories(event); |
229 | if ( mDetails ) { | 229 | if ( mDetails ) { |
230 | if (!event->description().isEmpty()) { | 230 | if (!event->description().isEmpty()) { |
231 | addTag("p",i18n("<b>Details: </b>")); | 231 | addTag("p",i18n("<b>Details: </b>")); |
232 | addTag("p",event->description()); | 232 | addTag("p",deTag(event->description())); |
233 | } | 233 | } |
234 | } | 234 | } |
235 | formatReadOnly(event); | 235 | formatReadOnly(event); |
236 | formatAttendees(event); | 236 | formatAttendees(event); |
@@ -375,4 +375,19 @@ void KIncidenceFormatter::formatReadOnly(Incidence *event) | |||
375 | if (event->isReadOnly()) { | 375 | if (event->isReadOnly()) { |
376 | addTag("p","<em>(" + i18n("read-only") + ")</em>"); | 376 | addTag("p","<em>(" + i18n("read-only") + ")</em>"); |
377 | } | 377 | } |
378 | } | 378 | } |
379 | QString KIncidenceFormatter::deTag(QString text) | ||
380 | { | ||
381 | #if QT_VERSION >= 0x030000 | ||
382 | text.replace( '<' , "<" ); | ||
383 | text.replace( '>' , ">" ); | ||
384 | #else | ||
385 | if ( text.find ('<') > 0 ) { | ||
386 | text.replace( QRegExp("<") , "<" ); | ||
387 | } | ||
388 | if ( text.find ('>') > 0 ) { | ||
389 | text.replace( QRegExp(">") , ">" ); | ||
390 | } | ||
391 | #endif | ||
392 | return text; | ||
393 | } | ||
diff --git a/libkcal/kincidenceformatter.h b/libkcal/kincidenceformatter.h index 068e6d2..b5603e0 100644 --- a/libkcal/kincidenceformatter.h +++ b/libkcal/kincidenceformatter.h | |||
@@ -31,8 +31,9 @@ class KIncidenceFormatter : public QObject | |||
31 | void formatAttendees(Incidence *event); | 31 | void formatAttendees(Incidence *event); |
32 | void formatReadOnly(Incidence *event); | 32 | void formatReadOnly(Incidence *event); |
33 | 33 | ||
34 | private: | 34 | private: |
35 | QString deTag(QString text); | ||
35 | bool mSyncMode; | 36 | bool mSyncMode; |
36 | bool mDetails, mCreated ,mModified; | 37 | bool mDetails, mCreated ,mModified; |
37 | 38 | ||
38 | QString mText; | 39 | QString mText; |