summaryrefslogtreecommitdiff
authortux_mike <tux_mike>2002-04-02 02:19:00 (UTC)
committer tux_mike <tux_mike>2002-04-02 02:19:00 (UTC)
commit623ce8225b7f75755146601e2c8d7f1e7e9a65d0 (patch) (unidiff)
tree093fdf38af46e9c8c1090d32a0e81c45e2032c92
parent44bfa84cc6d9bcd828f0b08c7bf59dde58dd5288 (diff)
downloadopie-623ce8225b7f75755146601e2c8d7f1e7e9a65d0.zip
opie-623ce8225b7f75755146601e2c8d7f1e7e9a65d0.tar.gz
opie-623ce8225b7f75755146601e2c8d7f1e7e9a65d0.tar.bz2
Added a copyright notice... completley forgot... I gotta stop updating like this ;)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index 0e752ca..6edab2c 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -1,512 +1,531 @@
1/*
2 * Copyright (c) 2002 Michael R. Crawford <mike@tuxnami.org>
3 *
4 * This file is an add-on for the OPIE Palmtop Environment
5 *
6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the pacakaging
9 * of this file.
10 *
11 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13 *
14 *
15 * This is a rewrite of the abeditor.h file, modified to provide a more
16 * intuitive interface to TrollTech's original Address Book editor. This
17 * is made to operate exactly in interface with the exception of name.
18 *
19 */
1 20
2#include "contacteditor.h" 21#include "contacteditor.h"
3#include "addresspicker.h" 22#include "addresspicker.h"
4 23
5#include <qpe/categoryselect.h> 24#include <qpe/categoryselect.h>
6#include <qpe/qpeapplication.h> 25#include <qpe/qpeapplication.h>
7#include <qpe/qpedialog.h> 26#include <qpe/qpedialog.h>
8 27
9#include <qcombobox.h> 28#include <qcombobox.h>
10#include <qlabel.h> 29#include <qlabel.h>
11#include <qtabwidget.h> 30#include <qtabwidget.h>
12#include <qlayout.h> 31#include <qlayout.h>
13#include <qlineedit.h> 32#include <qlineedit.h>
14#include <qmultilineedit.h> 33#include <qmultilineedit.h>
15#include <qscrollview.h> 34#include <qscrollview.h>
16#include <qtoolbutton.h> 35#include <qtoolbutton.h>
17#include <qpushbutton.h> 36#include <qpushbutton.h>
18#include <qmainwindow.h> 37#include <qmainwindow.h>
19#include <qvaluelist.h> 38#include <qvaluelist.h>
20 39
21static inline bool containsAlphaNum( const QString &str ); 40static inline bool containsAlphaNum( const QString &str );
22static inline bool constainsWhiteSpace( const QString &str ); 41static inline bool constainsWhiteSpace( const QString &str );
23 42
24// helper functions, convert our comma delimited list to proper 43// helper functions, convert our comma delimited list to proper
25// file format... 44// file format...
26void parseEmailFrom( const QString &txt, QString &strDefaultEmail, 45void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
27 QString &strAll ); 46 QString &strAll );
28 47
29// helper convert from file format to comma delimited... 48// helper convert from file format to comma delimited...
30void parseEmailTo( const QString &strDefaultEmail, 49void parseEmailTo( const QString &strDefaultEmail,
31 const QString &strOtherEmail, QString &strBack ); 50 const QString &strOtherEmail, QString &strBack );
32 51
33 ContactEditor::ContactEditor(const Contact &entry, 52 ContactEditor::ContactEditor(const Contact &entry,
34 const QValueList<int> *newOrderedValues, 53 const QValueList<int> *newOrderedValues,
35 QStringList *slNewOrdered, 54 QStringList *slNewOrdered,
36 QWidget *parent = 0, 55 QWidget *parent = 0,
37 const char *name = 0, 56 const char *name = 0,
38 WFlags fl = 0 ) 57 WFlags fl = 0 )
39 : QDialog( parent, name, TRUE, fl ), 58 : QDialog( parent, name, TRUE, fl ),
40 orderedValues( newOrderedValues ), 59 orderedValues( newOrderedValues ),
41 slOrdered( slNewOrdered ) 60 slOrdered( slNewOrdered )
42{ 61{
43 62
44 init(); 63 init();
45 initMap(); 64 initMap();
46 setEntry( entry ); 65 setEntry( entry );
47 qDebug("finish"); 66 qDebug("finish");
48} 67}
49 68
50ContactEditor::~ContactEditor() { 69ContactEditor::~ContactEditor() {
51} 70}
52 71
53void ContactEditor::init() { 72void ContactEditor::init() {
54 73
55 useFullName = TRUE; 74 useFullName = TRUE;
56 75
57 int i = 0; 76 int i = 0;
58 77
59 slHomeAddress = new QStringList; 78 slHomeAddress = new QStringList;
60 slBusinessAddress = new QStringList; 79 slBusinessAddress = new QStringList;
61 slChooserNames = new QStringList; 80 slChooserNames = new QStringList;
62 slChooserValues = new QStringList; 81 slChooserValues = new QStringList;
63 82
64 slDynamicEntries = new QStringList; 83 slDynamicEntries = new QStringList;
65 84
66 //*slDynamicEntries = *slOrdered; 85 //*slDynamicEntries = *slOrdered;
67 86
68 for (i = 0; i <= 6; i++) { 87 for (i = 0; i <= 6; i++) {
69 slHomeAddress->append( "" ); 88 slHomeAddress->append( "" );
70 slBusinessAddress->append( "" ); 89 slBusinessAddress->append( "" );
71 } 90 }
72 91
73 { 92 {
74 hasGender = FALSE; 93 hasGender = FALSE;
75 hasTitle = FALSE; 94 hasTitle = FALSE;
76 hasCompany = FALSE; 95 hasCompany = FALSE;
77 hasNotes = FALSE; 96 hasNotes = FALSE;
78 hasStreet = FALSE; 97 hasStreet = FALSE;
79 hasStreet2 = FALSE; 98 hasStreet2 = FALSE;
80 hasPOBox = FALSE; 99 hasPOBox = FALSE;
81 hasCity = FALSE; 100 hasCity = FALSE;
82 hasState = FALSE; 101 hasState = FALSE;
83 hasZip = FALSE; 102 hasZip = FALSE;
84 hasCountry = FALSE; 103 hasCountry = FALSE;
85 104
86 QStringList::ConstIterator it = slOrdered->begin(); 105 QStringList::ConstIterator it = slOrdered->begin();
87 for ( i = 0; it != slOrdered->end(); i++, ++it ) { 106 for ( i = 0; it != slOrdered->end(); i++, ++it ) {
88 107
89 if ( (*it).right( 3 ) == tr( "Fax" ) ) { 108 if ( (*it).right( 3 ) == tr( "Fax" ) ) {
90 slChooserNames->append( *it ); 109 slChooserNames->append( *it );
91 slChooserValues->append( tr( "" ) ); 110 slChooserValues->append( tr( "" ) );
92 //slDynamicEntries->remove( it ); 111 //slDynamicEntries->remove( it );
93 continue; 112 continue;
94 } 113 }
95 114
96 if ( (*it).right( 5 ) == tr( "Phone" ) ) { 115 if ( (*it).right( 5 ) == tr( "Phone" ) ) {
97 slChooserNames->append( *it ); 116 slChooserNames->append( *it );
98 slChooserValues->append( "" ); 117 slChooserValues->append( "" );
99 //slDynamicEntries->remove( it ); 118 //slDynamicEntries->remove( it );
100 continue; 119 continue;
101 } 120 }
102 121
103 if ( (*it).right( 2 ) == tr( "IM" ) ) { 122 if ( (*it).right( 2 ) == tr( "IM" ) ) {
104 slChooserNames->append( *it ); 123 slChooserNames->append( *it );
105 slChooserValues->append( "" ); 124 slChooserValues->append( "" );
106 //slDynamicEntries->remove( it ); 125 //slDynamicEntries->remove( it );
107 continue; 126 continue;
108 } 127 }
109 128
110 if ( (*it).right( 6 ) == tr( "Mobile" ) ) { 129 if ( (*it).right( 6 ) == tr( "Mobile" ) ) {
111 slChooserNames->append( *it ); 130 slChooserNames->append( *it );
112 slChooserValues->append( "" ); 131 slChooserValues->append( "" );
113 //slDynamicEntries->remove( it ); 132 //slDynamicEntries->remove( it );
114 continue; 133 continue;
115 } 134 }
116 135
117 if ( (*it).right( 4 ) == tr( "Page" ) ) { 136 if ( (*it).right( 4 ) == tr( "Page" ) ) {
118 slChooserNames->append( *it ); 137 slChooserNames->append( *it );
119 slChooserValues->append( "" ); 138 slChooserValues->append( "" );
120 //slDynamicEntries->remove( it ); 139 //slDynamicEntries->remove( it );
121 continue; 140 continue;
122 } 141 }
123 142
124 if ( (*it).right( 5 ) == tr( "Pager" ) ) { 143 if ( (*it).right( 5 ) == tr( "Pager" ) ) {
125 slChooserNames->append( *it ); 144 slChooserNames->append( *it );
126 slChooserValues->append( "" ); 145 slChooserValues->append( "" );
127 //slDynamicEntries->remove( it ); 146 //slDynamicEntries->remove( it );
128 continue; 147 continue;
129 } 148 }
130 149
131 if ( *it == tr( "Default Email" ) ) { 150 if ( *it == tr( "Default Email" ) ) {
132 slChooserNames->append( *it ); 151 slChooserNames->append( *it );
133 slChooserValues->append( "" ); 152 slChooserValues->append( "" );
134 //slDynamicEntries->remove( it ); 153 //slDynamicEntries->remove( it );
135 continue; 154 continue;
136 } 155 }
137 156
138 if ( *it == tr( "Emails" ) ) { 157 if ( *it == tr( "Emails" ) ) {
139 slChooserNames->append( *it ); 158 slChooserNames->append( *it );
140 slChooserValues->append( "" ); 159 slChooserValues->append( "" );
141 //slDynamicEntries->remove( it ); 160 //slDynamicEntries->remove( it );
142 continue; 161 continue;
143 } 162 }
144 163
145 if ( *it == tr( "Name Title" ) ) { 164 if ( *it == tr( "Name Title" ) ) {
146 //slDynamicEntries->remove( it ); 165 //slDynamicEntries->remove( it );
147 continue; 166 continue;
148 } 167 }
149 168
150 if ( *it == tr( "First Name" ) ) { 169 if ( *it == tr( "First Name" ) ) {
151 //slDynamicEntries->remove( it ); 170 //slDynamicEntries->remove( it );
152 continue; 171 continue;
153 } 172 }
154 173
155 if ( *it == tr( "Middle Name" ) ) { 174 if ( *it == tr( "Middle Name" ) ) {
156 //slDynamicEntries->remove( it ); 175 //slDynamicEntries->remove( it );
157 continue; 176 continue;
158 } 177 }
159 178
160 if ( *it == tr( "Last Name" ) ) { 179 if ( *it == tr( "Last Name" ) ) {
161 //slDynamicEntries->remove( it ); 180 //slDynamicEntries->remove( it );
162 continue; 181 continue;
163 } 182 }
164 183
165 if ( *it == tr( "Suffix" ) ) { 184 if ( *it == tr( "Suffix" ) ) {
166 //slDynamicEntries->remove( it ); 185 //slDynamicEntries->remove( it );
167 continue; 186 continue;
168 } 187 }
169 188
170 if ( *it == tr( "File As" ) ) { 189 if ( *it == tr( "File As" ) ) {
171 //slDynamicEntries->remove( it ); 190 //slDynamicEntries->remove( it );
172 continue; 191 continue;
173 } 192 }
174 193
175 if ( *it == tr( "Gender" ) ) { 194 if ( *it == tr( "Gender" ) ) {
176 hasGender = TRUE; 195 hasGender = TRUE;
177 //slDynamicEntries->remove( it ); 196 //slDynamicEntries->remove( it );
178 continue; 197 continue;
179 } 198 }
180 199
181 if ( *it == tr( "Job Title" ) ) { 200 if ( *it == tr( "Job Title" ) ) {
182 hasTitle = TRUE; 201 hasTitle = TRUE;
183 //slDynamicEntries->remove( it ); 202 //slDynamicEntries->remove( it );
184 continue; 203 continue;
185 } 204 }
186 205
187 if ( *it == tr( "Company" ) ) { 206 if ( *it == tr( "Company" ) ) {
188 hasCompany = TRUE; 207 hasCompany = TRUE;
189 //slDynamicEntries->remove( it ); 208 //slDynamicEntries->remove( it );
190 continue; 209 continue;
191 } 210 }
192 211
193 if ( *it == tr( "Notes" ) ) { 212 if ( *it == tr( "Notes" ) ) {
194 hasNotes = TRUE; 213 hasNotes = TRUE;
195 //slDynamicEntries->remove( it ); 214 //slDynamicEntries->remove( it );
196 continue; 215 continue;
197 } 216 }
198 217
199 if ( *it == tr( "Groups" ) ) { 218 if ( *it == tr( "Groups" ) ) {
200 //slDynamicEntries->remove( it ); 219 //slDynamicEntries->remove( it );
201 continue; 220 continue;
202 } 221 }
203 222
204 if ( (*it).right( 6 ) == tr( "Street" ) ) { 223 if ( (*it).right( 6 ) == tr( "Street" ) ) {
205 hasStreet = TRUE; 224 hasStreet = TRUE;
206 //slDynamicEntries->remove( it ); 225 //slDynamicEntries->remove( it );
207 continue; 226 continue;
208 } 227 }
209 228
210 if ( (*it).right( 8 ) == tr( "Street 2" ) ) { 229 if ( (*it).right( 8 ) == tr( "Street 2" ) ) {
211 hasStreet2 = TRUE; 230 hasStreet2 = TRUE;
212 //slDynamicEntries->remove( it ); 231 //slDynamicEntries->remove( it );
213 continue; 232 continue;
214 } 233 }
215 234
216 if ( (*it).right( 8 ) == tr( "P.O. Box" ) ) { 235 if ( (*it).right( 8 ) == tr( "P.O. Box" ) ) {
217 hasPOBox = TRUE; 236 hasPOBox = TRUE;
218 //slDynamicEntries->remove( it ); 237 //slDynamicEntries->remove( it );
219 continue; 238 continue;
220 } 239 }
221 240
222 if ( (*it).right( 4 ) == tr( "City" ) ) { 241 if ( (*it).right( 4 ) == tr( "City" ) ) {
223 hasCity = TRUE; 242 hasCity = TRUE;
224 //slDynamicEntries->remove( it ); 243 //slDynamicEntries->remove( it );
225 continue; 244 continue;
226 } 245 }
227 246
228 if ( (*it).right( 5 ) == tr( "State" ) ) { 247 if ( (*it).right( 5 ) == tr( "State" ) ) {
229 hasState = TRUE; 248 hasState = TRUE;
230 //slDynamicEntries->remove( it ); 249 //slDynamicEntries->remove( it );
231 continue; 250 continue;
232 } 251 }
233 252
234 if ( (*it).right( 3 ) == tr( "Zip" ) ) { 253 if ( (*it).right( 3 ) == tr( "Zip" ) ) {
235 hasZip = TRUE; 254 hasZip = TRUE;
236 //slDynamicEntries->remove( it ); 255 //slDynamicEntries->remove( it );
237 continue; 256 continue;
238 } 257 }
239 258
240 if ( (*it).right( 7 ) == tr( "Country" ) ) { 259 if ( (*it).right( 7 ) == tr( "Country" ) ) {
241 hasCountry = TRUE; 260 hasCountry = TRUE;
242 //slDynamicEntries->remove( it ); 261 //slDynamicEntries->remove( it );
243 continue; 262 continue;
244 } 263 }
245 264
246 slDynamicEntries->append( *it ); 265 slDynamicEntries->append( *it );
247 } 266 }
248 } 267 }
249 268
250 QVBoxLayout *vb = new QVBoxLayout( this ); 269 QVBoxLayout *vb = new QVBoxLayout( this );
251 270
252 tabMain = new QTabWidget( this ); 271 tabMain = new QTabWidget( this );
253 vb->addWidget( tabMain ); 272 vb->addWidget( tabMain );
254 273
255 QWidget *tabViewport = new QWidget ( tabMain ); 274 QWidget *tabViewport = new QWidget ( tabMain );
256 275
257 vb = new QVBoxLayout( tabViewport ); 276 vb = new QVBoxLayout( tabViewport );
258 277
259 svGeneral = new QScrollView( tabViewport ); 278 svGeneral = new QScrollView( tabViewport );
260 vb->addWidget( svGeneral, 0, 0 ); 279 vb->addWidget( svGeneral, 0, 0 );
261 svGeneral->setResizePolicy( QScrollView::AutoOneFit ); 280 svGeneral->setResizePolicy( QScrollView::AutoOneFit );
262 svGeneral->setFrameStyle( QFrame::NoFrame ); 281 svGeneral->setFrameStyle( QFrame::NoFrame );
263 282
264 QWidget *container = new QWidget( svGeneral->viewport() ); 283 QWidget *container = new QWidget( svGeneral->viewport() );
265 svGeneral->addChild( container ); 284 svGeneral->addChild( container );
266 285
267 QGridLayout *gl = new QGridLayout( container, 1, 1, 2, 3 ); 286 QGridLayout *gl = new QGridLayout( container, 1, 1, 2, 3 );
268 gl->setResizeMode( QLayout::FreeResize ); 287 gl->setResizeMode( QLayout::FreeResize );
269 288
270 btnFullName = new QPushButton( tr( "Full Name..." ), container ); 289 btnFullName = new QPushButton( tr( "Full Name..." ), container );
271 gl->addWidget( btnFullName, 0, 0 ); 290 gl->addWidget( btnFullName, 0, 0 );
272 txtFullName = new QLineEdit( container ); 291 txtFullName = new QLineEdit( container );
273 gl->addWidget( txtFullName, 0, 1 ); 292 gl->addWidget( txtFullName, 0, 1 );
274 293
275 QLabel *l = new QLabel( tr( "Job Title" ), container ); 294 QLabel *l = new QLabel( tr( "Job Title" ), container );
276 gl->addWidget( l, 1, 0 ); 295 gl->addWidget( l, 1, 0 );
277 txtJobTitle = new QLineEdit( container ); 296 txtJobTitle = new QLineEdit( container );
278 gl->addWidget( txtJobTitle, 1, 1 ); 297 gl->addWidget( txtJobTitle, 1, 1 );
279 298
280 l = new QLabel( tr( "Organization" ), container ); 299 l = new QLabel( tr( "Organization" ), container );
281 gl->addWidget( l, 2, 0 ); 300 gl->addWidget( l, 2, 0 );
282 txtOrganization = new QLineEdit( container ); 301 txtOrganization = new QLineEdit( container );
283 gl->addWidget( txtOrganization, 2, 1 ); 302 gl->addWidget( txtOrganization, 2, 1 );
284 303
285 cmbChooserField1 = new QComboBox( FALSE, container ); 304 cmbChooserField1 = new QComboBox( FALSE, container );
286 cmbChooserField1->setMaximumWidth( 100 ); 305 cmbChooserField1->setMaximumWidth( 100 );
287 gl->addWidget( cmbChooserField1, 3, 0 ); 306 gl->addWidget( cmbChooserField1, 3, 0 );
288 txtChooserField1 = new QLineEdit( container ); 307 txtChooserField1 = new QLineEdit( container );
289 gl->addWidget( txtChooserField1, 3, 1 ); 308 gl->addWidget( txtChooserField1, 3, 1 );
290 309
291 cmbChooserField2 = new QComboBox( FALSE, container ); 310 cmbChooserField2 = new QComboBox( FALSE, container );
292 cmbChooserField2->setMaximumWidth( 100 ); 311 cmbChooserField2->setMaximumWidth( 100 );
293 gl->addWidget( cmbChooserField2, 4, 0 ); 312 gl->addWidget( cmbChooserField2, 4, 0 );
294 txtChooserField2 = new QLineEdit( container ); 313 txtChooserField2 = new QLineEdit( container );
295 gl->addWidget( txtChooserField2, 4, 1 ); 314 gl->addWidget( txtChooserField2, 4, 1 );
296 315
297 cmbChooserField3 = new QComboBox( FALSE, container ); 316 cmbChooserField3 = new QComboBox( FALSE, container );
298 cmbChooserField3->setMaximumWidth( 100 ); 317 cmbChooserField3->setMaximumWidth( 100 );
299 gl->addWidget( cmbChooserField3, 5, 0 ); 318 gl->addWidget( cmbChooserField3, 5, 0 );
300 txtChooserField3 = new QLineEdit( container ); 319 txtChooserField3 = new QLineEdit( container );
301 gl->addWidget( txtChooserField3, 5, 1 ); 320 gl->addWidget( txtChooserField3, 5, 1 );
302 321
303 l = new QLabel( tr( "File As" ), container ); 322 l = new QLabel( tr( "File As" ), container );
304 gl->addWidget( l, 6, 0 ); 323 gl->addWidget( l, 6, 0 );
305 cmbFileAs = new QComboBox( TRUE, container ); 324 cmbFileAs = new QComboBox( TRUE, container );
306 gl->addWidget( cmbFileAs, 6, 1 ); 325 gl->addWidget( cmbFileAs, 6, 1 );
307 326
308 l = new QLabel( tr( "Category" ), container ); 327 l = new QLabel( tr( "Category" ), container );
309 gl->addWidget( l, 7, 0 ); 328 gl->addWidget( l, 7, 0 );
310 cmbCat = new CategorySelect( container ); 329 cmbCat = new CategorySelect( container );
311 gl->addWidget( cmbCat, 7, 1 ); 330 gl->addWidget( cmbCat, 7, 1 );
312 331
313 btnNote = new QPushButton( tr( "Notes..." ), container ); 332 btnNote = new QPushButton( tr( "Notes..." ), container );
314 gl->addWidget( btnNote, 8, 1 ); 333 gl->addWidget( btnNote, 8, 1 );
315 334
316 tabMain->insertTab( tabViewport, tr( "General" ) ); 335 tabMain->insertTab( tabViewport, tr( "General" ) );
317 336
318 tabViewport = new QWidget ( tabMain ); 337 tabViewport = new QWidget ( tabMain );
319 338
320 vb = new QVBoxLayout( tabViewport ); 339 vb = new QVBoxLayout( tabViewport );
321 340
322 svAddress = new QScrollView( tabViewport ); 341 svAddress = new QScrollView( tabViewport );
323 vb->addWidget( svAddress, 0, 0 ); 342 vb->addWidget( svAddress, 0, 0 );
324 svAddress->setResizePolicy( QScrollView::AutoOneFit ); 343 svAddress->setResizePolicy( QScrollView::AutoOneFit );
325 svAddress->setFrameStyle( QFrame::NoFrame ); 344 svAddress->setFrameStyle( QFrame::NoFrame );
326 345
327 container = new QWidget( svAddress->viewport() ); 346 container = new QWidget( svAddress->viewport() );
328 svAddress->addChild( container ); 347 svAddress->addChild( container );
329 348
330 gl = new QGridLayout( container, 5, 3, 2, 3 ); 349 gl = new QGridLayout( container, 5, 3, 2, 3 );
331 350
332 cmbAddress = new QComboBox( FALSE, container ); 351 cmbAddress = new QComboBox( FALSE, container );
333 cmbAddress->insertItem( tr( "Business" ) ); 352 cmbAddress->insertItem( tr( "Business" ) );
334 cmbAddress->insertItem( tr( "Home" ) ); 353 cmbAddress->insertItem( tr( "Home" ) );
335 gl->addMultiCellWidget( cmbAddress, 0, 0, 0, 1 ); 354 gl->addMultiCellWidget( cmbAddress, 0, 0, 0, 1 );
336 355
337 l = new QLabel( tr( "Address" ), container ); 356 l = new QLabel( tr( "Address" ), container );
338 gl->addWidget( l, 1, 0 ); 357 gl->addWidget( l, 1, 0 );
339 txtAddress = new QLineEdit( container ); 358 txtAddress = new QLineEdit( container );
340 gl->addMultiCellWidget( txtAddress, 1, 1, 1, 2 ); 359 gl->addMultiCellWidget( txtAddress, 1, 1, 1, 2 );
341/* 360/*
342 l = new QLabel( tr( "Address 2" ), container ); 361 l = new QLabel( tr( "Address 2" ), container );
343 gl->addWidget( l, 2, 0 ); 362 gl->addWidget( l, 2, 0 );
344 txtAddress2 = new QLineEdit( container ); 363 txtAddress2 = new QLineEdit( container );
345 gl->addMultiCellWidget( txtAddress2, 2, 2, 1, 2 ); 364 gl->addMultiCellWidget( txtAddress2, 2, 2, 1, 2 );
346 365
347 l = new QLabel( tr( "P.O. Box" ), container ); 366 l = new QLabel( tr( "P.O. Box" ), container );
348 gl->addWidget( l, 3, 0 ); 367 gl->addWidget( l, 3, 0 );
349 txtPOBox = new QLineEdit( container ); 368 txtPOBox = new QLineEdit( container );
350 gl->addMultiCellWidget( txtPOBox, 3, 3, 1, 2 ); 369 gl->addMultiCellWidget( txtPOBox, 3, 3, 1, 2 );
351*/ 370*/
352 l = new QLabel( tr( "City" ), container ); 371 l = new QLabel( tr( "City" ), container );
353 gl->addWidget( l, 2, 0 ); 372 gl->addWidget( l, 2, 0 );
354 txtCity = new QLineEdit( container ); 373 txtCity = new QLineEdit( container );
355 gl->addMultiCellWidget( txtCity, 2, 2, 1, 2 ); 374 gl->addMultiCellWidget( txtCity, 2, 2, 1, 2 );
356 375
357 l = new QLabel( tr( "State" ), container ); 376 l = new QLabel( tr( "State" ), container );
358 gl->addWidget( l, 3, 0 ); 377 gl->addWidget( l, 3, 0 );
359 txtState = new QLineEdit( container ); 378 txtState = new QLineEdit( container );
360 gl->addMultiCellWidget( txtState, 3, 3, 1, 2 ); 379 gl->addMultiCellWidget( txtState, 3, 3, 1, 2 );
361 380
362 l = new QLabel( tr( "Zip Code" ), container ); 381 l = new QLabel( tr( "Zip Code" ), container );
363 gl->addWidget( l, 4, 0 ); 382 gl->addWidget( l, 4, 0 );
364 txtZip = new QLineEdit( container ); 383 txtZip = new QLineEdit( container );
365 gl->addMultiCellWidget( txtZip, 4, 4, 1, 2 ); 384 gl->addMultiCellWidget( txtZip, 4, 4, 1, 2 );
366 385
367 l = new QLabel( tr( "Country" ), container ); 386 l = new QLabel( tr( "Country" ), container );
368 gl->addWidget( l, 5, 0 ); 387 gl->addWidget( l, 5, 0 );
369 cmbCountry = new QComboBox( TRUE, container ); 388 cmbCountry = new QComboBox( TRUE, container );
370 cmbCountry->insertItem( tr( "" ) ); 389 cmbCountry->insertItem( tr( "" ) );
371 cmbCountry->insertItem( tr( "United States" ) ); 390 cmbCountry->insertItem( tr( "United States" ) );
372 cmbCountry->insertItem( tr( "United Kingdom" ) ); 391 cmbCountry->insertItem( tr( "United Kingdom" ) );
373 cmbCountry->insertItem( tr( "Japan" ) ); 392 cmbCountry->insertItem( tr( "Japan" ) );
374 cmbCountry->insertItem( tr( "France" ) ); 393 cmbCountry->insertItem( tr( "France" ) );
375 cmbCountry->insertItem( tr( "Germany" ) ); 394 cmbCountry->insertItem( tr( "Germany" ) );
376 cmbCountry->insertItem( tr( "Norway" ) ); 395 cmbCountry->insertItem( tr( "Norway" ) );
377 cmbCountry->insertItem( tr( "Canada" ) ); 396 cmbCountry->insertItem( tr( "Canada" ) );
378 397
379 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 ); 398 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 );
380 399
381 tabMain->insertTab( tabViewport, tr( "Address" ) ); 400 tabMain->insertTab( tabViewport, tr( "Address" ) );
382 401
383 tabViewport = new QWidget ( tabMain ); 402 tabViewport = new QWidget ( tabMain );
384 403
385 vb = new QVBoxLayout( tabViewport ); 404 vb = new QVBoxLayout( tabViewport );
386 405
387 svDetails = new QScrollView( tabViewport ); 406 svDetails = new QScrollView( tabViewport );
388 vb->addWidget( svDetails, 0, 0 ); 407 vb->addWidget( svDetails, 0, 0 );
389 svDetails->setResizePolicy( QScrollView::AutoOneFit ); 408 svDetails->setResizePolicy( QScrollView::AutoOneFit );
390 svDetails->setFrameStyle( QFrame::NoFrame ); 409 svDetails->setFrameStyle( QFrame::NoFrame );
391 410
392 container = new QWidget( svDetails->viewport() ); 411 container = new QWidget( svDetails->viewport() );
393 svDetails->addChild( container ); 412 svDetails->addChild( container );
394 413
395 gl = new QGridLayout( container, 1, 2, 2, 3 ); 414 gl = new QGridLayout( container, 1, 2, 2, 3 );
396 415
397 QStringList::ConstIterator it = slDynamicEntries->begin(); 416 QStringList::ConstIterator it = slDynamicEntries->begin();
398 for (i = 0; it != slDynamicEntries->end(); i++, ++it) { 417 for (i = 0; it != slDynamicEntries->end(); i++, ++it) {
399 l = new QLabel( *it, container ); 418 l = new QLabel( *it, container );
400 listName.append( l ); 419 listName.append( l );
401 gl->addWidget( l, i, 0 ); 420 gl->addWidget( l, i, 0 );
402 QLineEdit *e = new QLineEdit( container ); 421 QLineEdit *e = new QLineEdit( container );
403 listValue.append( e ); 422 listValue.append( e );
404 gl->addWidget( e, i, 1); 423 gl->addWidget( e, i, 1);
405 } 424 }
406 425
407 l = new QLabel( tr("Gender"), container ); 426 l = new QLabel( tr("Gender"), container );
408 gl->addWidget( l, slDynamicEntries->count(), 0 ); 427 gl->addWidget( l, slDynamicEntries->count(), 0 );
409 cmbGender = new QComboBox( container ); 428 cmbGender = new QComboBox( container );
410 cmbGender->insertItem( "", 0 ); 429 cmbGender->insertItem( "", 0 );
411 cmbGender->insertItem( tr("Male"), 1); 430 cmbGender->insertItem( tr("Male"), 1);
412 cmbGender->insertItem( tr("Female"), 2); 431 cmbGender->insertItem( tr("Female"), 2);
413 gl->addWidget( cmbGender, slDynamicEntries->count(), 1 ); 432 gl->addWidget( cmbGender, slDynamicEntries->count(), 1 );
414 433
415 tabMain->insertTab( tabViewport, tr( "Details" ) ); 434 tabMain->insertTab( tabViewport, tr( "Details" ) );
416 435
417 dlgNote = new QDialog( this, "Note Dialog", TRUE ); 436 dlgNote = new QDialog( this, "Note Dialog", TRUE );
418 dlgNote->setCaption( tr("Enter Note") ); 437 dlgNote->setCaption( tr("Enter Note") );
419 QVBoxLayout *vbNote = new QVBoxLayout( dlgNote ); 438 QVBoxLayout *vbNote = new QVBoxLayout( dlgNote );
420 txtNote = new QMultiLineEdit( dlgNote ); 439 txtNote = new QMultiLineEdit( dlgNote );
421 vbNote->addWidget( txtNote ); 440 vbNote->addWidget( txtNote );
422 connect( btnNote, SIGNAL(clicked()), this, SLOT(slotNote()) ); 441 connect( btnNote, SIGNAL(clicked()), this, SLOT(slotNote()) );
423 442
424 dlgName = new QDialog( this, "Name Dialog", TRUE ); 443 dlgName = new QDialog( this, "Name Dialog", TRUE );
425 dlgName->setCaption( tr("Edit Name") ); 444 dlgName->setCaption( tr("Edit Name") );
426 gl = new QGridLayout( dlgName, 4, 2, 2, 3 ); 445 gl = new QGridLayout( dlgName, 4, 2, 2, 3 );
427 446
428 l = new QLabel( tr("First Name"), dlgName ); 447 l = new QLabel( tr("First Name"), dlgName );
429 gl->addWidget( l, 0, 0 ); 448 gl->addWidget( l, 0, 0 );
430 txtFirstName = new QLineEdit( dlgName ); 449 txtFirstName = new QLineEdit( dlgName );
431 gl->addWidget( txtFirstName, 0, 1 ); 450 gl->addWidget( txtFirstName, 0, 1 );
432 451
433 l = new QLabel( tr("Middle Name"), dlgName ); 452 l = new QLabel( tr("Middle Name"), dlgName );
434 gl->addWidget( l, 1, 0 ); 453 gl->addWidget( l, 1, 0 );
435 txtMiddleName = new QLineEdit( dlgName ); 454 txtMiddleName = new QLineEdit( dlgName );
436 gl->addWidget( txtMiddleName, 1, 1 ); 455 gl->addWidget( txtMiddleName, 1, 1 );
437 456
438 l = new QLabel( tr("Last Name"), dlgName ); 457 l = new QLabel( tr("Last Name"), dlgName );
439 gl->addWidget( l, 2, 0 ); 458 gl->addWidget( l, 2, 0 );
440 txtLastName = new QLineEdit( dlgName ); 459 txtLastName = new QLineEdit( dlgName );
441 gl->addWidget( txtLastName, 2, 1 ); 460 gl->addWidget( txtLastName, 2, 1 );
442 461
443 l = new QLabel( tr("Suffix"), dlgName ); 462 l = new QLabel( tr("Suffix"), dlgName );
444 gl->addWidget( l, 3, 0 ); 463 gl->addWidget( l, 3, 0 );
445 txtSuffix = new QLineEdit( dlgName ); 464 txtSuffix = new QLineEdit( dlgName );
446 gl->addWidget( txtSuffix, 3, 1 ); 465 gl->addWidget( txtSuffix, 3, 1 );
447 466
448 cmbChooserField1->insertStringList( *slChooserNames ); 467 cmbChooserField1->insertStringList( *slChooserNames );
449 cmbChooserField2->insertStringList( *slChooserNames ); 468 cmbChooserField2->insertStringList( *slChooserNames );
450 cmbChooserField3->insertStringList( *slChooserNames ); 469 cmbChooserField3->insertStringList( *slChooserNames );
451 470
452 cmbChooserField1->setCurrentItem( 0 ); 471 cmbChooserField1->setCurrentItem( 0 );
453 cmbChooserField2->setCurrentItem( 1 ); 472 cmbChooserField2->setCurrentItem( 1 );
454 cmbChooserField3->setCurrentItem( 2 ); 473 cmbChooserField3->setCurrentItem( 2 );
455 474
456 connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) ); 475 connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) );
457 476
458 connect( txtFullName, SIGNAL(textChanged(const QString &)), this, SLOT(slotFullNameChange(const QString &)) ); 477 connect( txtFullName, SIGNAL(textChanged(const QString &)), this, SLOT(slotFullNameChange(const QString &)) );
459 478
460 connect( txtChooserField1, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser1Change(const QString &)) ); 479 connect( txtChooserField1, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser1Change(const QString &)) );
461 connect( txtChooserField2, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser2Change(const QString &)) ); 480 connect( txtChooserField2, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser2Change(const QString &)) );
462 connect( txtChooserField3, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser3Change(const QString &)) ); 481 connect( txtChooserField3, SIGNAL(textChanged(const QString &)), this, SLOT(slotChooser3Change(const QString &)) );
463 connect( txtAddress, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddressChange(const QString &)) ); 482 connect( txtAddress, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddressChange(const QString &)) );
464 //connect( txtAddress2, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddress2Change(const QString &)) ); 483 //connect( txtAddress2, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddress2Change(const QString &)) );
465 //connect( txtPOBox, SIGNAL(textChanged(const QString &)), this, SLOT(slotPOBoxChange(const QString &)) ); 484 //connect( txtPOBox, SIGNAL(textChanged(const QString &)), this, SLOT(slotPOBoxChange(const QString &)) );
466 connect( txtCity, SIGNAL(textChanged(const QString &)), this, SLOT(slotCityChange(const QString &)) ); 485 connect( txtCity, SIGNAL(textChanged(const QString &)), this, SLOT(slotCityChange(const QString &)) );
467 connect( txtState, SIGNAL(textChanged(const QString &)), this, SLOT(slotStateChange(const QString &)) ); 486 connect( txtState, SIGNAL(textChanged(const QString &)), this, SLOT(slotStateChange(const QString &)) );
468 connect( txtZip, SIGNAL(textChanged(const QString &)), this, SLOT(slotZipChange(const QString &)) ); 487 connect( txtZip, SIGNAL(textChanged(const QString &)), this, SLOT(slotZipChange(const QString &)) );
469 connect( cmbCountry, SIGNAL(textChanged(const QString &)), this, SLOT(slotCountryChange(const QString &)) ); 488 connect( cmbCountry, SIGNAL(textChanged(const QString &)), this, SLOT(slotCountryChange(const QString &)) );
470 connect( cmbCountry, SIGNAL(activated(const QString &)), this, SLOT(slotCountryChange(const QString &)) ); 489 connect( cmbCountry, SIGNAL(activated(const QString &)), this, SLOT(slotCountryChange(const QString &)) );
471 connect( cmbChooserField1, SIGNAL(activated(int)), this, SLOT(slotCmbChooser1Change(int)) ); 490 connect( cmbChooserField1, SIGNAL(activated(int)), this, SLOT(slotCmbChooser1Change(int)) );
472 connect( cmbChooserField2, SIGNAL(activated(int)), this, SLOT(slotCmbChooser2Change(int)) ); 491 connect( cmbChooserField2, SIGNAL(activated(int)), this, SLOT(slotCmbChooser2Change(int)) );
473 connect( cmbChooserField3, SIGNAL(activated(int)), this, SLOT(slotCmbChooser3Change(int)) ); 492 connect( cmbChooserField3, SIGNAL(activated(int)), this, SLOT(slotCmbChooser3Change(int)) );
474 connect( cmbAddress, SIGNAL(activated(int)), this, SLOT(slotAddressTypeChange(int)) ); 493 connect( cmbAddress, SIGNAL(activated(int)), this, SLOT(slotAddressTypeChange(int)) );
475 new QPEDialogListener(this); 494 new QPEDialogListener(this);
476} 495}
477 496
478void ContactEditor::initMap() 497void ContactEditor::initMap()
479{ 498{
480 /* 499 /*
481 // since the fields and the XML fields exist, create a map 500 // since the fields and the XML fields exist, create a map
482 // between them... 501 // between them...
483 Config cfg1( "AddressBook" ); 502 Config cfg1( "AddressBook" );
484 Config cfg2( "AddressBook" ); 503 Config cfg2( "AddressBook" );
485 QString strCfg1, 504 QString strCfg1,
486 strCfg2; 505 strCfg2;
487 int i; 506 int i;
488 507
489 // This stuff better exist... 508 // This stuff better exist...
490 cfg1.setGroup( "AddressFields" ); 509 cfg1.setGroup( "AddressFields" );
491o cfg2.setGroup( "XMLFields" ); 510o cfg2.setGroup( "XMLFields" );
492 i = 0; 511 i = 0;
493 strCfg1 = cfg1.readEntry( "Field" + QString::number(i), QString::null ); 512 strCfg1 = cfg1.readEntry( "Field" + QString::number(i), QString::null );
494 strCfg2 = cfg2.readEntry( "XMLField" + QString::number(i++), 513 strCfg2 = cfg2.readEntry( "XMLField" + QString::number(i++),
495 QString::null ); 514 QString::null );
496 while ( !strCfg1.isNull() && !strCfg2.isNull() ) { 515 while ( !strCfg1.isNull() && !strCfg2.isNull() ) {
497 mapField.insert( strCfg1, strCfg2 ); 516 mapField.insert( strCfg1, strCfg2 );
498 strCfg1 = cfg1.readEntry( "Field" + QString::number(i), 517 strCfg1 = cfg1.readEntry( "Field" + QString::number(i),
499 QString::null ); 518 QString::null );
500 strCfg2 = cfg2.readEntry( "XMLField" + QString::number(i++), 519 strCfg2 = cfg2.readEntry( "XMLField" + QString::number(i++),
501 QString::null ); 520 QString::null );
502 } 521 }
503 */ 522 */
504} 523}
505 524
506void ContactEditor::slotChooser1Change( const QString &textChanged ) { 525void ContactEditor::slotChooser1Change( const QString &textChanged ) {
507 526
508 int index = cmbChooserField1->currentItem(); 527 int index = cmbChooserField1->currentItem();
509 528
510 (*slChooserValues)[index] = textChanged; 529 (*slChooserValues)[index] = textChanged;
511 530
512} 531}