summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabprefs.cpp
Unidiff
Diffstat (limited to 'kaddressbook/kabprefs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabprefs.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp
index 79fff47..01c935f 100644
--- a/kaddressbook/kabprefs.cpp
+++ b/kaddressbook/kabprefs.cpp
@@ -1,208 +1,213 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
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> 28#include <qtextstream.h>
29#include <qfile.h> 29#include <qfile.h>
30#include <qregexp.h>
30#include <stdlib.h> 31#include <stdlib.h>
31#include <libkdepim/kpimglobalprefs.h> 32#include <libkdepim/kpimglobalprefs.h>
32 33
33#include <kconfig.h> 34#include <kconfig.h>
34#include <klocale.h> 35#include <klocale.h>
35#include <kstaticdeleter.h> 36#include <kstaticdeleter.h>
36//US#include <kdebug.h> // defines kdDebug() 37//US#include <kdebug.h> // defines kdDebug()
37 38
38#include "kabprefs.h" 39#include "kabprefs.h"
39 40
41#ifdef DESKTOP_VERSION
42#include <qapplication.h>
43#endif
44
40KABPrefs *KABPrefs::sInstance = 0; 45KABPrefs *KABPrefs::sInstance = 0;
41static KStaticDeleter<KABPrefs> staticDeleter; 46static KStaticDeleter<KABPrefs> staticDeleter;
42 47
43KABPrefs::KABPrefs() 48KABPrefs::KABPrefs()
44 : KPimPrefs("kaddressbookrc") 49 : KPimPrefs("kaddressbookrc")
45{ 50{
46 51
47 mLocaleDict = 0; 52 mLocaleDict = 0;
48 mDetailsFont = QFont("helvetica",12); 53 mDetailsFont = QFont("helvetica",12);
49 KPrefs::setCurrentGroup( "Views" ); 54 KPrefs::setCurrentGroup( "Views" );
50 addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); 55 addItemBool( "HonorSingleClick", &mHonorSingleClick, false );
51 56
52 KPrefs::setCurrentGroup( "General" ); 57 KPrefs::setCurrentGroup( "General" );
53 addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); 58 addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true );
54 addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); 59 addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 );
55 60
56#ifdef KAB_EMBEDDED 61#ifdef KAB_EMBEDDED
57 addItemBool("AskForQuit",&mAskForQuit,true); 62 addItemBool("AskForQuit",&mAskForQuit,true);
58 addItemBool("ToolBarHor",&mToolBarHor, true ); 63 addItemBool("ToolBarHor",&mToolBarHor, true );
59 addItemBool("ToolBarUp",&mToolBarUp, false ); 64 addItemBool("ToolBarUp",&mToolBarUp, false );
60 addItemBool("SearchWithReturn",&mSearchWithReturn, true ); 65 addItemBool("SearchWithReturn",&mSearchWithReturn, true );
61 addItemFont("DetailsFont",&mDetailsFont); 66 addItemFont("DetailsFont",&mDetailsFont);
62 67
63 68
64#endif //KAB_EMBEDDED 69#endif //KAB_EMBEDDED
65 70
66 KPrefs::setCurrentGroup( "MainWindow" ); 71 KPrefs::setCurrentGroup( "MainWindow" );
67 addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); 72 addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false );
68 addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); 73 addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true );
69 addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter ); 74 addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter );
70 addItemIntList( "DetailsSplitter", &mDetailsSplitter ); 75 addItemIntList( "DetailsSplitter", &mDetailsSplitter );
71 addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true ); 76 addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true );
72 77
73 78
74 KPrefs::setCurrentGroup( "Extensions_General" ); 79 KPrefs::setCurrentGroup( "Extensions_General" );
75 QStringList defaultExtensions; 80 QStringList defaultExtensions;
76 defaultExtensions << "merge"; 81 defaultExtensions << "merge";
77 defaultExtensions << "distribution_list_editor"; 82 defaultExtensions << "distribution_list_editor";
78 addItemInt( "CurrentExtension", &mCurrentExtension, 0 ); 83 addItemInt( "CurrentExtension", &mCurrentExtension, 0 );
79 addItemStringList( "ActiveExtensions", &mActiveExtensions, defaultExtensions ); 84 addItemStringList( "ActiveExtensions", &mActiveExtensions, defaultExtensions );
80 85
81 KPrefs::setCurrentGroup( "Views" ); 86 KPrefs::setCurrentGroup( "Views" );
82 QString defaultView = i18n( "Default Table View" ); 87 QString defaultView = i18n( "Default Table View" );
83 addItemString( "CurrentView", &mCurrentView, defaultView ); 88 addItemString( "CurrentView", &mCurrentView, defaultView );
84 addItemStringList( "ViewNames", &mViewNames, defaultView ); 89 addItemStringList( "ViewNames", &mViewNames, defaultView );
85 90
86 KPrefs::setCurrentGroup( "Filters" ); 91 KPrefs::setCurrentGroup( "Filters" );
87 addItemInt( "CurrentFilter", &mCurrentFilter, 0 ); 92 addItemInt( "CurrentFilter", &mCurrentFilter, 0 );
88 93
89} 94}
90 95
91KABPrefs::~KABPrefs() 96KABPrefs::~KABPrefs()
92{ 97{
93 //qDebug("KABPrefs::~KABPrefs() "); 98 //qDebug("KABPrefs::~KABPrefs() ");
94 setLocaleDict( 0 ); 99 setLocaleDict( 0 );
95 if ( mLocaleDict ) 100 if ( mLocaleDict )
96 delete mLocaleDict; 101 delete mLocaleDict;
97} 102}
98 103
99KABPrefs *KABPrefs::instance() 104KABPrefs *KABPrefs::instance()
100{ 105{
101 if ( !sInstance ) { 106 if ( !sInstance ) {
102#ifdef KAB_EMBEDDED 107#ifdef KAB_EMBEDDED
103 sInstance = staticDeleter.setObject( new KABPrefs() ); 108 sInstance = staticDeleter.setObject( new KABPrefs() );
104#else //KAB_EMBEDDED 109#else //KAB_EMBEDDED
105 //US the following line has changed ???. Why 110 //US the following line has changed ???. Why
106 staticDeleter.setObject( sInstance, new KABPrefs() ); 111 staticDeleter.setObject( sInstance, new KABPrefs() );
107#endif //KAB_EMBEDDED 112#endif //KAB_EMBEDDED
108 sInstance->readConfig(); 113 sInstance->readConfig();
109 } 114 }
110 115
111 return sInstance; 116 return sInstance;
112} 117}
113 118
114void KABPrefs::setCategoryDefaults() 119void KABPrefs::setCategoryDefaults()
115{ 120{
116 mCustomCategories.clear(); 121 mCustomCategories.clear();
117 122
118 mCustomCategories << i18n( "Business" ) << i18n( "Family" ) << i18n( "School" ) 123 mCustomCategories << i18n( "Business" ) << i18n( "Family" ) << i18n( "School" )
119 << i18n( "Customer" ) << i18n( "Friend" ); 124 << i18n( "Customer" ) << i18n( "Friend" );
120} 125}
121 126
122 // US introduce a nonconst way to return the config object. 127 // US introduce a nonconst way to return the config object.
123KConfig* KABPrefs::getConfig() 128KConfig* KABPrefs::getConfig()
124{ 129{
125 return config(); 130 return config();
126} 131}
127void KABPrefs::usrReadConfig() 132void KABPrefs::usrReadConfig()
128{ 133{
129 QString fileName ; 134 QString fileName ;
130#ifndef DESKTOP_VERSION 135#ifndef DESKTOP_VERSION
131 fileName= QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/"; 136 fileName= QString(getenv("QPEDIR"))+"/pics/kdepim/kaddressbook/";
132#else 137#else
133 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/"; 138 fileName = qApp->applicationDirPath () + "/kdepim/kaddressbook/";
134#endif 139#endif
135 int mPreferredLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; 140 int mPreferredLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
136 mLocaleDict = 0; 141 mLocaleDict = 0;
137 if ( mPreferredLanguage > 0 && mPreferredLanguage < 5 ) { 142 if ( mPreferredLanguage > 0 && mPreferredLanguage < 5 ) {
138 143
139 if ( mPreferredLanguage == 1 ) 144 if ( mPreferredLanguage == 1 )
140 fileName = fileName+"germantranslation.txt"; 145 fileName = fileName+"germantranslation.txt";
141 else if ( mPreferredLanguage == 4 ) 146 else if ( mPreferredLanguage == 4 )
142 fileName = fileName+"usertranslation.txt"; 147 fileName = fileName+"usertranslation.txt";
143 else if ( mPreferredLanguage == 2 ) 148 else if ( mPreferredLanguage == 2 )
144 fileName = fileName+"frenchtranslation.txt"; 149 fileName = fileName+"frenchtranslation.txt";
145 else if ( mPreferredLanguage == 3 ) 150 else if ( mPreferredLanguage == 3 )
146 fileName = fileName+"italiantranslation.txt"; 151 fileName = fileName+"italiantranslation.txt";
147 QFile file( fileName ); 152 QFile file( fileName );
148 if (file.open( IO_ReadOnly ) ) { 153 if (file.open( IO_ReadOnly ) ) {
149 QTextStream ts( &file ); 154 QTextStream ts( &file );
150 ts.setEncoding( QTextStream::Latin1 ); 155 ts.setEncoding( QTextStream::Latin1 );
151 //ts.setCodec( QTextCodec::latin1 ); 156 //ts.setCodec( QTextCodec::latin1 );
152 QString text = ts.read(); 157 QString text = ts.read();
153 file.close(); 158 file.close();
154 text.replace( QRegExp("\\\\n"), "\n" ); 159 text.replace( QRegExp("\\\\n"), "\n" );
155 QString line; 160 QString line;
156 QString we; 161 QString we;
157 QString wt; 162 QString wt;
158 int br = 0; 163 int br = 0;
159 int nbr; 164 int nbr;
160 nbr = text.find ( "},", br ); 165 nbr = text.find ( "},", br );
161 line = text.mid( br, nbr - br ); 166 line = text.mid( br, nbr - br );
162 br = nbr+1; 167 br = nbr+1;
163 int se, ee, st, et; 168 int se, ee, st, et;
164 mLocaleDict = new QDict<QString>; 169 mLocaleDict = new QDict<QString>;
165 QString end = "{ \"\",\"\" }"; 170 QString end = "{ \"\",\"\" }";
166 while ( (line != end) && (br > 1) ) { 171 while ( (line != end) && (br > 1) ) {
167 //qDebug("%d *%s* ", br, line.latin1()); 172 //qDebug("%d *%s* ", br, line.latin1());
168 se = line.find("\"")+1; 173 se = line.find("\"")+1;
169 et = line.findRev("\"",-1); 174 et = line.findRev("\"",-1);
170 ee = line.find("\",\""); 175 ee = line.find("\",\"");
171 st = ee+3; 176 st = ee+3;
172 we = line.mid( se, ee-se ); 177 we = line.mid( se, ee-se );
173 wt = line.mid( st, et-st ); 178 wt = line.mid( st, et-st );
174 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1()); 179 //qDebug("*%s* *%s* ", we.latin1(), wt.latin1());
175 mLocaleDict->insert( we, new QString (wt) ); 180 mLocaleDict->insert( we, new QString (wt) );
176 nbr = text.find ( "}", br ); 181 nbr = text.find ( "}", br );
177 line = text.mid( br, nbr - br ); 182 line = text.mid( br, nbr - br );
178 br = nbr+1; 183 br = nbr+1;
179 } 184 }
180 //qDebug("end *%s* ", end.latin1()); 185 //qDebug("end *%s* ", end.latin1());
181 186
182 setLocaleDict( mLocaleDict ); 187 setLocaleDict( mLocaleDict );
183 } else { 188 } else {
184 qDebug("KO: Cannot find translation file %s",fileName.latin1() ); 189 qDebug("KO: Cannot find translation file %s",fileName.latin1() );
185 } 190 }
186 191
187 192
188 } 193 }
189 KPimPrefs::usrReadConfig(); 194 KPimPrefs::usrReadConfig();
190} 195}
191 196
192 197
193/*US 198/*US
194void KABPrefs::usrSetDefaults() 199void KABPrefs::usrSetDefaults()
195{ 200{
196 KPimPrefs::usrSetDefaults(); 201 KPimPrefs::usrSetDefaults();
197} 202}
198 203
199void KABPrefs::usrReadConfig() 204void KABPrefs::usrReadConfig()
200{ 205{
201 KPimPrefs::usrReadConfig(); 206 KPimPrefs::usrReadConfig();
202} 207}
203 208
204void KABPrefs::usrWriteConfig() 209void KABPrefs::usrWriteConfig()
205{ 210{
206 KPimPrefs::usrWriteConfig(); 211 KPimPrefs::usrWriteConfig();
207} 212}
208*/ 213*/