summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabprefs.cpp
Unidiff
Diffstat (limited to 'kaddressbook/kabprefs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabprefs.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp
index 9270a7d..4b3ee47 100644
--- a/kaddressbook/kabprefs.cpp
+++ b/kaddressbook/kabprefs.cpp
@@ -20,30 +20,36 @@
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24//US#ifdef KAB_EMBEDDED 24//US#ifdef KAB_EMBEDDED
25//#include <qstring.h> 25//#include <qstring.h>
26//#endif //KAB_EMBEDDED 26//#endif //KAB_EMBEDDED
27 27
28#include <qtextstream.h>
29#include <qfile.h>
30#include <stdlib.h>
31#include <libkdepim/kpimglobalprefs.h>
28 32
29#include <kconfig.h> 33#include <kconfig.h>
30#include <klocale.h> 34#include <klocale.h>
31#include <kstaticdeleter.h> 35#include <kstaticdeleter.h>
32//US#include <kdebug.h> // defines kdDebug() 36//US#include <kdebug.h> // defines kdDebug()
33 37
34#include "kabprefs.h" 38#include "kabprefs.h"
35 39
36KABPrefs *KABPrefs::sInstance = 0; 40KABPrefs *KABPrefs::sInstance = 0;
37static KStaticDeleter<KABPrefs> staticDeleter; 41static KStaticDeleter<KABPrefs> staticDeleter;
38 42
39KABPrefs::KABPrefs() 43KABPrefs::KABPrefs()
40 : KPimPrefs("kaddressbookrc") 44 : KPimPrefs("kaddressbookrc")
41{ 45{
46
47 mLocaleDict = 0;
42 mDetailsFont = QFont("helvetica",12); 48 mDetailsFont = QFont("helvetica",12);
43 KPrefs::setCurrentGroup( "Views" ); 49 KPrefs::setCurrentGroup( "Views" );
44 addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); 50 addItemBool( "HonorSingleClick", &mHonorSingleClick, false );
45 51
46 KPrefs::setCurrentGroup( "General" ); 52 KPrefs::setCurrentGroup( "General" );
47 addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); 53 addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true );
48 addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); 54 addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 );
49 55
@@ -80,16 +86,19 @@ KABPrefs::KABPrefs()
80 KPrefs::setCurrentGroup( "Filters" ); 86 KPrefs::setCurrentGroup( "Filters" );
81 addItemInt( "CurrentFilter", &mCurrentFilter, 0 ); 87 addItemInt( "CurrentFilter", &mCurrentFilter, 0 );
82 88
83} 89}
84 90
85KABPrefs::~KABPrefs() 91KABPrefs::~KABPrefs()
86{ 92{
87 //qDebug("KABPrefs::~KABPrefs() "); 93 //qDebug("KABPrefs::~KABPrefs() ");
94 setLocaleDict( 0 );
95 if ( mLocaleDict )
96 delete mLocaleDict;
88} 97}
89 98
90KABPrefs *KABPrefs::instance() 99KABPrefs *KABPrefs::instance()
91{ 100{
92 if ( !sInstance ) { 101 if ( !sInstance ) {
93#ifdef KAB_EMBEDDED 102#ifdef KAB_EMBEDDED
94 sInstance = staticDeleter.setObject( new KABPrefs() ); 103 sInstance = staticDeleter.setObject( new KABPrefs() );
95#else //KAB_EMBEDDED 104#else //KAB_EMBEDDED
@@ -110,16 +119,81 @@ void KABPrefs::setCategoryDefaults()
110 << i18n( "Customer" ) << i18n( "Friend" ); 119 << i18n( "Customer" ) << i18n( "Friend" );
111} 120}
112 121
113 // US introduce a nonconst way to return the config object. 122 // US introduce a nonconst way to return the config object.
114KConfig* KABPrefs::getConfig() 123KConfig* KABPrefs::getConfig()
115{ 124{
116 return config(); 125 return config();
117} 126}
127void KABPrefs::usrReadConfig()
128{
129 QString fileName ;
130#ifndef DESKTOP_VERSION
131 fileName= QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/";
132#else
133 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/";
134#endif
135 int mPreferredLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
136 mLocaleDict = 0;
137 if ( mPreferredLanguage > 0 && mPreferredLanguage < 5 ) {
138
139 if ( mPreferredLanguage == 1 )
140 fileName = fileName+"germantranslation.txt";
141 else if ( mPreferredLanguage == 4 )
142 fileName = fileName+"usertranslation.txt";
143 else if ( mPreferredLanguage == 2 )
144 fileName = fileName+"frenchtranslation.txt";
145 else if ( mPreferredLanguage == 3 )
146 fileName = fileName+"italiantranslation.txt";
147 QFile file( fileName );
148 if (file.open( IO_ReadOnly ) ) {
149 QTextStream ts( &file );
150 ts.setEncoding( QTextStream::Latin1 );
151 //ts.setCodec( QTextCodec::latin1 );
152 QString text = ts.read();
153 file.close();
154 text.replace( QRegExp("\\\\n"), "\n" );
155 QString line;
156 QString we;
157 QString wt;
158 int br = 0;
159 int nbr;
160 nbr = text.find ( "},", br );
161 line = text.mid( br, nbr - br );
162 br = nbr+1;
163 int se, ee, st, et;
164 mLocaleDict = new QDict<QString>;
165 QString end = "{ \"\",\"\" }";
166 while ( (line != end) && (br > 1) ) {
167 //qDebug("%d *%s* ", br, line.latin1());
168 se = line.find("\"")+1;
169 et = line.findRev("\"",-1);
170 ee = line.find("\",\"");
171 st = ee+3;
172 we = line.mid( se, ee-se );
173 wt = line.mid( st, et-st );
174 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1());
175 mLocaleDict->insert( we, new QString (wt) );
176 nbr = text.find ( "}", br );
177 line = text.mid( br, nbr - br );
178 br = nbr+1;
179 }
180 //qDebug("end *%s* ", end.latin1());
181
182 setLocaleDict( mLocaleDict );
183 } else {
184 qDebug("KO: Cannot find translation file %s",fileName.latin1() );
185 }
186
187
188 }
189 qDebug("KABPrefs::usrReadConfig********************** ");
190 KPimPrefs::usrReadConfig();
191}
118 192
119 193
120/*US 194/*US
121void KABPrefs::usrSetDefaults() 195void KABPrefs::usrSetDefaults()
122{ 196{
123 KPimPrefs::usrSetDefaults(); 197 KPimPrefs::usrSetDefaults();
124} 198}
125 199