summaryrefslogtreecommitdiff
authortille <tille>2002-12-08 18:37:00 (UTC)
committer tille <tille>2002-12-08 18:37:00 (UTC)
commitff55ff70dc982d070bb085acb96831ae30b30902 (patch) (unidiff)
tree3cb5f5c0e75794420a525ebc7aa929003fc6a650
parent741a70d585c5680ccdb2786df4a73e7bde1d7c5d (diff)
downloadopie-ff55ff70dc982d070bb085acb96831ae30b30902.zip
opie-ff55ff70dc982d070bb085acb96831ae30b30902.tar.gz
opie-ff55ff70dc982d070bb085acb96831ae30b30902.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/contacteditor.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index 7338eeb..f125edb 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -1,327 +1,330 @@
1/* 1/*
2 * Copyright (c) 2002 Michael R. Crawford <mike@tuxnami.org> 2 * Copyright (c) 2002 Michael R. Crawford <mike@tuxnami.org>
3 * Copyright (C) 2002 by Stefan Eilers (eilers.stefan@epost.de) 3 * Copyright (C) 2002 by Stefan Eilers (eilers.stefan@epost.de)
4 * 4 *
5 * This file is an add-on for the OPIE Palmtop Environment 5 * This file is an add-on for the OPIE Palmtop Environment
6 * 6 *
7 * This file may be distributed and/or modified under the terms of the 7 * This file may be distributed and/or modified under the terms of the
8 * GNU General Public License version 2 as published by the Free Software 8 * GNU General Public License version 2 as published by the Free Software
9 * Foundation and appearing in the file LICENSE.GPL included in the pacakaging 9 * Foundation and appearing in the file LICENSE.GPL included in the pacakaging
10 * of this file. 10 * of this file.
11 * 11 *
12 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 12 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 13 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14 * 14 *
15 * 15 *
16 * This is a rewrite of the abeditor.h file, modified to provide a more 16 * This is a rewrite of the abeditor.h file, modified to provide a more
17 * intuitive interface to TrollTech's original Address Book editor. This 17 * intuitive interface to TrollTech's original Address Book editor. This
18 * is made to operate exactly in interface with the exception of name. 18 * is made to operate exactly in interface with the exception of name.
19 * 19 *
20 */ 20 */
21 21
22#include "contacteditor.h" 22#include "contacteditor.h"
23#include "addresspicker.h" 23#include "addresspicker.h"
24#include "ocontactfields.h" 24#include "ocontactfields.h"
25 25
26#include <qpe/categoryselect.h> 26#include <qpe/categoryselect.h>
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28#include <qpe/qpedialog.h> 28#include <qpe/qpedialog.h>
29#include <qpe/timeconversion.h> 29#include <qpe/timeconversion.h>
30#include <opie/ocontact.h> 30#include <opie/ocontact.h>
31#include <qpe/resource.h> 31#include <qpe/resource.h>
32 32
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qlabel.h> 34#include <qlabel.h>
35#include <qtabwidget.h> 35#include <qtabwidget.h>
36#include <qlayout.h> 36#include <qlayout.h>
37#include <qlineedit.h> 37#include <qlineedit.h>
38#include <qmultilineedit.h> 38#include <qmultilineedit.h>
39#include <qscrollview.h> 39#include <qscrollview.h>
40#include <qtoolbutton.h> 40#include <qtoolbutton.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qmainwindow.h> 42#include <qmainwindow.h>
43#include <qvaluelist.h> 43#include <qvaluelist.h>
44#include <qpopupmenu.h> 44#include <qpopupmenu.h>
45#include <qlistbox.h> 45#include <qlistbox.h>
46#include <qhbox.h> 46#include <qhbox.h>
47#include <qaction.h> 47#include <qaction.h>
48#include <qiconset.h> 48#include <qiconset.h>
49 49
50static inline bool containsAlphaNum( const QString &str ); 50static inline bool containsAlphaNum( const QString &str );
51static inline bool constainsWhiteSpace( const QString &str ); 51static inline bool constainsWhiteSpace( const QString &str );
52 52
53// helper functions, convert our comma delimited list to proper 53// helper functions, convert our comma delimited list to proper
54// file format... 54// file format...
55void parseEmailFrom( const QString &txt, QString &strDefaultEmail, 55void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
56 QString &strAll ); 56 QString &strAll );
57 57
58// helper convert from file format to comma delimited... 58// helper convert from file format to comma delimited...
59//void parseEmailTo( const QString &strDefaultEmail, 59//void parseEmailTo( const QString &strDefaultEmail,
60 // const QString &strOtherEmail, QString &strBack ); 60 // const QString &strOtherEmail, QString &strBack );
61 61
62 ContactEditor::ContactEditor(const OContact &entry, 62 ContactEditor::ContactEditor(const OContact &entry,
63 QWidget *parent, 63 QWidget *parent,
64 const char *name, 64 const char *name,
65 WFlags fl ) 65 WFlags fl )
66 : QDialog( parent, name, TRUE, fl ), 66 : QDialog( parent, name, TRUE, fl ),
67 m_personalView ( false ) 67 m_personalView ( false )
68
68{ 69{
69 70
70 init(); 71 init();
71 setEntry( entry ); 72 setEntry( entry );
73
74 cmbDefaultEmail = 0;
72} 75}
73 76
74ContactEditor::~ContactEditor() { 77ContactEditor::~ContactEditor() {
75} 78}
76 79
77void ContactEditor::init() { 80void ContactEditor::init() {
78 81
79 useFullName = true; 82 useFullName = true;
80 83
81 uint i = 0; 84 uint i = 0;
82 85
83 QStringList trlChooserNames; 86 QStringList trlChooserNames;
84 87
85 for (i = 0; i <= 6; i++) { 88 for (i = 0; i <= 6; i++) {
86 slHomeAddress.append( "" ); 89 slHomeAddress.append( "" );
87 slBusinessAddress.append( "" ); 90 slBusinessAddress.append( "" );
88 } 91 }
89 92
90 trlChooserNames = OContactFields::trphonefields(); 93 trlChooserNames = OContactFields::trphonefields();
91 slChooserNames = OContactFields::untrphonefields(); 94 slChooserNames = OContactFields::untrphonefields();
92 slDynamicEntries = OContactFields::untrdetailsfields(); 95 slDynamicEntries = OContactFields::untrdetailsfields();
93 trlDynamicEntries = OContactFields::trdetailsfields(); 96 trlDynamicEntries = OContactFields::trdetailsfields();
94 for (i = 0; i < slChooserNames.count(); i++) 97 for (i = 0; i < slChooserNames.count(); i++)
95 slChooserValues.append(""); 98 slChooserValues.append("");
96 99
97 100
98 QVBoxLayout *vb = new QVBoxLayout( this ); 101 QVBoxLayout *vb = new QVBoxLayout( this );
99 102
100 tabMain = new QTabWidget( this ); 103 tabMain = new QTabWidget( this );
101 vb->addWidget( tabMain ); 104 vb->addWidget( tabMain );
102 105
103 QWidget *tabViewport = new QWidget ( tabMain ); 106 QWidget *tabViewport = new QWidget ( tabMain );
104 107
105 vb = new QVBoxLayout( tabViewport ); 108 vb = new QVBoxLayout( tabViewport );
106 109
107 svGeneral = new QScrollView( tabViewport ); 110 svGeneral = new QScrollView( tabViewport );
108 vb->addWidget( svGeneral, 0, 0 ); 111 vb->addWidget( svGeneral, 0, 0 );
109 svGeneral->setResizePolicy( QScrollView::AutoOneFit ); 112 svGeneral->setResizePolicy( QScrollView::AutoOneFit );
110 svGeneral->setFrameStyle( QFrame::NoFrame ); 113 svGeneral->setFrameStyle( QFrame::NoFrame );
111 114
112 QWidget *container = new QWidget( svGeneral->viewport() ); 115 QWidget *container = new QWidget( svGeneral->viewport() );
113 svGeneral->addChild( container ); 116 svGeneral->addChild( container );
114 117
115 QGridLayout *gl = new QGridLayout( container, 1, 1, 2, 4 ); 118 QGridLayout *gl = new QGridLayout( container, 1, 1, 2, 4 );
116 gl->setResizeMode( QLayout::FreeResize ); 119 gl->setResizeMode( QLayout::FreeResize );
117 120
118 btnFullName = new QPushButton( tr( "Full Name..." ), container ); 121 btnFullName = new QPushButton( tr( "Full Name..." ), container );
119 gl->addWidget( btnFullName, 0, 0 ); 122 gl->addWidget( btnFullName, 0, 0 );
120 txtFullName = new QLineEdit( container ); 123 txtFullName = new QLineEdit( container );
121 gl->addWidget( txtFullName, 0, 1 ); 124 gl->addWidget( txtFullName, 0, 1 );
122 125
123 QLabel *l = new QLabel( tr( "Job Title" ), container ); 126 QLabel *l = new QLabel( tr( "Job Title" ), container );
124 gl->addWidget( l, 1, 0 ); 127 gl->addWidget( l, 1, 0 );
125 txtJobTitle = new QLineEdit( container ); 128 txtJobTitle = new QLineEdit( container );
126 gl->addWidget( txtJobTitle, 1, 1 ); 129 gl->addWidget( txtJobTitle, 1, 1 );
127 130
128 l = new QLabel( tr( "Organization" ), container ); 131 l = new QLabel( tr( "Organization" ), container );
129 gl->addWidget( l, 2, 0 ); 132 gl->addWidget( l, 2, 0 );
130 txtOrganization = new QLineEdit( container ); 133 txtOrganization = new QLineEdit( container );
131 gl->addWidget( txtOrganization, 2, 1 ); 134 gl->addWidget( txtOrganization, 2, 1 );
132 135
133 cmbChooserField1 = new QComboBox( FALSE, container ); 136 cmbChooserField1 = new QComboBox( FALSE, container );
134 cmbChooserField1->setMaximumWidth( 90 ); 137 cmbChooserField1->setMaximumWidth( 90 );
135 gl->addWidget( cmbChooserField1, 3, 0 ); 138 gl->addWidget( cmbChooserField1, 3, 0 );
136 txtChooserField1 = new QLineEdit( container ); 139 txtChooserField1 = new QLineEdit( container );
137 gl->addWidget( txtChooserField1, 3, 1 ); 140 gl->addWidget( txtChooserField1, 3, 1 );
138 141
139 cmbChooserField2 = new QComboBox( FALSE, container ); 142 cmbChooserField2 = new QComboBox( FALSE, container );
140 cmbChooserField2->setMaximumWidth( 90 ); 143 cmbChooserField2->setMaximumWidth( 90 );
141 gl->addWidget( cmbChooserField2, 4, 0 ); 144 gl->addWidget( cmbChooserField2, 4, 0 );
142 txtChooserField2 = new QLineEdit( container ); 145 txtChooserField2 = new QLineEdit( container );
143 gl->addWidget( txtChooserField2, 4, 1 ); 146 gl->addWidget( txtChooserField2, 4, 1 );
144 147
145 cmbChooserField3 = new QComboBox( FALSE, container ); 148 cmbChooserField3 = new QComboBox( FALSE, container );
146 cmbChooserField3->setMaximumWidth( 90 ); 149 cmbChooserField3->setMaximumWidth( 90 );
147 gl->addWidget( cmbChooserField3, 5, 0 ); 150 gl->addWidget( cmbChooserField3, 5, 0 );
148 txtChooserField3 = new QLineEdit( container ); 151 txtChooserField3 = new QLineEdit( container );
149 gl->addWidget( txtChooserField3, 5, 1 ); 152 gl->addWidget( txtChooserField3, 5, 1 );
150 153
151 l = new QLabel( tr( "File As" ), container ); 154 l = new QLabel( tr( "File As" ), container );
152 gl->addWidget( l, 6, 0 ); 155 gl->addWidget( l, 6, 0 );
153 cmbFileAs = new QComboBox( TRUE, container ); 156 cmbFileAs = new QComboBox( TRUE, container );
154 gl->addWidget( cmbFileAs, 6, 1 ); 157 gl->addWidget( cmbFileAs, 6, 1 );
155 158
156 labCat = new QLabel( tr( "Category" ), container ); 159 labCat = new QLabel( tr( "Category" ), container );
157 gl->addWidget( labCat, 7, 0 ); 160 gl->addWidget( labCat, 7, 0 );
158 cmbCat = new CategorySelect( container ); 161 cmbCat = new CategorySelect( container );
159 gl->addWidget( cmbCat, 7, 1 ); 162 gl->addWidget( cmbCat, 7, 1 );
160 labCat->show(); 163 labCat->show();
161 cmbCat->show(); 164 cmbCat->show();
162 165
163 btnNote = new QPushButton( tr( "Notes..." ), container ); 166 btnNote = new QPushButton( tr( "Notes..." ), container );
164 gl->addWidget( btnNote, 8, 1 ); 167 gl->addWidget( btnNote, 8, 1 );
165 168
166 tabMain->insertTab( tabViewport, tr( "General" ) ); 169 tabMain->insertTab( tabViewport, tr( "General" ) );
167 170
168 tabViewport = new QWidget ( tabMain ); 171 tabViewport = new QWidget ( tabMain );
169 172
170 vb = new QVBoxLayout( tabViewport ); 173 vb = new QVBoxLayout( tabViewport );
171 174
172 svAddress = new QScrollView( tabViewport ); 175 svAddress = new QScrollView( tabViewport );
173 vb->addWidget( svAddress, 0, 0 ); 176 vb->addWidget( svAddress, 0, 0 );
174 svAddress->setResizePolicy( QScrollView::AutoOneFit ); 177 svAddress->setResizePolicy( QScrollView::AutoOneFit );
175 svAddress->setFrameStyle( QFrame::NoFrame ); 178 svAddress->setFrameStyle( QFrame::NoFrame );
176 179
177 container = new QWidget( svAddress->viewport() ); 180 container = new QWidget( svAddress->viewport() );
178 svAddress->addChild( container ); 181 svAddress->addChild( container );
179 182
180 gl = new QGridLayout( container, 8, 3, 2, 4 ); // row 7 QSpacerItem 183 gl = new QGridLayout( container, 8, 3, 2, 4 ); // row 7 QSpacerItem
181 184
182 cmbAddress = new QComboBox( FALSE, container ); 185 cmbAddress = new QComboBox( FALSE, container );
183 cmbAddress->insertItem( tr( "Business" ) ); 186 cmbAddress->insertItem( tr( "Business" ) );
184 cmbAddress->insertItem( tr( "Home" ) ); 187 cmbAddress->insertItem( tr( "Home" ) );
185 gl->addMultiCellWidget( cmbAddress, 0, 0, 0, 1 ); 188 gl->addMultiCellWidget( cmbAddress, 0, 0, 0, 1 );
186 189
187 l = new QLabel( tr( "Address" ), container ); 190 l = new QLabel( tr( "Address" ), container );
188 gl->addWidget( l, 1, 0 ); 191 gl->addWidget( l, 1, 0 );
189 txtAddress = new QLineEdit( container ); 192 txtAddress = new QLineEdit( container );
190 gl->addMultiCellWidget( txtAddress, 1, 1, 1, 2 ); 193 gl->addMultiCellWidget( txtAddress, 1, 1, 1, 2 );
191 194
192 l = new QLabel( tr( "City" ), container ); 195 l = new QLabel( tr( "City" ), container );
193 gl->addWidget( l, 2, 0 ); 196 gl->addWidget( l, 2, 0 );
194 txtCity = new QLineEdit( container ); 197 txtCity = new QLineEdit( container );
195 gl->addMultiCellWidget( txtCity, 2, 2, 1, 2 ); 198 gl->addMultiCellWidget( txtCity, 2, 2, 1, 2 );
196 199
197 l = new QLabel( tr( "State" ), container ); 200 l = new QLabel( tr( "State" ), container );
198 gl->addWidget( l, 3, 0 ); 201 gl->addWidget( l, 3, 0 );
199 txtState = new QLineEdit( container ); 202 txtState = new QLineEdit( container );
200 gl->addMultiCellWidget( txtState, 3, 3, 1, 2 ); 203 gl->addMultiCellWidget( txtState, 3, 3, 1, 2 );
201 204
202 l = new QLabel( tr( "Zip Code" ), container ); 205 l = new QLabel( tr( "Zip Code" ), container );
203 gl->addWidget( l, 4, 0 ); 206 gl->addWidget( l, 4, 0 );
204 txtZip = new QLineEdit( container ); 207 txtZip = new QLineEdit( container );
205 gl->addMultiCellWidget( txtZip, 4, 4, 1, 2 ); 208 gl->addMultiCellWidget( txtZip, 4, 4, 1, 2 );
206 209
207 l = new QLabel( tr( "Country" ), container ); 210 l = new QLabel( tr( "Country" ), container );
208 gl->addWidget( l, 5, 0 ); 211 gl->addWidget( l, 5, 0 );
209 cmbCountry = new QComboBox( TRUE, container ); 212 cmbCountry = new QComboBox( TRUE, container );
210 cmbCountry->insertItem( tr( "" ) ); 213 cmbCountry->insertItem( tr( "" ) );
211 cmbCountry->insertItem( tr ( "United States" ) ); 214 cmbCountry->insertItem( tr ( "United States" ) );
212 cmbCountry->insertItem( tr ( "United Kingdom" ) ); 215 cmbCountry->insertItem( tr ( "United Kingdom" ) );
213 cmbCountry->insertItem( tr ( "Afganistan" ) ); 216 cmbCountry->insertItem( tr ( "Afganistan" ) );
214 cmbCountry->insertItem( tr ( "Albania" ) ); 217 cmbCountry->insertItem( tr ( "Albania" ) );
215 cmbCountry->insertItem( tr ( "Algeria" ) ); 218 cmbCountry->insertItem( tr ( "Algeria" ) );
216 cmbCountry->insertItem( tr ( "American Samoa" ) ); 219 cmbCountry->insertItem( tr ( "American Samoa" ) );
217 cmbCountry->insertItem( tr ( "Andorra" ) ); 220 cmbCountry->insertItem( tr ( "Andorra" ) );
218 cmbCountry->insertItem( tr ( "Angola" ) ); 221 cmbCountry->insertItem( tr ( "Angola" ) );
219 cmbCountry->insertItem( tr ( "Anguilla" ) ); 222 cmbCountry->insertItem( tr ( "Anguilla" ) );
220 cmbCountry->insertItem( tr ( "Antartica" ) ); 223 cmbCountry->insertItem( tr ( "Antartica" ) );
221 cmbCountry->insertItem( tr ( "Argentina" ) ); 224 cmbCountry->insertItem( tr ( "Argentina" ) );
222 cmbCountry->insertItem( tr ( "Armania" ) ); 225 cmbCountry->insertItem( tr ( "Armania" ) );
223 cmbCountry->insertItem( tr ( "Aruba" ) ); 226 cmbCountry->insertItem( tr ( "Aruba" ) );
224 cmbCountry->insertItem( tr ( "Australia" ) ); 227 cmbCountry->insertItem( tr ( "Australia" ) );
225 cmbCountry->insertItem( tr ( "Austria" ) ); 228 cmbCountry->insertItem( tr ( "Austria" ) );
226 cmbCountry->insertItem( tr ( "Azerbaijan" ) ); 229 cmbCountry->insertItem( tr ( "Azerbaijan" ) );
227 cmbCountry->insertItem( tr ( "Bahamas" ) ); 230 cmbCountry->insertItem( tr ( "Bahamas" ) );
228 cmbCountry->insertItem( tr ( "Bahrain" ) ); 231 cmbCountry->insertItem( tr ( "Bahrain" ) );
229 cmbCountry->insertItem( tr ( "Bangladesh" ) ); 232 cmbCountry->insertItem( tr ( "Bangladesh" ) );
230 cmbCountry->insertItem( tr ( "Barbados" ) ); 233 cmbCountry->insertItem( tr ( "Barbados" ) );
231 cmbCountry->insertItem( tr ( "Belarus" ) ); 234 cmbCountry->insertItem( tr ( "Belarus" ) );
232 cmbCountry->insertItem( tr ( "Belgium" ) ); 235 cmbCountry->insertItem( tr ( "Belgium" ) );
233 cmbCountry->insertItem( tr ( "Belize" ) ); 236 cmbCountry->insertItem( tr ( "Belize" ) );
234 cmbCountry->insertItem( tr ( "Benin" ) ); 237 cmbCountry->insertItem( tr ( "Benin" ) );
235 cmbCountry->insertItem( tr ( "Bermuda" ) ); 238 cmbCountry->insertItem( tr ( "Bermuda" ) );
236 cmbCountry->insertItem( tr ( "Bhutan" ) ); 239 cmbCountry->insertItem( tr ( "Bhutan" ) );
237 cmbCountry->insertItem( tr ( "Boliva" ) ); 240 cmbCountry->insertItem( tr ( "Boliva" ) );
238 cmbCountry->insertItem( tr ( "Botswana" ) ); 241 cmbCountry->insertItem( tr ( "Botswana" ) );
239 cmbCountry->insertItem( tr ( "Bouvet Island" ) ); 242 cmbCountry->insertItem( tr ( "Bouvet Island" ) );
240 cmbCountry->insertItem( tr ( "Brazil" ) ); 243 cmbCountry->insertItem( tr ( "Brazil" ) );
241 cmbCountry->insertItem( tr ( "Brunei Darussalam" ) ); 244 cmbCountry->insertItem( tr ( "Brunei Darussalam" ) );
242 cmbCountry->insertItem( tr ( "Bulgaria" ) ); 245 cmbCountry->insertItem( tr ( "Bulgaria" ) );
243 cmbCountry->insertItem( tr ( "Burkina Faso" ) ); 246 cmbCountry->insertItem( tr ( "Burkina Faso" ) );
244 cmbCountry->insertItem( tr ( "Burundi" ) ); 247 cmbCountry->insertItem( tr ( "Burundi" ) );
245 cmbCountry->insertItem( tr ( "Cambodia" ) ); 248 cmbCountry->insertItem( tr ( "Cambodia" ) );
246 cmbCountry->insertItem( tr ( "Camaroon" ) ); 249 cmbCountry->insertItem( tr ( "Camaroon" ) );
247 cmbCountry->insertItem( tr ( "Canada" ) ); 250 cmbCountry->insertItem( tr ( "Canada" ) );
248 cmbCountry->insertItem( tr ( "Cape Verde" ) ); 251 cmbCountry->insertItem( tr ( "Cape Verde" ) );
249 cmbCountry->insertItem( tr ( "Cayman Islands" ) ); 252 cmbCountry->insertItem( tr ( "Cayman Islands" ) );
250 cmbCountry->insertItem( tr ( "Chad" ) ); 253 cmbCountry->insertItem( tr ( "Chad" ) );
251 cmbCountry->insertItem( tr ( "Chile" ) ); 254 cmbCountry->insertItem( tr ( "Chile" ) );
252 cmbCountry->insertItem( tr ( "China" ) ); 255 cmbCountry->insertItem( tr ( "China" ) );
253 cmbCountry->insertItem( tr ( "Christmas Island" ) ); 256 cmbCountry->insertItem( tr ( "Christmas Island" ) );
254 cmbCountry->insertItem( tr ( "Colombia" ) ); 257 cmbCountry->insertItem( tr ( "Colombia" ) );
255 cmbCountry->insertItem( tr ( "Comoros" ) ); 258 cmbCountry->insertItem( tr ( "Comoros" ) );
256 cmbCountry->insertItem( tr ( "Congo" ) ); 259 cmbCountry->insertItem( tr ( "Congo" ) );
257 cmbCountry->insertItem( tr ( "Cook Island" ) ); 260 cmbCountry->insertItem( tr ( "Cook Island" ) );
258 cmbCountry->insertItem( tr ( "Costa Rica" ) ); 261 cmbCountry->insertItem( tr ( "Costa Rica" ) );
259 cmbCountry->insertItem( tr ( "Cote d'Ivoire" ) ); 262 cmbCountry->insertItem( tr ( "Cote d'Ivoire" ) );
260 cmbCountry->insertItem( tr ( "Croatia" ) ); 263 cmbCountry->insertItem( tr ( "Croatia" ) );
261 cmbCountry->insertItem( tr ( "Cuba" ) ); 264 cmbCountry->insertItem( tr ( "Cuba" ) );
262 cmbCountry->insertItem( tr ( "Cyprus" ) ); 265 cmbCountry->insertItem( tr ( "Cyprus" ) );
263 cmbCountry->insertItem( tr ( "Czech Republic" ) ); 266 cmbCountry->insertItem( tr ( "Czech Republic" ) );
264 cmbCountry->insertItem( tr ( "Denmark" ) ); 267 cmbCountry->insertItem( tr ( "Denmark" ) );
265 cmbCountry->insertItem( tr ( "Djibouti" ) ); 268 cmbCountry->insertItem( tr ( "Djibouti" ) );
266 cmbCountry->insertItem( tr ( "Dominica" ) ); 269 cmbCountry->insertItem( tr ( "Dominica" ) );
267 cmbCountry->insertItem( tr ( "Dominican Republic" ) ); 270 cmbCountry->insertItem( tr ( "Dominican Republic" ) );
268 cmbCountry->insertItem( tr ( "East Timor" ) ); 271 cmbCountry->insertItem( tr ( "East Timor" ) );
269 cmbCountry->insertItem( tr ( "Ecuador" ) ); 272 cmbCountry->insertItem( tr ( "Ecuador" ) );
270 cmbCountry->insertItem( tr ( "Egypt" ) ); 273 cmbCountry->insertItem( tr ( "Egypt" ) );
271 cmbCountry->insertItem( tr ( "El Salvador" ) ); 274 cmbCountry->insertItem( tr ( "El Salvador" ) );
272 cmbCountry->insertItem( tr ( "Equatorial Guinea" ) ); 275 cmbCountry->insertItem( tr ( "Equatorial Guinea" ) );
273 cmbCountry->insertItem( tr ( "Eritrea" ) ); 276 cmbCountry->insertItem( tr ( "Eritrea" ) );
274 cmbCountry->insertItem( tr ( "Estonia" ) ); 277 cmbCountry->insertItem( tr ( "Estonia" ) );
275 cmbCountry->insertItem( tr ( "Ethiopia" ) ); 278 cmbCountry->insertItem( tr ( "Ethiopia" ) );
276 cmbCountry->insertItem( tr ( "Falkland Islands" ) ); 279 cmbCountry->insertItem( tr ( "Falkland Islands" ) );
277 cmbCountry->insertItem( tr ( "Faroe Islands" ) ); 280 cmbCountry->insertItem( tr ( "Faroe Islands" ) );
278 cmbCountry->insertItem( tr ( "Fiji" ) ); 281 cmbCountry->insertItem( tr ( "Fiji" ) );
279 cmbCountry->insertItem( tr ( "Finland" ) ); 282 cmbCountry->insertItem( tr ( "Finland" ) );
280 cmbCountry->insertItem( tr ( "France" ) ); 283 cmbCountry->insertItem( tr ( "France" ) );
281 cmbCountry->insertItem( tr ( "French Guiana" ) ); 284 cmbCountry->insertItem( tr ( "French Guiana" ) );
282 cmbCountry->insertItem( tr ( "French Polynesia" ) ); 285 cmbCountry->insertItem( tr ( "French Polynesia" ) );
283 cmbCountry->insertItem( tr ( "Gabon" ) ); 286 cmbCountry->insertItem( tr ( "Gabon" ) );
284 cmbCountry->insertItem( tr ( "Gambia" ) ); 287 cmbCountry->insertItem( tr ( "Gambia" ) );
285 cmbCountry->insertItem( tr ( "Georgia" ) ); 288 cmbCountry->insertItem( tr ( "Georgia" ) );
286 cmbCountry->insertItem( tr ( "Germany" ) ); 289 cmbCountry->insertItem( tr ( "Germany" ) );
287 cmbCountry->insertItem( tr ( "Gahna" ) ); 290 cmbCountry->insertItem( tr ( "Gahna" ) );
288 cmbCountry->insertItem( tr ( "Gibraltar" ) ); 291 cmbCountry->insertItem( tr ( "Gibraltar" ) );
289 cmbCountry->insertItem( tr ( "Greece" ) ); 292 cmbCountry->insertItem( tr ( "Greece" ) );
290 cmbCountry->insertItem( tr ( "Greenland" ) ); 293 cmbCountry->insertItem( tr ( "Greenland" ) );
291 cmbCountry->insertItem( tr ( "Grenada" ) ); 294 cmbCountry->insertItem( tr ( "Grenada" ) );
292 cmbCountry->insertItem( tr ( "Guadelupe" ) ); 295 cmbCountry->insertItem( tr ( "Guadelupe" ) );
293 cmbCountry->insertItem( tr ( "Guam" ) ); 296 cmbCountry->insertItem( tr ( "Guam" ) );
294 cmbCountry->insertItem( tr ( "Guatemala" ) ); 297 cmbCountry->insertItem( tr ( "Guatemala" ) );
295 cmbCountry->insertItem( tr ( "Guinea" ) ); 298 cmbCountry->insertItem( tr ( "Guinea" ) );
296 cmbCountry->insertItem( tr ( "Guinea-bissau" ) ); 299 cmbCountry->insertItem( tr ( "Guinea-bissau" ) );
297 cmbCountry->insertItem( tr ( "Guyana" ) ); 300 cmbCountry->insertItem( tr ( "Guyana" ) );
298 cmbCountry->insertItem( tr ( "Haiti" ) ); 301 cmbCountry->insertItem( tr ( "Haiti" ) );
299 cmbCountry->insertItem( tr ( "Holy See" ) ); 302 cmbCountry->insertItem( tr ( "Holy See" ) );
300 cmbCountry->insertItem( tr ( "Honduras" ) ); 303 cmbCountry->insertItem( tr ( "Honduras" ) );
301 cmbCountry->insertItem( tr ( "Hong Kong" ) ); 304 cmbCountry->insertItem( tr ( "Hong Kong" ) );
302 cmbCountry->insertItem( tr ( "Hungary" ) ); 305 cmbCountry->insertItem( tr ( "Hungary" ) );
303 cmbCountry->insertItem( tr ( "Iceland" ) ); 306 cmbCountry->insertItem( tr ( "Iceland" ) );
304 cmbCountry->insertItem( tr ( "India" ) ); 307 cmbCountry->insertItem( tr ( "India" ) );
305 cmbCountry->insertItem( tr ( "Indonesia" ) ); 308 cmbCountry->insertItem( tr ( "Indonesia" ) );
306 cmbCountry->insertItem( tr ( "Ireland" ) ); 309 cmbCountry->insertItem( tr ( "Ireland" ) );
307 cmbCountry->insertItem( tr ( "Israel" ) ); 310 cmbCountry->insertItem( tr ( "Israel" ) );
308 cmbCountry->insertItem( tr ( "Italy" ) ); 311 cmbCountry->insertItem( tr ( "Italy" ) );
309 cmbCountry->insertItem( tr ( "Jamacia" ) ); 312 cmbCountry->insertItem( tr ( "Jamacia" ) );
310 cmbCountry->insertItem( tr ( "Japan" ) ); 313 cmbCountry->insertItem( tr ( "Japan" ) );
311 cmbCountry->insertItem( tr ( "Jordan" ) ); 314 cmbCountry->insertItem( tr ( "Jordan" ) );
312 cmbCountry->insertItem( tr ( "Kazakhstan" ) ); 315 cmbCountry->insertItem( tr ( "Kazakhstan" ) );
313 cmbCountry->insertItem( tr ( "Kenya" ) ); 316 cmbCountry->insertItem( tr ( "Kenya" ) );
314 cmbCountry->insertItem( tr ( "Kribati" ) ); 317 cmbCountry->insertItem( tr ( "Kribati" ) );
315 cmbCountry->insertItem( tr ( "Korea" ) ); 318 cmbCountry->insertItem( tr ( "Korea" ) );
316 cmbCountry->insertItem( tr ( "Kuwait" ) ); 319 cmbCountry->insertItem( tr ( "Kuwait" ) );
317 cmbCountry->insertItem( tr ( "Kyrgystan" ) ); 320 cmbCountry->insertItem( tr ( "Kyrgystan" ) );
318 cmbCountry->insertItem( tr ( "Laos" ) ); 321 cmbCountry->insertItem( tr ( "Laos" ) );
319 cmbCountry->insertItem( tr ( "Latvia" ) ); 322 cmbCountry->insertItem( tr ( "Latvia" ) );
320 cmbCountry->insertItem( tr ( "Lebanon" ) ); 323 cmbCountry->insertItem( tr ( "Lebanon" ) );
321 cmbCountry->insertItem( tr ( "Lesotho" ) ); 324 cmbCountry->insertItem( tr ( "Lesotho" ) );
322 cmbCountry->insertItem( tr ( "Liberia" ) ); 325 cmbCountry->insertItem( tr ( "Liberia" ) );
323 cmbCountry->insertItem( tr ( "Liechtenstein" ) ); 326 cmbCountry->insertItem( tr ( "Liechtenstein" ) );
324 cmbCountry->insertItem( tr ( "Lithuania" ) ); 327 cmbCountry->insertItem( tr ( "Lithuania" ) );
325 cmbCountry->insertItem( tr ( "Luxembourg" ) ); 328 cmbCountry->insertItem( tr ( "Luxembourg" ) );
326 cmbCountry->insertItem( tr ( "Macau" ) ); 329 cmbCountry->insertItem( tr ( "Macau" ) );
327 cmbCountry->insertItem( tr ( "Macedonia" ) ); 330 cmbCountry->insertItem( tr ( "Macedonia" ) );
@@ -378,513 +381,513 @@ void ContactEditor::init() {
378 cmbCountry->insertItem( tr ( "San Marino" ) ); 381 cmbCountry->insertItem( tr ( "San Marino" ) );
379 cmbCountry->insertItem( tr ( "Saudi Arabia" ) ); 382 cmbCountry->insertItem( tr ( "Saudi Arabia" ) );
380 cmbCountry->insertItem( tr ( "Senegal" ) ); 383 cmbCountry->insertItem( tr ( "Senegal" ) );
381 cmbCountry->insertItem( tr ( "Seychelles" ) ); 384 cmbCountry->insertItem( tr ( "Seychelles" ) );
382 cmbCountry->insertItem( tr ( "Sierra Leone" ) ); 385 cmbCountry->insertItem( tr ( "Sierra Leone" ) );
383 cmbCountry->insertItem( tr ( "Singapore" ) ); 386 cmbCountry->insertItem( tr ( "Singapore" ) );
384 cmbCountry->insertItem( tr ( "Slovakia" ) ); 387 cmbCountry->insertItem( tr ( "Slovakia" ) );
385 cmbCountry->insertItem( tr ( "Slovenia" ) ); 388 cmbCountry->insertItem( tr ( "Slovenia" ) );
386 cmbCountry->insertItem( tr ( "Solomon Islands" ) ); 389 cmbCountry->insertItem( tr ( "Solomon Islands" ) );
387 cmbCountry->insertItem( tr ( "Somalia" ) ); 390 cmbCountry->insertItem( tr ( "Somalia" ) );
388 cmbCountry->insertItem( tr ( "South Africa" ) ); 391 cmbCountry->insertItem( tr ( "South Africa" ) );
389 cmbCountry->insertItem( tr ( "Spain" ) ); 392 cmbCountry->insertItem( tr ( "Spain" ) );
390 cmbCountry->insertItem( tr ( "Sri Lanka" ) ); 393 cmbCountry->insertItem( tr ( "Sri Lanka" ) );
391 cmbCountry->insertItem( tr ( "St. Helena" ) ); 394 cmbCountry->insertItem( tr ( "St. Helena" ) );
392 cmbCountry->insertItem( tr ( "Sudan" ) ); 395 cmbCountry->insertItem( tr ( "Sudan" ) );
393 cmbCountry->insertItem( tr ( "Suriname" ) ); 396 cmbCountry->insertItem( tr ( "Suriname" ) );
394 cmbCountry->insertItem( tr ( "Swaziland" ) ); 397 cmbCountry->insertItem( tr ( "Swaziland" ) );
395 cmbCountry->insertItem( tr ( "Sweden" ) ); 398 cmbCountry->insertItem( tr ( "Sweden" ) );
396 cmbCountry->insertItem( tr ( "Switzerland" ) ); 399 cmbCountry->insertItem( tr ( "Switzerland" ) );
397 cmbCountry->insertItem( tr ( "Taiwan" ) ); 400 cmbCountry->insertItem( tr ( "Taiwan" ) );
398 cmbCountry->insertItem( tr ( "Tajikistan" ) ); 401 cmbCountry->insertItem( tr ( "Tajikistan" ) );
399 cmbCountry->insertItem( tr ( "Tanzania" ) ); 402 cmbCountry->insertItem( tr ( "Tanzania" ) );
400 cmbCountry->insertItem( tr ( "Thailand" ) ); 403 cmbCountry->insertItem( tr ( "Thailand" ) );
401 cmbCountry->insertItem( tr ( "Togo" ) ); 404 cmbCountry->insertItem( tr ( "Togo" ) );
402 cmbCountry->insertItem( tr ( "Tokelau" ) ); 405 cmbCountry->insertItem( tr ( "Tokelau" ) );
403 cmbCountry->insertItem( tr ( "Tonga" ) ); 406 cmbCountry->insertItem( tr ( "Tonga" ) );
404 cmbCountry->insertItem( tr ( "Tunisia" ) ); 407 cmbCountry->insertItem( tr ( "Tunisia" ) );
405 cmbCountry->insertItem( tr ( "Turkey" ) ); 408 cmbCountry->insertItem( tr ( "Turkey" ) );
406 cmbCountry->insertItem( tr ( "Turkmenistan" ) ); 409 cmbCountry->insertItem( tr ( "Turkmenistan" ) );
407 cmbCountry->insertItem( tr ( "Tuvalu" ) ); 410 cmbCountry->insertItem( tr ( "Tuvalu" ) );
408 cmbCountry->insertItem( tr ( "Uganda" ) ); 411 cmbCountry->insertItem( tr ( "Uganda" ) );
409 cmbCountry->insertItem( tr ( "Ukraine" ) ); 412 cmbCountry->insertItem( tr ( "Ukraine" ) );
410 cmbCountry->insertItem( tr ( "Uruguay" ) ); 413 cmbCountry->insertItem( tr ( "Uruguay" ) );
411 cmbCountry->insertItem( tr ( "Uzbekistan" ) ); 414 cmbCountry->insertItem( tr ( "Uzbekistan" ) );
412 cmbCountry->insertItem( tr ( "Vanuatu" ) ); 415 cmbCountry->insertItem( tr ( "Vanuatu" ) );
413 cmbCountry->insertItem( tr ( "Venezuela" ) ); 416 cmbCountry->insertItem( tr ( "Venezuela" ) );
414 cmbCountry->insertItem( tr ( "Viet Nam" ) ); 417 cmbCountry->insertItem( tr ( "Viet Nam" ) );
415 cmbCountry->insertItem( tr ( "Virgin Islands" ) ); 418 cmbCountry->insertItem( tr ( "Virgin Islands" ) );
416 cmbCountry->insertItem( tr ( "Western Sahara" ) ); 419 cmbCountry->insertItem( tr ( "Western Sahara" ) );
417 cmbCountry->insertItem( tr ( "Yemen" ) ); 420 cmbCountry->insertItem( tr ( "Yemen" ) );
418 cmbCountry->insertItem( tr ( "Yugoslavia" ) ); 421 cmbCountry->insertItem( tr ( "Yugoslavia" ) );
419 cmbCountry->insertItem( tr ( "Zambia" ) ); 422 cmbCountry->insertItem( tr ( "Zambia" ) );
420 cmbCountry->insertItem( tr ( "Zimbabwe" ) ); 423 cmbCountry->insertItem( tr ( "Zimbabwe" ) );
421 if (cmbCountry->listBox()!=0) 424 if (cmbCountry->listBox()!=0)
422 cmbCountry->listBox()->sort(); 425 cmbCountry->listBox()->sort();
423 426
424 cmbCountry->setMaximumWidth( 135 ); 427 cmbCountry->setMaximumWidth( 135 );
425 428
426 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 ); 429 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 );
427 430
428 cmbChooserField4 = new QComboBox( FALSE, container ); 431 cmbChooserField4 = new QComboBox( FALSE, container );
429 cmbChooserField4->setMaximumWidth( 90 ); 432 cmbChooserField4->setMaximumWidth( 90 );
430 gl->addWidget( cmbChooserField4, 6, 0 ); 433 gl->addWidget( cmbChooserField4, 6, 0 );
431 txtChooserField4 = new QLineEdit( container ); 434 txtChooserField4 = new QLineEdit( container );
432 gl->addMultiCellWidget( txtChooserField4, 6, 6, 1, 2 ); 435 gl->addMultiCellWidget( txtChooserField4, 6, 6, 1, 2 );
433 436
434 QSpacerItem *space = new QSpacerItem(1,1, 437 QSpacerItem *space = new QSpacerItem(1,1,
435 QSizePolicy::Maximum, 438 QSizePolicy::Maximum,
436 QSizePolicy::MinimumExpanding ); 439 QSizePolicy::MinimumExpanding );
437 gl->addItem( space, 7, 0 ); 440 gl->addItem( space, 7, 0 );
438 441
439 tabMain->insertTab( tabViewport, tr( "Address" ) ); 442 tabMain->insertTab( tabViewport, tr( "Address" ) );
440 443
441 tabViewport = new QWidget ( tabMain ); 444 tabViewport = new QWidget ( tabMain );
442 445
443 vb = new QVBoxLayout( tabViewport ); 446 vb = new QVBoxLayout( tabViewport );
444 447
445 svDetails = new QScrollView( tabViewport ); 448 svDetails = new QScrollView( tabViewport );
446 vb->addWidget( svDetails, 0, 0 ); 449 vb->addWidget( svDetails, 0, 0 );
447 svDetails->setResizePolicy( QScrollView::AutoOneFit ); 450 svDetails->setResizePolicy( QScrollView::AutoOneFit );
448 svDetails->setFrameStyle( QFrame::NoFrame ); 451 svDetails->setFrameStyle( QFrame::NoFrame );
449 452
450 container = new QWidget( svDetails->viewport() ); 453 container = new QWidget( svDetails->viewport() );
451 svDetails->addChild( container ); 454 svDetails->addChild( container );
452 455
453 gl = new QGridLayout( container, 1, 2, 2, 4 ); 456 gl = new QGridLayout( container, 1, 2, 2, 4 );
454 457
455 int counter = 0; 458 int counter = 0;
456 459
457 // Birthday 460 // Birthday
458 QHBox* hBox = new QHBox( container ); 461 QHBox* hBox = new QHBox( container );
459 l = new QLabel( tr("Birthday"), container ); 462 l = new QLabel( tr("Birthday"), container );
460 gl->addWidget( l, counter, 0 ); 463 gl->addWidget( l, counter, 0 );
461 464
462 QPopupMenu* m1 = new QPopupMenu( container ); 465 QPopupMenu* m1 = new QPopupMenu( container );
463 birthdayPicker = new DateBookMonth( m1, 0, TRUE ); 466 birthdayPicker = new DateBookMonth( m1, 0, TRUE );
464 m1->insertItem( birthdayPicker ); 467 m1->insertItem( birthdayPicker );
465 468
466 birthdayButton= new QToolButton( hBox, "buttonStart" ); 469 birthdayButton= new QToolButton( hBox, "buttonStart" );
467 birthdayButton->setPopup( m1 ); 470 birthdayButton->setPopup( m1 );
468 birthdayButton->setPopupDelay(0); 471 birthdayButton->setPopupDelay(0);
469 472
470 QPushButton* deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), 473 QPushButton* deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ),
471 tr( "Delete" ), 474 tr( "Delete" ),
472 hBox, 0 ); 475 hBox, 0 );
473 476
474 gl->addWidget( hBox, counter , 1 ); 477 gl->addWidget( hBox, counter , 1 );
475 478
476 connect( birthdayPicker, SIGNAL( dateClicked( int, int, int ) ), 479 connect( birthdayPicker, SIGNAL( dateClicked( int, int, int ) ),
477 this, SLOT( slotBirthdayDateChanged( int, int, int ) ) ); 480 this, SLOT( slotBirthdayDateChanged( int, int, int ) ) );
478 connect( deleteButton, SIGNAL( clicked() ), this, SLOT( slotRemoveBirthday() ) ); 481 connect( deleteButton, SIGNAL( clicked() ), this, SLOT( slotRemoveBirthday() ) );
479 482
480 ++counter; 483 ++counter;
481 484
482 // Anniversary 485 // Anniversary
483 hBox = new QHBox( container ); 486 hBox = new QHBox( container );
484 l = new QLabel( tr("Anniversary"), container ); 487 l = new QLabel( tr("Anniversary"), container );
485 gl->addWidget( l, counter, 0 ); 488 gl->addWidget( l, counter, 0 );
486 489
487 m1 = new QPopupMenu( container ); 490 m1 = new QPopupMenu( container );
488 anniversaryPicker = new DateBookMonth( m1, 0, TRUE ); 491 anniversaryPicker = new DateBookMonth( m1, 0, TRUE );
489 m1->insertItem( anniversaryPicker ); 492 m1->insertItem( anniversaryPicker );
490 493
491 anniversaryButton= new QToolButton( hBox, "buttonStart" ); 494 anniversaryButton= new QToolButton( hBox, "buttonStart" );
492 anniversaryButton->setPopup( m1 ); 495 anniversaryButton->setPopup( m1 );
493 anniversaryButton->setPopupDelay(0); 496 anniversaryButton->setPopupDelay(0);
494 497
495 deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ), 498 deleteButton = new QPushButton( QIconSet( Resource::loadPixmap( "trash" ) ),
496 tr( "Delete" ), 499 tr( "Delete" ),
497 hBox, 0 ); 500 hBox, 0 );
498 gl->addWidget( hBox, counter , 1 ); 501 gl->addWidget( hBox, counter , 1 );
499 502
500 connect( anniversaryPicker, SIGNAL( dateClicked( int, int, int ) ), 503 connect( anniversaryPicker, SIGNAL( dateClicked( int, int, int ) ),
501 this, SLOT( slotAnniversaryDateChanged( int, int, int ) ) ); 504 this, SLOT( slotAnniversaryDateChanged( int, int, int ) ) );
502 connect( deleteButton, SIGNAL( clicked() ), this, SLOT( slotRemoveAnniversary() ) ); 505 connect( deleteButton, SIGNAL( clicked() ), this, SLOT( slotRemoveAnniversary() ) );
503 506
504 ++counter; 507 ++counter;
505 508
506 // Gender 509 // Gender
507 l = new QLabel( tr("Gender"), container ); 510 l = new QLabel( tr("Gender"), container );
508 gl->addWidget( l, counter, 0 ); 511 gl->addWidget( l, counter, 0 );
509 cmbGender = new QComboBox( container ); 512 cmbGender = new QComboBox( container );
510 cmbGender->insertItem( "", 0 ); 513 cmbGender->insertItem( "", 0 );
511 cmbGender->insertItem( tr("Male"), 1); 514 cmbGender->insertItem( tr("Male"), 1);
512 cmbGender->insertItem( tr("Female"), 2); 515 cmbGender->insertItem( tr("Female"), 2);
513 gl->addWidget( cmbGender, counter, 1 ); 516 gl->addWidget( cmbGender, counter, 1 );
514 517
515 ++counter; 518 ++counter;
516 519
517 // Create Labels and lineedit fields for every dynamic entry 520 // Create Labels and lineedit fields for every dynamic entry
518 QStringList::ConstIterator it = slDynamicEntries.begin(); 521 QStringList::ConstIterator it = slDynamicEntries.begin();
519 QStringList::ConstIterator trit = trlDynamicEntries.begin(); 522 QStringList::ConstIterator trit = trlDynamicEntries.begin();
520 for (i = counter; it != slDynamicEntries.end(); i++, ++it, ++trit) { 523 for (i = counter; it != slDynamicEntries.end(); i++, ++it, ++trit) {
521 524
522 if (((*it) == "Anniversary") || 525 if (((*it) == "Anniversary") ||
523 ((*it) == "Birthday")|| ((*it) == "Gender")) continue; 526 ((*it) == "Birthday")|| ((*it) == "Gender")) continue;
524 527
525 l = new QLabel( (*it).utf8() , container ); 528 l = new QLabel( (*it).utf8() , container );
526 listName.append( l ); 529 listName.append( l );
527 gl->addWidget( l, i, 0 ); 530 gl->addWidget( l, i, 0 );
528 QLineEdit *e = new QLineEdit( container ); 531 QLineEdit *e = new QLineEdit( container );
529 listValue.append( e ); 532 listValue.append( e );
530 gl->addWidget( e, i, 1); 533 gl->addWidget( e, i, 1);
531 } 534 }
532 // Fill labels with names.. 535 // Fill labels with names..
533 //loadFields(); 536 //loadFields();
534 537
535 538
536 tabMain->insertTab( tabViewport, tr( "Details" ) ); 539 tabMain->insertTab( tabViewport, tr( "Details" ) );
537 540
538 dlgNote = new QDialog( this, "Note Dialog", TRUE ); 541 dlgNote = new QDialog( this, "Note Dialog", TRUE );
539 dlgNote->setCaption( tr("Enter Note") ); 542 dlgNote->setCaption( tr("Enter Note") );
540 QVBoxLayout *vbNote = new QVBoxLayout( dlgNote ); 543 QVBoxLayout *vbNote = new QVBoxLayout( dlgNote );
541 txtNote = new QMultiLineEdit( dlgNote ); 544 txtNote = new QMultiLineEdit( dlgNote );
542 vbNote->addWidget( txtNote ); 545 vbNote->addWidget( txtNote );
543 connect( btnNote, SIGNAL(clicked()), this, SLOT(slotNote()) ); 546 connect( btnNote, SIGNAL(clicked()), this, SLOT(slotNote()) );
544 547
545 dlgName = new QDialog( this, "Name Dialog", TRUE ); 548 dlgName = new QDialog( this, "Name Dialog", TRUE );
546 dlgName->setCaption( tr("Edit Name") ); 549 dlgName->setCaption( tr("Edit Name") );
547 gl = new QGridLayout( dlgName, 5, 2, 2, 3 ); 550 gl = new QGridLayout( dlgName, 5, 2, 2, 3 );
548 551
549 l = new QLabel( tr("First Name"), dlgName ); 552 l = new QLabel( tr("First Name"), dlgName );
550 gl->addWidget( l, 0, 0 ); 553 gl->addWidget( l, 0, 0 );
551 txtFirstName = new QLineEdit( dlgName ); 554 txtFirstName = new QLineEdit( dlgName );
552 gl->addWidget( txtFirstName, 0, 1 ); 555 gl->addWidget( txtFirstName, 0, 1 );
553 556
554 l = new QLabel( tr("Middle Name"), dlgName ); 557 l = new QLabel( tr("Middle Name"), dlgName );
555 gl->addWidget( l, 1, 0 ); 558 gl->addWidget( l, 1, 0 );
556 txtMiddleName = new QLineEdit( dlgName ); 559 txtMiddleName = new QLineEdit( dlgName );
557 gl->addWidget( txtMiddleName, 1, 1 ); 560 gl->addWidget( txtMiddleName, 1, 1 );
558 561
559 l = new QLabel( tr("Last Name"), dlgName ); 562 l = new QLabel( tr("Last Name"), dlgName );
560 gl->addWidget( l, 2, 0 ); 563 gl->addWidget( l, 2, 0 );
561 txtLastName = new QLineEdit( dlgName ); 564 txtLastName = new QLineEdit( dlgName );
562 gl->addWidget( txtLastName, 2, 1 ); 565 gl->addWidget( txtLastName, 2, 1 );
563 566
564 l = new QLabel( tr("Suffix"), dlgName ); 567 l = new QLabel( tr("Suffix"), dlgName );
565 gl->addWidget( l, 3, 0 ); 568 gl->addWidget( l, 3, 0 );
566 txtSuffix = new QLineEdit( dlgName ); 569 txtSuffix = new QLineEdit( dlgName );
567 gl->addWidget( txtSuffix, 3, 1 ); 570 gl->addWidget( txtSuffix, 3, 1 );
568 space = new QSpacerItem(1,1, 571 space = new QSpacerItem(1,1,
569 QSizePolicy::Maximum, 572 QSizePolicy::Maximum,
570 QSizePolicy::MinimumExpanding ); 573 QSizePolicy::MinimumExpanding );
571 gl->addItem( space, 4, 0 ); 574 gl->addItem( space, 4, 0 );
572 575
573 cmbChooserField1->insertStringList( trlChooserNames ); 576 cmbChooserField1->insertStringList( trlChooserNames );
574 cmbChooserField2->insertStringList( trlChooserNames ); 577 cmbChooserField2->insertStringList( trlChooserNames );
575 cmbChooserField3->insertStringList( trlChooserNames ); 578 cmbChooserField3->insertStringList( trlChooserNames );
576 cmbChooserField4->insertStringList( trlChooserNames ); 579 cmbChooserField4->insertStringList( trlChooserNames );
577 580
578 cmbChooserField1->setCurrentItem( 0 ); 581 cmbChooserField1->setCurrentItem( 0 );
579 cmbChooserField2->setCurrentItem( 1 ); 582 cmbChooserField2->setCurrentItem( 1 );
580 cmbChooserField3->setCurrentItem( 2 ); 583 cmbChooserField3->setCurrentItem( 2 );
581 584
582 connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) ); 585 connect( btnFullName, SIGNAL(clicked()), this, SLOT(slotName()) );
583 586
584 connect( txtFullName, SIGNAL(textChanged(const QString &)), this, SLOT(slotFullNameChange(const QString &)) ); 587 connect( txtFullName, SIGNAL(textChanged(const QString &)), this, SLOT(slotFullNameChange(const QString &)) );
585 588
586 connect( txtChooserField1, SIGNAL(textChanged(const QString &)), 589 connect( txtChooserField1, SIGNAL(textChanged(const QString &)),
587 this, SLOT(slotChooser1Change(const QString &)) ); 590 this, SLOT(slotChooser1Change(const QString &)) );
588 connect( txtChooserField2, SIGNAL(textChanged(const QString &)), 591 connect( txtChooserField2, SIGNAL(textChanged(const QString &)),
589 this, SLOT(slotChooser2Change(const QString &)) ); 592 this, SLOT(slotChooser2Change(const QString &)) );
590 connect( txtChooserField3, SIGNAL(textChanged(const QString &)), 593 connect( txtChooserField3, SIGNAL(textChanged(const QString &)),
591 this, SLOT(slotChooser3Change(const QString &)) ); 594 this, SLOT(slotChooser3Change(const QString &)) );
592 connect( txtChooserField4, SIGNAL(textChanged(const QString &)), 595 connect( txtChooserField4, SIGNAL(textChanged(const QString &)),
593 this, SLOT(slotChooser4Change(const QString &)) ); 596 this, SLOT(slotChooser4Change(const QString &)) );
594 connect( txtAddress, SIGNAL(textChanged(const QString &)), 597 connect( txtAddress, SIGNAL(textChanged(const QString &)),
595 this, SLOT(slotAddressChange(const QString &)) ); 598 this, SLOT(slotAddressChange(const QString &)) );
596 //connect( txtAddress2, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddress2Change(const QString &)) ); 599 //connect( txtAddress2, SIGNAL(textChanged(const QString &)), this, SLOT(slotAddress2Change(const QString &)) );
597 //connect( txtPOBox, SIGNAL(textChanged(const QString &)), this, SLOT(slotPOBoxChange(const QString &)) ); 600 //connect( txtPOBox, SIGNAL(textChanged(const QString &)), this, SLOT(slotPOBoxChange(const QString &)) );
598 connect( txtCity, SIGNAL(textChanged(const QString &)), 601 connect( txtCity, SIGNAL(textChanged(const QString &)),
599 this, SLOT(slotCityChange(const QString &)) ); 602 this, SLOT(slotCityChange(const QString &)) );
600 connect( txtState, SIGNAL(textChanged(const QString &)), 603 connect( txtState, SIGNAL(textChanged(const QString &)),
601 this, SLOT(slotStateChange(const QString &)) ); 604 this, SLOT(slotStateChange(const QString &)) );
602 connect( txtZip, SIGNAL(textChanged(const QString &)), 605 connect( txtZip, SIGNAL(textChanged(const QString &)),
603 this, SLOT(slotZipChange(const QString &)) ); 606 this, SLOT(slotZipChange(const QString &)) );
604 connect( cmbCountry, SIGNAL(textChanged(const QString &)), 607 connect( cmbCountry, SIGNAL(textChanged(const QString &)),
605 this, SLOT(slotCountryChange(const QString &)) ); 608 this, SLOT(slotCountryChange(const QString &)) );
606 connect( cmbCountry, SIGNAL(activated(const QString &)), 609 connect( cmbCountry, SIGNAL(activated(const QString &)),
607 this, SLOT(slotCountryChange(const QString &)) ); 610 this, SLOT(slotCountryChange(const QString &)) );
608 connect( cmbChooserField1, SIGNAL(activated(int)), 611 connect( cmbChooserField1, SIGNAL(activated(int)),
609 this, SLOT(slotCmbChooser1Change(int)) ); 612 this, SLOT(slotCmbChooser1Change(int)) );
610 connect( cmbChooserField2, SIGNAL(activated(int)), 613 connect( cmbChooserField2, SIGNAL(activated(int)),
611 this, SLOT(slotCmbChooser2Change(int)) ); 614 this, SLOT(slotCmbChooser2Change(int)) );
612 connect( cmbChooserField3, SIGNAL(activated(int)), 615 connect( cmbChooserField3, SIGNAL(activated(int)),
613 this, SLOT(slotCmbChooser3Change(int)) ); 616 this, SLOT(slotCmbChooser3Change(int)) );
614 connect( cmbChooserField4, SIGNAL(activated(int)), 617 connect( cmbChooserField4, SIGNAL(activated(int)),
615 this, SLOT(slotCmbChooser4Change(int)) ); 618 this, SLOT(slotCmbChooser4Change(int)) );
616 connect( cmbAddress, SIGNAL(activated(int)), 619 connect( cmbAddress, SIGNAL(activated(int)),
617 this, SLOT(slotAddressTypeChange(int)) ); 620 this, SLOT(slotAddressTypeChange(int)) );
618 621
619 new QPEDialogListener(this); 622 new QPEDialogListener(this);
620 623
621 setPersonalView ( m_personalView ); 624 setPersonalView ( m_personalView );
622} 625}
623 626
624void ContactEditor::defaultEmailChanged(int i){ 627void ContactEditor::defaultEmailChanged(int i){
625 qDebug("defaultEmailChanged"); 628 qDebug("defaultEmailChanged");
626 int index = cmbChooserField1->currentItem(); 629 int index = cmbChooserField1->currentItem();
627 slChooserValues[index] = cmbDefaultEmail->text(i); 630 slChooserValues[index] = cmbDefaultEmail->text(i);
628 631
629} 632}
630 633
631void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid ) { 634void ContactEditor::chooserChange( const QString &textChanged, int index, QLineEdit *inputWid ) {
632 635
633 if (slChooserNames[index] == "Default Email"){ 636 if (slChooserNames[index] == "Default Email"){
634 delete cmbDefaultEmail; 637 if (cmbDefaultEmail) delete cmbDefaultEmail;
635 cmbDefaultEmail = new QComboBox(inputWid->parentWidget()); 638 cmbDefaultEmail = new QComboBox(inputWid->parentWidget());
636 cmbDefaultEmail->setGeometry(inputWid->frameGeometry()); 639 cmbDefaultEmail->setGeometry(inputWid->frameGeometry());
637 cmbDefaultEmail->insertStringList(ent.emailList()); 640 cmbDefaultEmail->insertStringList(ent.emailList());
638 connect(cmbDefaultEmail,SIGNAL(activated(int)), 641 connect(cmbDefaultEmail,SIGNAL(activated(int)),
639 SLOT(defaultEmailChanged(int))); 642 SLOT(defaultEmailChanged(int)));
640 QString demail = ent.defaultEmail(); 643 QString demail = ent.defaultEmail();
641 for ( int i = 0; i < cmbDefaultEmail->count(); i++) 644 for ( int i = 0; i < cmbDefaultEmail->count(); i++)
642 if ( cmbDefaultEmail->text( i ) == demail ) 645 if ( cmbDefaultEmail->text( i ) == demail )
643 cmbDefaultEmail->setCurrentItem( i ); 646 cmbDefaultEmail->setCurrentItem( i );
644 647
645 cmbDefaultEmail->show(); 648 cmbDefaultEmail->show();
646 } 649 }
647 650
648 651
649 slChooserValues[index] = textChanged; 652 slChooserValues[index] = textChanged;
650 653
651} 654}
652 655
653void ContactEditor::slotChooser1Change( const QString &textChanged ) { 656void ContactEditor::slotChooser1Change( const QString &textChanged ) {
654 chooserChange( textChanged, cmbChooserField1->currentItem(), txtChooserField1); 657 chooserChange( textChanged, cmbChooserField1->currentItem(), txtChooserField1);
655} 658}
656 659
657void ContactEditor::slotChooser2Change( const QString &textChanged ) { 660void ContactEditor::slotChooser2Change( const QString &textChanged ) {
658 chooserChange( textChanged, cmbChooserField2->currentItem(), txtChooserField2); 661 chooserChange( textChanged, cmbChooserField2->currentItem(), txtChooserField2);
659 662
660} 663}
661 664
662void ContactEditor::slotChooser3Change( const QString &textChanged ) { 665void ContactEditor::slotChooser3Change( const QString &textChanged ) {
663 chooserChange( textChanged, cmbChooserField3->currentItem(), txtChooserField3); 666 chooserChange( textChanged, cmbChooserField3->currentItem(), txtChooserField3);
664} 667}
665 668
666void ContactEditor::slotChooser4Change( const QString &textChanged ) { 669void ContactEditor::slotChooser4Change( const QString &textChanged ) {
667 chooserChange( textChanged, cmbChooserField4->currentItem(), txtChooserField4); 670 chooserChange( textChanged, cmbChooserField4->currentItem(), txtChooserField4);
668} 671}
669 672
670void ContactEditor::slotAddressChange( const QString &textChanged ) { 673void ContactEditor::slotAddressChange( const QString &textChanged ) {
671 674
672 if ( cmbAddress->currentItem() == 0 ) { 675 if ( cmbAddress->currentItem() == 0 ) {
673 slBusinessAddress[0] = textChanged; 676 slBusinessAddress[0] = textChanged;
674 } else { 677 } else {
675 slHomeAddress[0] = textChanged; 678 slHomeAddress[0] = textChanged;
676 } 679 }
677} 680}
678 681
679void ContactEditor::slotAddress2Change( const QString &textChanged ) { 682void ContactEditor::slotAddress2Change( const QString &textChanged ) {
680 683
681 if ( cmbAddress->currentItem() == 0 ) { 684 if ( cmbAddress->currentItem() == 0 ) {
682 slBusinessAddress[1] = textChanged; 685 slBusinessAddress[1] = textChanged;
683 } else { 686 } else {
684 slHomeAddress[1] = textChanged; 687 slHomeAddress[1] = textChanged;
685 } 688 }
686} 689}
687 690
688void ContactEditor::slotPOBoxChange( const QString &textChanged ) { 691void ContactEditor::slotPOBoxChange( const QString &textChanged ) {
689 692
690 if ( cmbAddress->currentItem() == 0 ) { 693 if ( cmbAddress->currentItem() == 0 ) {
691 slBusinessAddress[2] = textChanged; 694 slBusinessAddress[2] = textChanged;
692 } else { 695 } else {
693 slHomeAddress[2] = textChanged; 696 slHomeAddress[2] = textChanged;
694 } 697 }
695} 698}
696 699
697void ContactEditor::slotCityChange( const QString &textChanged ) { 700void ContactEditor::slotCityChange( const QString &textChanged ) {
698 701
699 if ( cmbAddress->currentItem() == 0 ) { 702 if ( cmbAddress->currentItem() == 0 ) {
700 slBusinessAddress[3] = textChanged; 703 slBusinessAddress[3] = textChanged;
701 } else { 704 } else {
702 slHomeAddress[3] = textChanged; 705 slHomeAddress[3] = textChanged;
703 } 706 }
704} 707}
705 708
706void ContactEditor::slotStateChange( const QString &textChanged ) { 709void ContactEditor::slotStateChange( const QString &textChanged ) {
707 710
708 711
709 if ( cmbAddress->currentItem() == 0 ) { 712 if ( cmbAddress->currentItem() == 0 ) {
710 slBusinessAddress[4] = textChanged; 713 slBusinessAddress[4] = textChanged;
711 } else { 714 } else {
712 slHomeAddress[4] = textChanged; 715 slHomeAddress[4] = textChanged;
713 } 716 }
714} 717}
715 718
716void ContactEditor::slotZipChange( const QString &textChanged ) { 719void ContactEditor::slotZipChange( const QString &textChanged ) {
717 720
718 if ( cmbAddress->currentItem() == 0 ) { 721 if ( cmbAddress->currentItem() == 0 ) {
719 slBusinessAddress[5] = textChanged; 722 slBusinessAddress[5] = textChanged;
720 } else { 723 } else {
721 slHomeAddress[5] = textChanged; 724 slHomeAddress[5] = textChanged;
722 } 725 }
723} 726}
724 727
725void ContactEditor::slotCountryChange( const QString &textChanged ) { 728void ContactEditor::slotCountryChange( const QString &textChanged ) {
726 729
727 if ( cmbAddress->currentItem() == 0 ) { 730 if ( cmbAddress->currentItem() == 0 ) {
728 slBusinessAddress[6] = textChanged; 731 slBusinessAddress[6] = textChanged;
729 } else { 732 } else {
730 slHomeAddress[6] = textChanged; 733 slHomeAddress[6] = textChanged;
731 } 734 }
732} 735}
733 736
734void ContactEditor::slotCmbChooser1Change( int index ) { 737void ContactEditor::slotCmbChooser1Change( int index ) {
735 738
736 txtChooserField1->setText( slChooserValues[index] ); 739 txtChooserField1->setText( slChooserValues[index] );
737 txtChooserField1->setFocus(); 740 txtChooserField1->setFocus();
738} 741}
739 742
740void ContactEditor::slotCmbChooser2Change( int index ) { 743void ContactEditor::slotCmbChooser2Change( int index ) {
741 744
742 txtChooserField2->setText( slChooserValues[index] ); 745 txtChooserField2->setText( slChooserValues[index] );
743 txtChooserField2->setFocus(); 746 txtChooserField2->setFocus();
744} 747}
745 748
746void ContactEditor::slotCmbChooser3Change( int index ) { 749void ContactEditor::slotCmbChooser3Change( int index ) {
747 750
748 txtChooserField3->setText( slChooserValues[index] ); 751 txtChooserField3->setText( slChooserValues[index] );
749 txtChooserField3->setFocus(); 752 txtChooserField3->setFocus();
750 753
751} 754}
752 755
753void ContactEditor::slotCmbChooser4Change( int index ) { 756void ContactEditor::slotCmbChooser4Change( int index ) {
754 757
755 txtChooserField4->setText( slChooserValues[index] ); 758 txtChooserField4->setText( slChooserValues[index] );
756 txtChooserField4->setFocus(); 759 txtChooserField4->setFocus();
757 760
758} 761}
759 762
760void ContactEditor::slotAddressTypeChange( int index ) { 763void ContactEditor::slotAddressTypeChange( int index ) {
761 764
762 if ( index == 0 ) { 765 if ( index == 0 ) {
763 766
764 txtAddress->setText( slBusinessAddress[0] ); 767 txtAddress->setText( slBusinessAddress[0] );
765 //txtAddress2->setText( (*slBusinessAddress)[1] ); 768 //txtAddress2->setText( (*slBusinessAddress)[1] );
766 //txtPOBox->setText( (*slBusinessAddress)[2] ); 769 //txtPOBox->setText( (*slBusinessAddress)[2] );
767 txtCity->setText( slBusinessAddress[3] ); 770 txtCity->setText( slBusinessAddress[3] );
768 txtState->setText( slBusinessAddress[4] ); 771 txtState->setText( slBusinessAddress[4] );
769 txtZip->setText( slBusinessAddress[5] ); 772 txtZip->setText( slBusinessAddress[5] );
770 QLineEdit *txtTmp = cmbCountry->lineEdit(); 773 QLineEdit *txtTmp = cmbCountry->lineEdit();
771 txtTmp->setText( slBusinessAddress[6] ); 774 txtTmp->setText( slBusinessAddress[6] );
772 775
773 } else { 776 } else {
774 777
775 txtAddress->setText( slHomeAddress[0] ); 778 txtAddress->setText( slHomeAddress[0] );
776 //txtAddress2->setText( (*slHomeAddress)[1] ); 779 //txtAddress2->setText( (*slHomeAddress)[1] );
777 //txtPOBox->setText( (*slHomeAddress)[2] ); 780 //txtPOBox->setText( (*slHomeAddress)[2] );
778 txtCity->setText( slHomeAddress[3] ); 781 txtCity->setText( slHomeAddress[3] );
779 txtState->setText( slHomeAddress[4] ); 782 txtState->setText( slHomeAddress[4] );
780 txtZip->setText( slHomeAddress[5] ); 783 txtZip->setText( slHomeAddress[5] );
781 QLineEdit *txtTmp = cmbCountry->lineEdit(); 784 QLineEdit *txtTmp = cmbCountry->lineEdit();
782 txtTmp->setText( slHomeAddress[6] ); 785 txtTmp->setText( slHomeAddress[6] );
783 786
784 } 787 }
785 788
786} 789}
787 790
788void ContactEditor::slotFullNameChange( const QString &textChanged ) { 791void ContactEditor::slotFullNameChange( const QString &textChanged ) {
789 792
790 int index = cmbFileAs->currentItem(); 793 int index = cmbFileAs->currentItem();
791 794
792 cmbFileAs->clear(); 795 cmbFileAs->clear();
793 796
794 cmbFileAs->insertItem( parseName( textChanged, 0 ) ); 797 cmbFileAs->insertItem( parseName( textChanged, 0 ) );
795 cmbFileAs->insertItem( parseName( textChanged, 1 ) ); 798 cmbFileAs->insertItem( parseName( textChanged, 1 ) );
796 cmbFileAs->insertItem( parseName( textChanged, 2 ) ); 799 cmbFileAs->insertItem( parseName( textChanged, 2 ) );
797 cmbFileAs->insertItem( parseName( textChanged, 3 ) ); 800 cmbFileAs->insertItem( parseName( textChanged, 3 ) );
798 801
799 cmbFileAs->setCurrentItem( index ); 802 cmbFileAs->setCurrentItem( index );
800 803
801 useFullName = true; 804 useFullName = true;
802 805
803} 806}
804 807
805void ContactEditor::accept() { 808void ContactEditor::accept() {
806 809
807 if ( isEmpty() ) { 810 if ( isEmpty() ) {
808 cleanupFields(); 811 cleanupFields();
809 reject(); 812 reject();
810 } else { 813 } else {
811 saveEntry(); 814 saveEntry();
812 cleanupFields(); 815 cleanupFields();
813 QDialog::accept(); 816 QDialog::accept();
814 } 817 }
815 818
816} 819}
817 820
818void ContactEditor::slotNote() { 821void ContactEditor::slotNote() {
819 822
820 dlgNote->showMaximized(); 823 dlgNote->showMaximized();
821 if ( !dlgNote->exec() ) { 824 if ( !dlgNote->exec() ) {
822 txtNote->setText( ent.notes() ); 825 txtNote->setText( ent.notes() );
823 } 826 }
824} 827}
825 828
826void ContactEditor::slotName() { 829void ContactEditor::slotName() {
827 830
828 QString tmpName; 831 QString tmpName;
829 if (useFullName) { 832 if (useFullName) {
830 txtFirstName->setText( parseName(txtFullName->text(), NAME_F) ); 833 txtFirstName->setText( parseName(txtFullName->text(), NAME_F) );
831 txtMiddleName->setText( parseName(txtFullName->text(), NAME_M) ); 834 txtMiddleName->setText( parseName(txtFullName->text(), NAME_M) );
832 txtLastName->setText( parseName(txtFullName->text(), NAME_L) ); 835 txtLastName->setText( parseName(txtFullName->text(), NAME_L) );
833 txtSuffix->setText( parseName(txtFullName->text(), NAME_S) ); 836 txtSuffix->setText( parseName(txtFullName->text(), NAME_S) );
834 } 837 }
835 dlgName->showMaximized(); 838 dlgName->showMaximized();
836 if ( dlgName->exec() ) { 839 if ( dlgName->exec() ) {
837 840
838 tmpName = txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text() + " " + txtSuffix->text(); 841 tmpName = txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text() + " " + txtSuffix->text();
839 txtFullName->setText( tmpName.simplifyWhiteSpace() ); 842 txtFullName->setText( tmpName.simplifyWhiteSpace() );
840 slotFullNameChange( txtFullName->text() ); 843 slotFullNameChange( txtFullName->text() );
841 useFullName = false; 844 useFullName = false;
842 } 845 }
843 846
844} 847}
845 848
846void ContactEditor::setNameFocus() { 849void ContactEditor::setNameFocus() {
847 850
848 txtFullName->setFocus(); 851 txtFullName->setFocus();
849 852
850} 853}
851 854
852bool ContactEditor::isEmpty() { 855bool ContactEditor::isEmpty() {
853 // Test and see if the record should be saved. 856 // Test and see if the record should be saved.
854 // More strict than the original qtopia, needs name or fileas to save 857 // More strict than the original qtopia, needs name or fileas to save
855 858
856 QString t = txtFullName->text(); 859 QString t = txtFullName->text();
857 if ( !t.isEmpty() && containsAlphaNum( t ) ) 860 if ( !t.isEmpty() && containsAlphaNum( t ) )
858 return false; 861 return false;
859 862
860 t = cmbFileAs->currentText(); 863 t = cmbFileAs->currentText();
861 if ( !t.isEmpty() && containsAlphaNum( t ) ) 864 if ( !t.isEmpty() && containsAlphaNum( t ) )
862 return false; 865 return false;
863 866
864 return true; 867 return true;
865 868
866} 869}
867 870
868QString ContactEditor::parseName( const QString fullName, int type ) { 871QString ContactEditor::parseName( const QString fullName, int type ) {
869 872
870 QString simplifiedName( fullName.simplifyWhiteSpace() ); 873 QString simplifiedName( fullName.simplifyWhiteSpace() );
871 QString strFirstName; 874 QString strFirstName;
872 QString strMiddleName; 875 QString strMiddleName;
873 QString strLastName; 876 QString strLastName;
874 QString strSuffix; 877 QString strSuffix;
875 QString strTitle; 878 QString strTitle;
876 int commapos; 879 int commapos;
877 int spCount; 880 int spCount;
878 int spPos; 881 int spPos;
879 int spPos2; 882 int spPos2;
880 883
881 884
882 commapos = simplifiedName.find( ',', 0, TRUE); 885 commapos = simplifiedName.find( ',', 0, TRUE);
883 spCount = simplifiedName.contains( ' ', TRUE ); 886 spCount = simplifiedName.contains( ' ', TRUE );
884 887
885 if ( commapos == -1 ) { 888 if ( commapos == -1 ) {
886 889
887 switch (spCount) { 890 switch (spCount) {
888 case 0: 891 case 0:
889 //return simplifiedName; 892 //return simplifiedName;
890 if (txtLastName->text() != "") { 893 if (txtLastName->text() != "") {