summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/addresseeeditorwidget.cpp32
-rw-r--r--kaddressbook/addresseeeditorwidget.h2
2 files changed, 28 insertions, 6 deletions
diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp
index 29abd6f..310d628 100644
--- a/kaddressbook/addresseeeditorwidget.cpp
+++ b/kaddressbook/addresseeeditorwidget.cpp
@@ -95,329 +95,349 @@ AddresseeEditorWidget::AddresseeEditorWidget( KABCore *core, bool isExtension,
95 95
96 // Load the empty addressee as defaults 96 // Load the empty addressee as defaults
97 load(); 97 load();
98 98
99 mDirty = false; 99 mDirty = false;
100} 100}
101 101
102AddresseeEditorWidget::~AddresseeEditorWidget() 102AddresseeEditorWidget::~AddresseeEditorWidget()
103{ 103{
104 kdDebug(5720) << "~AddresseeEditorWidget()" << endl; 104 kdDebug(5720) << "~AddresseeEditorWidget()" << endl;
105} 105}
106 106
107void AddresseeEditorWidget::contactsSelectionChanged() 107void AddresseeEditorWidget::contactsSelectionChanged()
108{ 108{
109 KABC::Addressee::List list = selectedContacts(); 109 KABC::Addressee::List list = selectedContacts();
110 110
111 mAddressee = list[ 0 ]; 111 mAddressee = list[ 0 ];
112 load(); 112 load();
113} 113}
114 114
115void AddresseeEditorWidget::setAddressee( const KABC::Addressee &addr ) 115void AddresseeEditorWidget::setAddressee( const KABC::Addressee &addr )
116{ 116{
117 mAddressee = addr; 117 mAddressee = addr;
118 load(); 118 load();
119} 119}
120 120
121const KABC::Addressee &AddresseeEditorWidget::addressee() 121const KABC::Addressee &AddresseeEditorWidget::addressee()
122{ 122{
123 return mAddressee; 123 return mAddressee;
124} 124}
125 125
126void AddresseeEditorWidget::textChanged( const QString& ) 126void AddresseeEditorWidget::textChanged( const QString& )
127{ 127{
128 emitModified(); 128 emitModified();
129} 129}
130 130
131void AddresseeEditorWidget::initGUI() 131void AddresseeEditorWidget::initGUI()
132{ 132{
133 QVBoxLayout *layout = new QVBoxLayout( this ); 133 QVBoxLayout *layout = new QVBoxLayout( this );
134 134
135 mTabWidget = new QTabWidget( this ); 135 mTabWidget = new QTabWidget( this );
136 layout->addWidget( mTabWidget ); 136 layout->addWidget( mTabWidget );
137 137
138 setupTab1(); 138 setupTab1();
139 setupTab1_1(); 139 setupTab1_1();
140 setupTab2(); 140 setupTab2();
141 setupTab2_1(); 141 setupTab2_1();
142 setupTab3(); 142 setupTab3();
143 setupTab3_1(); 143 setupTab3_1();
144 144
145 mNameEdit->setFocus(); 145 mNameEdit->setFocus();
146 146
147 connect( mTabWidget, SIGNAL( currentChanged(QWidget*) ), 147 connect( mTabWidget, SIGNAL( currentChanged(QWidget*) ),
148 SLOT( pageChanged(QWidget*) ) ); 148 SLOT( pageChanged(QWidget*) ) );
149} 149}
150 150
151void AddresseeEditorWidget::setupTab1() 151void AddresseeEditorWidget::setupTab1()
152{ 152{
153 // This is the General tab 153 // This is the General tab
154 QWidget *tab1 = new QWidget( mTabWidget ); 154 QWidget *tab1 = new QWidget( mTabWidget );
155 155
156//US QGridLayout *layout = new QGridLayout( tab1, 11, 7 ); 156//US QGridLayout *layout = new QGridLayout( tab1, 11, 7 );
157 QGridLayout *layout = new QGridLayout( tab1, 7, 1 ); 157 QGridLayout *layout = new QGridLayout( tab1, 7, 1 );
158 layout->setMargin( KDialogBase::marginHintSmall() ); 158 layout->setMargin( KDialogBase::marginHintSmall() );
159 layout->setSpacing( KDialogBase::spacingHintSmall() ); 159 layout->setSpacing( KDialogBase::spacingHintSmall() );
160 160
161 QLabel *label; 161 QLabel *label;
162 KSeparator* bar; 162 KSeparator* bar;
163 QPushButton *button; 163 QPushButton *button;
164 164
165 ////////////////////////////////// 165 //////////////////////////////////
166 // Upper left group (person info) 166 // Upper left group (person info)
167 167
168 // Person icon 168 // Person icon
169 /* LR 169 /* LR
170 label = new QLabel( tab1 ); 170 label = new QLabel( tab1 );
171//US ambiguous call. Add one more parameter 171//US ambiguous call. Add one more parameter
172//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); 172//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) );
173 label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); 173 label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) );
174 layout->addMultiCellWidget( label, 0, 1, 0, 0 ); 174 layout->addMultiCellWidget( label, 0, 1, 0, 0 );
175 */ 175 */
176 // First name 176 // First name
177 button = new QPushButton( i18n( "Name..." ), tab1 ); 177 button = new QPushButton( i18n( "Name..." ), tab1 );
178//US QToolTip::add( button, i18n( "Edit the contact's name" ) ); 178//US QToolTip::add( button, i18n( "Edit the contact's name" ) );
179 mNameEdit = new KLineEdit( tab1, "mNameEdit" ); 179 mNameEdit = new KLineEdit( tab1, "mNameEdit" );
180 connect( mNameEdit, SIGNAL( textChanged( const QString& ) ), 180 connect( mNameEdit, SIGNAL( textChanged( const QString& ) ),
181 SLOT( nameTextChanged( const QString& ) ) ); 181 SLOT( nameTextChanged( const QString& ) ) );
182 connect( button, SIGNAL( clicked() ), SLOT( nameButtonClicked() ) ); 182 connect( button, SIGNAL( clicked() ), SLOT( nameButtonClicked() ) );
183 183
184 mNameLabel = new KSqueezedTextLabel( tab1 ); 184 mNameLabel = new KSqueezedTextLabel( tab1 );
185 mNameLabel->hide(); 185 mNameLabel->hide();
186 186
187 layout->addWidget( button, 0, 0 ); 187 layout->addWidget( button, 0, 0 );
188 layout->addWidget( mNameEdit, 0, 1 ); 188 layout->addWidget( mNameEdit, 0, 1 );
189 layout->addWidget( mNameLabel, 0, 1 ); 189 layout->addWidget( mNameLabel, 0, 1 );
190 190
191 label = new QLabel( i18n( "Role:" ), tab1 ); 191 button = new QPushButton( i18n( "Role:" ), tab1 );
192 connect( button, SIGNAL( clicked() ), SLOT( setRole2FN() ) );
193 //label = new QLabel( i18n( "Role:" ), tab1 );
192 mRoleEdit = new KLineEdit( tab1 ); 194 mRoleEdit = new KLineEdit( tab1 );
193 connect( mRoleEdit, SIGNAL( textChanged( const QString& ) ), 195 connect( mRoleEdit, SIGNAL( textChanged( const QString& ) ),
194 SLOT( textChanged( const QString& ) ) ); 196 SLOT( textChanged( const QString& ) ) );
195 label->setBuddy( mRoleEdit ); 197 //label->setBuddy( mRoleEdit );
196 layout->addWidget( label, 1, 0 ); 198 layout->addWidget( button, 1, 0 );
197 layout->addWidget( mRoleEdit, 1, 1 ); 199 layout->addWidget( mRoleEdit, 1, 1 );
198 200
199 // Organization 201 // Organization
200 label = new QLabel( i18n( "Organization:" ), tab1 ); 202 button = new QPushButton( i18n( "Organization:" ), tab1 );
203 connect( button, SIGNAL( clicked() ), SLOT( setCompany2FN() ) );
204 //label = new QLabel( i18n( "Organization:" ), tab1 );
201 mOrgEdit = new KLineEdit( tab1 ); 205 mOrgEdit = new KLineEdit( tab1 );
202 label->setBuddy( mOrgEdit ); 206 //label->setBuddy( mOrgEdit );
203 connect( mOrgEdit, SIGNAL( textChanged( const QString& ) ), 207 connect( mOrgEdit, SIGNAL( textChanged( const QString& ) ),
204 SLOT( textChanged( const QString& ) ) ); 208 SLOT( textChanged( const QString& ) ) );
205 layout->addWidget( label, 2, 0 ); 209 layout->addWidget( button, 2, 0 );
206 layout->addWidget( mOrgEdit, 2, 1 ); 210 layout->addWidget( mOrgEdit, 2, 1 );
207 211
208 // File as (formatted name) 212 // File as (formatted name)
209 label = new QLabel( i18n( "Formatted name:" ), tab1 ); 213 label = new QLabel( i18n( "Formatted name:" ), tab1 );
210 mFormattedNameLabel = new KSqueezedTextLabel( tab1 ); 214 mFormattedNameLabel = new KSqueezedTextLabel( tab1 );
211 layout->addWidget( label, 3, 0 ); 215 layout->addWidget( label, 3, 0 );
212 layout->addWidget( mFormattedNameLabel, 3, 1 ); 216 layout->addWidget( mFormattedNameLabel, 3, 1 );
213 /* LR 217 /* LR
214 // Left hand separator. This separator doesn't go all the way 218 // Left hand separator. This separator doesn't go all the way
215 // across so the dialog still flows from top to bottom 219 // across so the dialog still flows from top to bottom
216 bar = new KSeparator( KSeparator::HLine, tab1 ); 220 bar = new KSeparator( KSeparator::HLine, tab1 );
217 layout->addMultiCellWidget( bar, 4, 4, 0, 2 ); 221 layout->addMultiCellWidget( bar, 4, 4, 0, 2 );
218 */ 222 */
219 ////////////////////////////////////// 223 //////////////////////////////////////
220 224
221 /* LR 225 /* LR
222 // Phone numbers (upper right) 226 // Phone numbers (upper right)
223 label = new QLabel( tab1 ); 227 label = new QLabel( tab1 );
224//US loadIcon call is ambiguous. Add one more parameter 228//US loadIcon call is ambiguous. Add one more parameter
225//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) ); 229//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) );
226 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) ); 230 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
227//US layout->addMultiCellWidget( label, 0, 1, 3, 3 ); 231//US layout->addMultiCellWidget( label, 0, 1, 3, 3 );
228 layout->addMultiCellWidget( label, 5, 6, 0, 0 ); 232 layout->addMultiCellWidget( label, 5, 6, 0, 0 );
229 */ 233 */
230 mPhoneEditWidget = new PhoneEditWidget( tab1 ); 234 mPhoneEditWidget = new PhoneEditWidget( tab1 );
231 connect( mPhoneEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) ); 235 connect( mPhoneEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) );
232//US layout->addMultiCellWidget( mPhoneEditWidget, 0, 3, 4, 6 ); 236//US layout->addMultiCellWidget( mPhoneEditWidget, 0, 3, 4, 6 );
233 int iii; 237 int iii;
234#ifndef DESKTOP_VERSION 238#ifndef DESKTOP_VERSION
235 iii = 7; 239 iii = 7;
236#else 240#else
237 iii = 8; 241 iii = 8;
238#endif 242#endif
239 layout->addMultiCellWidget( mPhoneEditWidget, 4, iii, 0, 1 ); 243 layout->addMultiCellWidget( mPhoneEditWidget, 4, iii, 0, 1 );
240 ++iii; 244 ++iii;
241 /* LR 245 /* LR
242 bar = new KSeparator( KSeparator::HLine, tab1 ); 246 bar = new KSeparator( KSeparator::HLine, tab1 );
243//US layout->addMultiCellWidget( bar, 4, 4, 3, 6 ); 247//US layout->addMultiCellWidget( bar, 4, 4, 3, 6 );
244 layout->addMultiCellWidget( bar, 9, 9, 0, 2 ); 248 layout->addMultiCellWidget( bar, 9, 9, 0, 2 );
245 */ 249 */
246/*US 250/*US
247 ////////////////////////////////////// 251 //////////////////////////////////////
248 // Addresses (lower left) 252 // Addresses (lower left)
249 label = new QLabel( tab1 ); 253 label = new QLabel( tab1 );
250//US loadIcon call is ambiguous. Add one more parameter 254//US loadIcon call is ambiguous. Add one more parameter
251//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "gohome", KIcon::Desktop ) ); 255//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "gohome", KIcon::Desktop ) );
252 label->setPixmap( KGlobal::iconLoader()->loadIcon( "gohome", KIcon::Desktop, 0 ) ); 256 label->setPixmap( KGlobal::iconLoader()->loadIcon( "gohome", KIcon::Desktop, 0 ) );
253 layout->addMultiCellWidget( label, 5, 6, 0, 0 ); 257 layout->addMultiCellWidget( label, 5, 6, 0, 0 );
254 258
255 mAddressEditWidget = new AddressEditWidget( tab1 ); 259 mAddressEditWidget = new AddressEditWidget( tab1 );
256 connect( mAddressEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) ); 260 connect( mAddressEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) );
257 layout->addMultiCellWidget( mAddressEditWidget, 5, 9, 1, 2 ); 261 layout->addMultiCellWidget( mAddressEditWidget, 5, 9, 1, 2 );
258 262
259 ////////////////////////////////////// 263 //////////////////////////////////////
260 // Email / Web (lower right) 264 // Email / Web (lower right)
261 label = new QLabel( tab1 ); 265 label = new QLabel( tab1 );
262//US loadIcon call is ambiguous. Add one more parameter 266//US loadIcon call is ambiguous. Add one more parameter
263//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "email", KIcon::Desktop) ); 267//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "email", KIcon::Desktop) );
264 label->setPixmap( KGlobal::iconLoader()->loadIcon( "email", KIcon::Desktop, 0) ); 268 label->setPixmap( KGlobal::iconLoader()->loadIcon( "email", KIcon::Desktop, 0) );
265 layout->addMultiCellWidget( label, 5, 6, 3, 3 ); 269 layout->addMultiCellWidget( label, 5, 6, 3, 3 );
266 270
267 mEmailWidget = new EmailEditWidget( tab1 ); 271 mEmailWidget = new EmailEditWidget( tab1 );
268 connect( mEmailWidget, SIGNAL( modified() ), SLOT( emitModified() ) ); 272 connect( mEmailWidget, SIGNAL( modified() ), SLOT( emitModified() ) );
269 layout->addMultiCellWidget( mEmailWidget, 5, 6, 4, 6 ); 273 layout->addMultiCellWidget( mEmailWidget, 5, 6, 4, 6 );
270 274
271 // add the separator 275 // add the separator
272 bar = new KSeparator( KSeparator::HLine, tab1 ); 276 bar = new KSeparator( KSeparator::HLine, tab1 );
273 layout->addMultiCellWidget( bar, 7, 7, 3, 6 ); 277 layout->addMultiCellWidget( bar, 7, 7, 3, 6 );
274 278
275 label = new QLabel( tab1 ); 279 label = new QLabel( tab1 );
276//US loadIcon call is ambiguous. Add one more parameter 280//US loadIcon call is ambiguous. Add one more parameter
277//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "homepage", KIcon::Desktop) ); 281//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "homepage", KIcon::Desktop) );
278 label->setPixmap( KGlobal::iconLoader()->loadIcon( "homepage", KIcon::Desktop, 0) ); 282 label->setPixmap( KGlobal::iconLoader()->loadIcon( "homepage", KIcon::Desktop, 0) );
279 layout->addMultiCellWidget( label, 8, 9, 3, 3 ); 283 layout->addMultiCellWidget( label, 8, 9, 3, 3 );
280 284
281 label = new QLabel( i18n( "URL:" ), tab1 ); 285 label = new QLabel( i18n( "URL:" ), tab1 );
282 mURLEdit = new KLineEdit( tab1 ); 286 mURLEdit = new KLineEdit( tab1 );
283 connect( mURLEdit, SIGNAL( textChanged( const QString& ) ), 287 connect( mURLEdit, SIGNAL( textChanged( const QString& ) ),
284 SLOT( textChanged( const QString& ) ) ); 288 SLOT( textChanged( const QString& ) ) );
285 label->setBuddy( mURLEdit ); 289 label->setBuddy( mURLEdit );
286 layout->addWidget( label, 8, 4 ); 290 layout->addWidget( label, 8, 4 );
287 layout->addMultiCellWidget( mURLEdit, 8, 8, 5, 6 ); 291 layout->addMultiCellWidget( mURLEdit, 8, 8, 5, 6 );
288 292
289 label = new QLabel( i18n( "&IM address:" ), tab1 ); 293 label = new QLabel( i18n( "&IM address:" ), tab1 );
290 mIMAddressEdit = new KLineEdit( tab1 ); 294 mIMAddressEdit = new KLineEdit( tab1 );
291 connect( mIMAddressEdit, SIGNAL( textChanged( const QString& ) ), 295 connect( mIMAddressEdit, SIGNAL( textChanged( const QString& ) ),
292 SLOT( textChanged( const QString& ) ) ); 296 SLOT( textChanged( const QString& ) ) );
293 label->setBuddy( mIMAddressEdit ); 297 label->setBuddy( mIMAddressEdit );
294 layout->addWidget( label, 9, 4 ); 298 layout->addWidget( label, 9, 4 );
295 layout->addMultiCellWidget( mIMAddressEdit, 9, 9, 5, 6 ); 299 layout->addMultiCellWidget( mIMAddressEdit, 9, 9, 5, 6 );
296 300
297 layout->addColSpacing( 6, 50 ); 301 layout->addColSpacing( 6, 50 );
298 302
299 bar = new KSeparator( KSeparator::HLine, tab1 ); 303 bar = new KSeparator( KSeparator::HLine, tab1 );
300 layout->addMultiCellWidget( bar, 10, 10, 0, 6 ); 304 layout->addMultiCellWidget( bar, 10, 10, 0, 6 );
301*/ 305*/
302 /////////////////////////////////////// 306 ///////////////////////////////////////
303 QHBox *categoryBox = new QHBox( tab1 ,"cato"); 307 QHBox *categoryBox = new QHBox( tab1 ,"cato");
304 categoryBox->setSpacing( KDialogBase::spacingHint() ); 308 categoryBox->setSpacing( KDialogBase::spacingHint() );
305 categoryBox->setMargin( KDialogBase::marginHintSmall() ); 309 categoryBox->setMargin( KDialogBase::marginHintSmall() );
306 310
307 // Categories 311 // Categories
308 button = new QPushButton( i18n( "Categories" ), categoryBox ); 312 button = new QPushButton( i18n( "Categories" ), categoryBox );
309 connect( button, SIGNAL( clicked() ), SLOT( categoryButtonClicked() ) ); 313 connect( button, SIGNAL( clicked() ), SLOT( categoryButtonClicked() ) );
310 314
311 mCategoryEdit = new KLineEdit( categoryBox ); 315 mCategoryEdit = new KLineEdit( categoryBox );
312 mCategoryEdit->setReadOnly( true ); 316 mCategoryEdit->setReadOnly( true );
313 connect( mCategoryEdit, SIGNAL( textChanged( const QString& ) ), 317 connect( mCategoryEdit, SIGNAL( textChanged( const QString& ) ),
314 SLOT( textChanged( const QString& ) ) ); 318 SLOT( textChanged( const QString& ) ) );
315 319
316 mSecrecyWidget = new SecrecyWidget( categoryBox ); 320 mSecrecyWidget = new SecrecyWidget( categoryBox );
317 connect( mSecrecyWidget, SIGNAL( changed() ), SLOT( emitModified() ) ); 321 connect( mSecrecyWidget, SIGNAL( changed() ), SLOT( emitModified() ) );
318 322
319//US layout->addMultiCellWidget( categoryBox, 11, 11, 0, 6 ); 323//US layout->addMultiCellWidget( categoryBox, 11, 11, 0, 6 );
320 layout->addMultiCellWidget( categoryBox, iii, iii, 0, 1 ); 324 layout->addMultiCellWidget( categoryBox, iii, iii, 0, 1 );
321 325
322 // Build the layout and add to the tab widget 326 // Build the layout and add to the tab widget
323 layout->activate(); // required 327 layout->activate(); // required
324 328
325 mTabWidget->addTab( tab1, i18n( "&General" ) ); 329 mTabWidget->addTab( tab1, i18n( "&General" ) );
326} 330}
327 331
332void AddresseeEditorWidget::setRole2FN()
333{
334 if ( mRoleEdit->text().isEmpty() ) return;
335 mFormattedNameType = NameEditDialog::CustomName;
336 mAddressee.setFormattedName( mRoleEdit->text() );
337 mFormattedNameLabel->setText( mRoleEdit->text() );
338 mDirty = true;
339}
340void AddresseeEditorWidget::setCompany2FN()
341{
342 if ( mOrgEdit->text().isEmpty() ) return;
343 mFormattedNameType = NameEditDialog::CustomName;
344 mAddressee.setFormattedName( mOrgEdit->text() );
345 mFormattedNameLabel->setText( mOrgEdit->text() );
346 mDirty = true;
347}
328 348
329void AddresseeEditorWidget::setupTab1_1() 349void AddresseeEditorWidget::setupTab1_1()
330{ 350{
331 // This is the Address tab 351 // This is the Address tab
332 QWidget *tab1_1 = new QWidget( mTabWidget ); 352 QWidget *tab1_1 = new QWidget( mTabWidget );
333 353
334//US QGridLayout *layout = new QGridLayout( tab1_1, 11, 7 ); 354//US QGridLayout *layout = new QGridLayout( tab1_1, 11, 7 );
335 QGridLayout *layout = new QGridLayout( tab1_1, 7, 2 ); 355 QGridLayout *layout = new QGridLayout( tab1_1, 7, 2 );
336 layout->setMargin( KDialogBase::marginHintSmall() ); 356 layout->setMargin( KDialogBase::marginHintSmall() );
337 layout->setSpacing( KDialogBase::spacingHintSmall() ); 357 layout->setSpacing( KDialogBase::spacingHintSmall() );
338 358
339 QLabel *label; 359 QLabel *label;
340 KSeparator* bar; 360 KSeparator* bar;
341 QPushButton *button; 361 QPushButton *button;
342 362
343/*US 363/*US
344 ////////////////////////////////// 364 //////////////////////////////////
345 // Upper left group (person info) 365 // Upper left group (person info)
346 366
347 // Person icon 367 // Person icon
348 label = new QLabel( tab1 ); 368 label = new QLabel( tab1 );
349//US ambiguous call. Add one more parameter 369//US ambiguous call. Add one more parameter
350//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) ); 370//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop ) );
351 label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) ); 371 label->setPixmap( KGlobal::iconLoader()->loadIcon( "personal", KIcon::Desktop, 0 ) );
352 layout->addMultiCellWidget( label, 0, 1, 0, 0 ); 372 layout->addMultiCellWidget( label, 0, 1, 0, 0 );
353 373
354 // First name 374 // First name
355 button = new QPushButton( i18n( "Name..." ), tab1 ); 375 button = new QPushButton( i18n( "Name..." ), tab1 );
356 QToolTip::add( button, i18n( "Edit the contact's name" ) ); 376 QToolTip::add( button, i18n( "Edit the contact's name" ) );
357 mNameEdit = new KLineEdit( tab1, "mNameEdit" ); 377 mNameEdit = new KLineEdit( tab1, "mNameEdit" );
358 connect( mNameEdit, SIGNAL( textChanged( const QString& ) ), 378 connect( mNameEdit, SIGNAL( textChanged( const QString& ) ),
359 SLOT( nameTextChanged( const QString& ) ) ); 379 SLOT( nameTextChanged( const QString& ) ) );
360 connect( button, SIGNAL( clicked() ), SLOT( nameButtonClicked() ) ); 380 connect( button, SIGNAL( clicked() ), SLOT( nameButtonClicked() ) );
361 381
362#ifndef KAB_EMBEDDED 382#ifndef KAB_EMBEDDED
363 mNameLabel = new KSqueezedTextLabel( tab1 ); 383 mNameLabel = new KSqueezedTextLabel( tab1 );
364 mNameLabel->hide(); 384 mNameLabel->hide();
365#else //KAB_EMBEDDED 385#else //KAB_EMBEDDED
366qDebug("AddresseeEditorWidget::setupTab1 has to be changed"); 386qDebug("AddresseeEditorWidget::setupTab1 has to be changed");
367#endif //KAB_EMBEDDED 387#endif //KAB_EMBEDDED
368 388
369 layout->addWidget( button, 0, 1 ); 389 layout->addWidget( button, 0, 1 );
370 layout->addWidget( mNameEdit, 0, 2 ); 390 layout->addWidget( mNameEdit, 0, 2 );
371 391
372#ifndef KAB_EMBEDDED 392#ifndef KAB_EMBEDDED
373 layout->addWidget( mNameLabel, 0, 2 ); 393 layout->addWidget( mNameLabel, 0, 2 );
374#else //KAB_EMBEDDED 394#else //KAB_EMBEDDED
375qDebug("AddresseeEditorWidget::setupTab1 has to be changed"); 395qDebug("AddresseeEditorWidget::setupTab1 has to be changed");
376#endif //KAB_EMBEDDED 396#endif //KAB_EMBEDDED
377 397
378 label = new QLabel( i18n( "Role:" ), tab1 ); 398 label = new QLabel( i18n( "Role:" ), tab1 );
379 mRoleEdit = new KLineEdit( tab1 ); 399 mRoleEdit = new KLineEdit( tab1 );
380 connect( mRoleEdit, SIGNAL( textChanged( const QString& ) ), 400 connect( mRoleEdit, SIGNAL( textChanged( const QString& ) ),
381 SLOT( textChanged( const QString& ) ) ); 401 SLOT( textChanged( const QString& ) ) );
382 label->setBuddy( mRoleEdit ); 402 label->setBuddy( mRoleEdit );
383 layout->addWidget( label, 1, 1 ); 403 layout->addWidget( label, 1, 1 );
384 layout->addWidget( mRoleEdit, 1, 2 ); 404 layout->addWidget( mRoleEdit, 1, 2 );
385 405
386 // Organization 406 // Organization
387 label = new QLabel( i18n( "Organization:" ), tab1 ); 407 label = new QLabel( i18n( "Organization:" ), tab1 );
388 mOrgEdit = new KLineEdit( tab1 ); 408 mOrgEdit = new KLineEdit( tab1 );
389 label->setBuddy( mOrgEdit ); 409 label->setBuddy( mOrgEdit );
390 connect( mOrgEdit, SIGNAL( textChanged( const QString& ) ), 410 connect( mOrgEdit, SIGNAL( textChanged( const QString& ) ),
391 SLOT( textChanged( const QString& ) ) ); 411 SLOT( textChanged( const QString& ) ) );
392 layout->addWidget( label, 2, 1 ); 412 layout->addWidget( label, 2, 1 );
393 layout->addWidget( mOrgEdit, 2, 2 ); 413 layout->addWidget( mOrgEdit, 2, 2 );
394 414
395 // File as (formatted name) 415 // File as (formatted name)
396 label = new QLabel( i18n( "Formatted name:" ), tab1 ); 416 label = new QLabel( i18n( "Formatted name:" ), tab1 );
397#ifndef KAB_EMBEDDED 417#ifndef KAB_EMBEDDED
398 mFormattedNameLabel = new KSqueezedTextLabel( tab1 ); 418 mFormattedNameLabel = new KSqueezedTextLabel( tab1 );
399#else //KAB_EMBEDDED 419#else //KAB_EMBEDDED
400qDebug("AddresseeEditorWidget::setupTab1 has to be changed"); 420qDebug("AddresseeEditorWidget::setupTab1 has to be changed");
401#endif //KAB_EMBEDDED 421#endif //KAB_EMBEDDED
402 layout->addWidget( label, 3, 1 ); 422 layout->addWidget( label, 3, 1 );
403#ifndef KAB_EMBEDDED 423#ifndef KAB_EMBEDDED
404 layout->addWidget( mFormattedNameLabel, 3, 2 ); 424 layout->addWidget( mFormattedNameLabel, 3, 2 );
405#else //KAB_EMBEDDED 425#else //KAB_EMBEDDED
406qDebug("AddresseeEditorWidget::setupTab1 has to be changed"); 426qDebug("AddresseeEditorWidget::setupTab1 has to be changed");
407#endif //KAB_EMBEDDED 427#endif //KAB_EMBEDDED
408 428
409 // Left hand separator. This separator doesn't go all the way 429 // Left hand separator. This separator doesn't go all the way
410 // across so the dialog still flows from top to bottom 430 // across so the dialog still flows from top to bottom
411 bar = new KSeparator( KSeparator::HLine, tab1 ); 431 bar = new KSeparator( KSeparator::HLine, tab1 );
412 layout->addMultiCellWidget( bar, 4, 4, 0, 2 ); 432 layout->addMultiCellWidget( bar, 4, 4, 0, 2 );
413 433
414 ////////////////////////////////////// 434 //////////////////////////////////////
415 // Phone numbers (upper right) 435 // Phone numbers (upper right)
416 label = new QLabel( tab1 ); 436 label = new QLabel( tab1 );
417//US loadIcon call is ambiguous. Add one more parameter 437//US loadIcon call is ambiguous. Add one more parameter
418//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) ); 438//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) );
419 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) ); 439 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
420 layout->addMultiCellWidget( label, 0, 1, 3, 3 ); 440 layout->addMultiCellWidget( label, 0, 1, 3, 3 );
421 441
422 mPhoneEditWidget = new PhoneEditWidget( tab1 ); 442 mPhoneEditWidget = new PhoneEditWidget( tab1 );
423 connect( mPhoneEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) ); 443 connect( mPhoneEditWidget, SIGNAL( modified() ), SLOT( emitModified() ) );
diff --git a/kaddressbook/addresseeeditorwidget.h b/kaddressbook/addresseeeditorwidget.h
index 995f30e..eaf5b16 100644
--- a/kaddressbook/addresseeeditorwidget.h
+++ b/kaddressbook/addresseeeditorwidget.h
@@ -1,186 +1,188 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#ifndef ADDRESSEEEDITORWIDGET_H 24#ifndef ADDRESSEEEDITORWIDGET_H
25#define ADDRESSEEEDITORWIDGET_H 25#define ADDRESSEEEDITORWIDGET_H
26 26
27#include <qdatetime.h> 27#include <qdatetime.h>
28 28
29#include <kabc/addressee.h> 29#include <kabc/addressee.h>
30#include <kdialogbase.h> 30#include <kdialogbase.h>
31#include <kjanuswidget.h> 31#include <kjanuswidget.h>
32 32
33#include "extensionwidget.h" 33#include "extensionwidget.h"
34 34
35class AddresseeConfig; 35class AddresseeConfig;
36class QCheckBox; 36class QCheckBox;
37class QSpinBox; 37class QSpinBox;
38class QTabWidget; 38class QTabWidget;
39 39
40#ifndef KAB_EMBEDDED 40#ifndef KAB_EMBEDDED
41class QTextEdit; 41class QTextEdit;
42#else //KAB_EMBEDDED 42#else //KAB_EMBEDDED
43class QMultiLineEdit; 43class QMultiLineEdit;
44#endif //KAB_EMBEDDED 44#endif //KAB_EMBEDDED
45 45
46class KComboBox; 46class KComboBox;
47class KDateEdit; 47class KDateEdit;
48class KLineEdit; 48class KLineEdit;
49class KSqueezedTextLabel; 49class KSqueezedTextLabel;
50 50
51class AddressEditWidget; 51class AddressEditWidget;
52class EmailEditWidget; 52class EmailEditWidget;
53class GeoWidget; 53class GeoWidget;
54class ImageWidget; 54class ImageWidget;
55class KABCore; 55class KABCore;
56class KeyWidget; 56class KeyWidget;
57class PhoneEditWidget; 57class PhoneEditWidget;
58class SecrecyWidget; 58class SecrecyWidget;
59class SoundWidget; 59class SoundWidget;
60 60
61namespace KPIM 61namespace KPIM
62{ 62{
63 class CategorySelectDialog; 63 class CategorySelectDialog;
64 class CategoryEditDialog; 64 class CategoryEditDialog;
65} 65}
66 66
67namespace KABC { class AddressBook; } 67namespace KABC { class AddressBook; }
68 68
69class AddresseeEditorWidget : public ExtensionWidget 69class AddresseeEditorWidget : public ExtensionWidget
70{ 70{
71 Q_OBJECT 71 Q_OBJECT
72 72
73 public: 73 public:
74 AddresseeEditorWidget( KABCore *core, bool isExtension, 74 AddresseeEditorWidget( KABCore *core, bool isExtension,
75 QWidget *parent, const char *name = 0 ); 75 QWidget *parent, const char *name = 0 );
76 ~AddresseeEditorWidget(); 76 ~AddresseeEditorWidget();
77 77
78 void setAddressee( const KABC::Addressee& ); 78 void setAddressee( const KABC::Addressee& );
79 const KABC::Addressee &addressee(); 79 const KABC::Addressee &addressee();
80 80
81 void contactsSelectionChanged(); 81 void contactsSelectionChanged();
82 82
83 void load(); 83 void load();
84 void save(); 84 void save();
85 85
86 bool dirty(); 86 bool dirty();
87 87
88 QString title() const; 88 QString title() const;
89 QString identifier() const; 89 QString identifier() const;
90 90
91 protected slots: 91 protected slots:
92 void setRole2FN();
93 void setCompany2FN();
92 void textChanged( const QString& ); 94 void textChanged( const QString& );
93 void pageChanged( QWidget *wdg ); 95 void pageChanged( QWidget *wdg );
94 96
95 /** 97 /**
96 Emits the modified signal and sets the dirty flag. Any slot 98 Emits the modified signal and sets the dirty flag. Any slot
97 that modifies data should use this method instead of calling emit 99 that modifies data should use this method instead of calling emit
98 modified() directly. 100 modified() directly.
99 */ 101 */
100 void emitModified(); 102 void emitModified();
101 103
102 void dateChanged( QDate ); 104 void dateChanged( QDate );
103 void invalidDate(); 105 void invalidDate();
104 void nameTextChanged( const QString& ); 106 void nameTextChanged( const QString& );
105 void nameBoxChanged(); 107 void nameBoxChanged();
106 void nameButtonClicked(); 108 void nameButtonClicked();
107 void categoryButtonClicked(); 109 void categoryButtonClicked();
108 110
109 /** 111 /**
110 Called whenever the categories change in the categories dialog. 112 Called whenever the categories change in the categories dialog.
111 */ 113 */
112 void categoriesSelected( const QStringList& ); 114 void categoriesSelected( const QStringList& );
113 115
114 /** 116 /**
115 Edits which categories are available in the CategorySelectDialog. 117 Edits which categories are available in the CategorySelectDialog.
116 */ 118 */
117 void editCategories(); 119 void editCategories();
118 120
119 private: 121 private:
120 AddresseeConfig * mAConfig; 122 AddresseeConfig * mAConfig;
121 void initGUI(); 123 void initGUI();
122 void setupTab1(); 124 void setupTab1();
123 void setupTab1_1(); 125 void setupTab1_1();
124 void setupTab2(); 126 void setupTab2();
125 void setupTab2_1(); 127 void setupTab2_1();
126 void setupTab3(); 128 void setupTab3();
127 void setupTab3_1(); 129 void setupTab3_1();
128 130
129 KABC::Addressee mAddressee; 131 KABC::Addressee mAddressee;
130 int mFormattedNameType; 132 int mFormattedNameType;
131 bool mDirty; 133 bool mDirty;
132 bool mIsExtension; 134 bool mIsExtension;
133 bool mBlockSignals; 135 bool mBlockSignals;
134 136
135 // GUI 137 // GUI
136 KPIM::CategorySelectDialog *mCategoryDialog; 138 KPIM::CategorySelectDialog *mCategoryDialog;
137 KPIM::CategoryEditDialog *mCategoryEditDialog; 139 KPIM::CategoryEditDialog *mCategoryEditDialog;
138 QTabWidget *mTabWidget; 140 QTabWidget *mTabWidget;
139 141
140 // Tab1 and Tab1_1 142 // Tab1 and Tab1_1
141 KLineEdit *mNameEdit; 143 KLineEdit *mNameEdit;
142 KLineEdit *mRoleEdit; 144 KLineEdit *mRoleEdit;
143 KLineEdit *mOrgEdit; 145 KLineEdit *mOrgEdit;
144 146
145 KSqueezedTextLabel *mFormattedNameLabel; 147 KSqueezedTextLabel *mFormattedNameLabel;
146 AddressEditWidget *mAddressEditWidget; 148 AddressEditWidget *mAddressEditWidget;
147 EmailEditWidget *mEmailWidget; 149 EmailEditWidget *mEmailWidget;
148 PhoneEditWidget *mPhoneEditWidget; 150 PhoneEditWidget *mPhoneEditWidget;
149 KLineEdit *mURLEdit; 151 KLineEdit *mURLEdit;
150 KLineEdit *mIMAddressEdit; 152 KLineEdit *mIMAddressEdit;
151 KLineEdit *mCategoryEdit; 153 KLineEdit *mCategoryEdit;
152 SecrecyWidget *mSecrecyWidget; 154 SecrecyWidget *mSecrecyWidget;
153 KSqueezedTextLabel *mNameLabel; 155 KSqueezedTextLabel *mNameLabel;
154 156
155 // Tab2 and Tab2_2 157 // Tab2 and Tab2_2
156 KLineEdit *mDepartmentEdit; 158 KLineEdit *mDepartmentEdit;
157 KLineEdit *mOfficeEdit; 159 KLineEdit *mOfficeEdit;
158 KLineEdit *mProfessionEdit; 160 KLineEdit *mProfessionEdit;
159 KLineEdit *mManagerEdit; 161 KLineEdit *mManagerEdit;
160 KLineEdit *mAssistantEdit; 162 KLineEdit *mAssistantEdit;
161 KLineEdit *mNicknameEdit; 163 KLineEdit *mNicknameEdit;
162 KLineEdit *mSpouseEdit; 164 KLineEdit *mSpouseEdit;
163 KLineEdit *mChildEdit; 165 KLineEdit *mChildEdit;
164 QComboBox *mGenderBox; 166 QComboBox *mGenderBox;
165 KDateEdit *mBirthdayPicker; 167 KDateEdit *mBirthdayPicker;
166 KDateEdit *mAnniversaryPicker; 168 KDateEdit *mAnniversaryPicker;
167#ifndef KAB_EMBEDDED 169#ifndef KAB_EMBEDDED
168 QTextEdit *mNoteEdit; 170 QTextEdit *mNoteEdit;
169#else //KAB_EMBEDDED 171#else //KAB_EMBEDDED
170 QMultiLineEdit *mNoteEdit; 172 QMultiLineEdit *mNoteEdit;
171#endif //KAB_EMBEDDED 173#endif //KAB_EMBEDDED
172 174
173 QSpinBox *mTimeZoneSpin; 175 QSpinBox *mTimeZoneSpin;
174 QSpinBox *mGeoLat; 176 QSpinBox *mGeoLat;
175 QSpinBox *mGeoLon; 177 QSpinBox *mGeoLon;
176 178
177 // Tab3 179 // Tab3
178 GeoWidget *mGeoWidget; 180 GeoWidget *mGeoWidget;
179 ImageWidget *mImageWidget; 181 ImageWidget *mImageWidget;
180#ifndef KAB_EMBEDDED 182#ifndef KAB_EMBEDDED
181 SoundWidget *mSoundWidget; 183 SoundWidget *mSoundWidget;
182#endif //KAB_EMBEDDED 184#endif //KAB_EMBEDDED
183 KeyWidget *mKeyWidget; 185 KeyWidget *mKeyWidget;
184}; 186};
185 187
186#endif 188#endif