summaryrefslogtreecommitdiff
path: root/core/pim/datebook/repeatentry.cpp
Unidiff
Diffstat (limited to 'core/pim/datebook/repeatentry.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/repeatentry.cpp50
1 files changed, 36 insertions, 14 deletions
diff --git a/core/pim/datebook/repeatentry.cpp b/core/pim/datebook/repeatentry.cpp
index 5637c4d..b1a162d 100644
--- a/core/pim/datebook/repeatentry.cpp
+++ b/core/pim/datebook/repeatentry.cpp
@@ -33,19 +33,36 @@
33#include <time.h> 33#include <time.h>
34 34
35// Global Templates for use in setting up the repeat label... 35// Global Templates for use in setting up the repeat label...
36const QString strDayTemplate = QObject::tr("Every"); 36// the problem is these strings get initialized before QPEApplication can install the translator -zecke
37const QString strYearTemplate = QObject::tr("%1 %2 every "); 37namespace {
38const QString strMonthDateTemplate = QObject::tr("The %1 every "); 38QString strDayTemplate;
39const QString strMonthDayTemplate = QObject::tr("The %1 %1 of every"); 39QString strYearTemplate;
40const QString strWeekTemplate = QObject::tr("Every "); 40QString strMonthDateTemplate;
41const QString dayLabel[] = { QObject::tr("Monday"), 41QString strMonthDayTemplate;
42 QObject::tr("Tuesday"), 42QString strWeekTemplate;
43 QObject::tr("Wednesday"), 43QString dayLabel[7];
44 QObject::tr("Thursday"), 44}
45 QObject::tr("Friday"),
46 QObject::tr("Saturday"),
47 QObject::tr("Sunday") };
48 45
46/*
47 * static linkage to not polute the symbol table...
48 * The problem is that const and static linkage are resolved prior to installing a translator
49 * leading to that the above strings are translted but to the original we delay the init of these strings...
50 * -zecke
51 */
52static void fillStrings() {
53 strDayTemplate = QObject::tr("Every");
54 strYearTemplate = QObject::tr("%1 %2 every ");
55 strMonthDateTemplate = QObject::tr("The %1 every ");
56 strMonthDayTemplate = QObject::tr("The %1 %1 of every");
57 strWeekTemplate = QObject::tr("Every ");
58 dayLabel[0] = QObject::tr("Monday");
59 dayLabel[1] = QObject::tr("Tuesday");
60 dayLabel[2] = QObject::tr("Wednesday");
61 dayLabel[3] = QObject::tr("Thursday");
62 dayLabel[4] = QObject::tr("Friday");
63 dayLabel[5] = QObject::tr("Saturday");
64 dayLabel[6] = QObject::tr("Sunday");
65}
49 66
50 static QString numberPlacing( int x );// return the proper word format for 67 static QString numberPlacing( int x );// return the proper word format for
51 // x (1st, 2nd, etc) 68 // x (1st, 2nd, etc)
@@ -59,6 +76,9 @@ RepeatEntry::RepeatEntry( bool startOnMonday,
59 currInterval( NONE ), 76 currInterval( NONE ),
60 startWeekOnMonday( startOnMonday ) 77 startWeekOnMonday( startOnMonday )
61{ 78{
79 if (strDayTemplate.isEmpty() )
80 fillStrings();
81
62 init(); 82 init();
63 fraType->setButton( currInterval ); 83 fraType->setButton( currInterval );
64 chkNoEnd->setChecked( TRUE ); 84 chkNoEnd->setChecked( TRUE );
@@ -74,6 +94,8 @@ RepeatEntry::RepeatEntry( bool startOnMonday, const Event::RepeatPattern &rp,
74 end( rp.endDate() ), 94 end( rp.endDate() ),
75 startWeekOnMonday( startOnMonday ) 95 startWeekOnMonday( startOnMonday )
76{ 96{
97 if (strDayTemplate.isEmpty() )
98 fillStrings();
77 // do some stuff with the repeat pattern 99 // do some stuff with the repeat pattern
78 init(); 100 init();
79 switch ( rp.type ) { 101 switch ( rp.type ) {
@@ -406,7 +428,7 @@ void RepeatEntry::setupRepeatLabel( int x )
406 if ( x > 1 ) 428 if ( x > 1 )
407 strVar2 = tr( "days" ); 429 strVar2 = tr( "days" );
408 else 430 else
409 strVar2 = tr( "day" ); 431 strVar2 = tr( "day" );
410 break; 432 break;
411 case WEEK: 433 case WEEK:
412 if ( x > 1 ) 434 if ( x > 1 )
@@ -500,7 +522,7 @@ void RepeatEntry::slotWeekLabel()
500 str += ", " + *itStr; 522 str += ", " + *itStr;
501 } 523 }
502 } 524 }
503 str = str.prepend( "on " ); 525 str = str.prepend( tr("on ") );
504 lblWeekVar->setText( str ); 526 lblWeekVar->setText( str );
505} 527}
506 528