1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22 // MARKER(update_precomp.py): autogen include statement, do not remove
23 #include "precompiled_cui.hxx"
24
25 // include ---------------------------------------------------------------
26 #include <tools/shl.hxx>
27 #include <vcl/svapp.hxx>
28 #include <vcl/msgbox.hxx>
29 #include <unotools/saveopt.hxx>
30 #include <svl/intitem.hxx>
31
32 #define _SVX_OPTGENRL_CXX
33
34 #include <cuires.hrc>
35 #include "optgenrl.hrc"
36 #include <unotools/useroptions.hxx>
37 #include "cuioptgenrl.hxx"
38 #include <dialmgr.hxx>
39 #include <svx/dlgutil.hxx>
40 #include <svx/strarray.hxx>
41 #include <svx/svxids.hrc> // SID_FIELD_GRABFOCUS
42
43 #define TRIM(s) s.EraseLeadingChars().EraseTrailingChars()
44
45 // struct GeneralTabPage_Impl --------------------------------------------
46
47 struct GeneralTabPage_Impl
48 {
49 sal_Bool mbStreetEnabled;
50 sal_Bool mbPLZEnabled;
51 sal_Bool mbCityEnabled;
52 sal_Bool mbUsCityEnabled;
53 sal_Bool mbUsZipEnabled;
54
55 String maQueryStr;
56
GeneralTabPage_ImplGeneralTabPage_Impl57 GeneralTabPage_Impl() :
58 mbStreetEnabled ( sal_False ),
59 mbPLZEnabled ( sal_False ),
60 mbCityEnabled ( sal_False ),
61 mbUsCityEnabled ( sal_False ),
62 mbUsZipEnabled ( sal_False ) {}
63 };
64
65 // -----------------------------------------------------------------------
66
SvxGeneralTabPage(Window * pParent,const SfxItemSet & rCoreSet)67 SvxGeneralTabPage::SvxGeneralTabPage( Window* pParent, const SfxItemSet& rCoreSet ) :
68
69 SfxTabPage( pParent, CUI_RES(RID_SFXPAGE_GENERAL), rCoreSet ),
70
71 aAddrFrm ( this, CUI_RES( GB_ADDRESS ) ),
72 aCompanyLbl ( this, CUI_RES( FT_COMPANY ), true ),
73 aCompanyEdit ( this, CUI_RES( ED_COMPANY ), INDEX_NOTSET, &aCompanyLbl ),
74 aNameLbl ( this, CUI_RES( FT_NAME ), true ),
75 aNameLblRuss ( this, CUI_RES( FT_NAME_RUSS ), true ),
76 aNameLblEastern ( this, CUI_RES( FT_NAME_EASTERN ), true ),
77 aFirstName ( this, CUI_RES( ED_FIRSTNAME ), 0, &aNameLbl ),
78 aFatherName ( this, CUI_RES( ED_FATHERNAME ) ),
79 aName ( this, CUI_RES( ED_NAME ), 1, &aNameLbl ),
80 aShortName ( this, CUI_RES( ED_SHORTNAME ), 2, &aNameLbl ),
81 aStreetLbl ( this, CUI_RES( FT_STREET ), true ),
82 aStreetLblRuss ( this, CUI_RES( FT_STREET_RUSS ), true ),
83 aStreetEdit ( this, CUI_RES( ED_STREET ), 0, &aStreetLbl ),
84 aApartmentNrEdit( this, CUI_RES( ED_APARTMENTNR ), 1, &aStreetLblRuss ),
85 aCityLbl ( this, CUI_RES( FT_CITY ), true ),
86 aPLZEdit ( this, CUI_RES( ED_PLZ ), 0, &aCityLbl ),
87 aCityEdit ( this, CUI_RES( ED_CITY ), 1, &aCityLbl ),
88 aUsCityEdit ( this, CUI_RES( ED_US_CITY ), 0, &aCityLbl ),
89 aUsStateEdit ( this, CUI_RES( ED_US_STATE ), 1, &aCityLbl ),
90 aUsZipEdit ( this, CUI_RES( ED_US_ZIPCODE ), 2, &aCityLbl ),
91 aCountryLbl ( this, CUI_RES( FT_COUNTRY ), true ),
92 aCountryEdit ( this, CUI_RES( ED_COUNTRY ), INDEX_NOTSET, &aCountryLbl ),
93 aTitlePosLbl ( this, CUI_RES( FT_TITLEPOS ), true ),
94 aTitleEdit ( this, CUI_RES( ED_TITLE ), 0, &aTitlePosLbl ),
95 aPositionEdit ( this, CUI_RES( ED_POSITION ), 1, &aTitlePosLbl ),
96 aPhoneLbl ( this, CUI_RES( FT_PHONE ), true ),
97 aTelPrivEdit ( this, CUI_RES( ED_TELPRIVAT ), 0, &aPhoneLbl ),
98 aTelCompanyEdit ( this, CUI_RES( ED_TELCOMPANY ), 1, &aPhoneLbl ),
99 aFaxMailLbl ( this, CUI_RES( FT_FAXMAIL ), true ),
100 aFaxEdit ( this, CUI_RES( ED_FAX ), 0, &aFaxMailLbl ),
101 aEmailEdit ( this, CUI_RES( ED_EMAIL ), 1, &aFaxMailLbl ),
102 aUseDataCB ( this, CUI_RES( CB_USEDATA ) ),
103 pImpl ( new GeneralTabPage_Impl )
104
105 {
106 LanguageType eLang = Application::GetSettings().GetUILanguage();
107 pImpl->maQueryStr = String( CUI_RES( STR_QUERY_REG ) );
108
109 if ( LANGUAGE_ENGLISH_US == eLang )
110 {
111 // amerikanische Postadresse aufbauen
112 aPLZEdit.Hide();
113 aCityEdit.Hide();
114 aCityLbl.SetText( CUI_RES( STR_US_STATE ) );
115 }
116 else if ( LANGUAGE_RUSSIAN == eLang )
117 {
118 aUsCityEdit.Hide();
119 aUsStateEdit.Hide();
120 aUsZipEdit.Hide();
121 aNameLbl.Hide();
122 aNameLblRuss.Show();
123 aStreetLbl.Hide();
124 aStreetLblRuss.Show();
125 aFatherName.Show();
126 aName.SetIndex( 0 );
127 aName.SetLabel( &aNameLblRuss );
128 aFirstName.SetIndex( 1 );
129 aFirstName.SetLabel( &aNameLblRuss );
130 aFatherName.SetIndex( 2 );
131 aFatherName.SetLabel( &aNameLblRuss );
132 aShortName.SetIndex( 3 );
133 aShortName.SetLabel( &aNameLblRuss );
134
135 Point aEditPoint = LogicToPixel( Point( MID, LINE(1) ), MAP_APPFONT );
136 Point aRightPoint = LogicToPixel( Point( RIGHT, LINE(1) ), MAP_APPFONT );
137 Size aEditSize = LogicToPixel( Size( 42, 12 ), MAP_APPFONT );
138 Size a2Size = LogicToPixel( Size( 2, 2 ), MAP_APPFONT );
139 long nDelta = aEditSize.Width() + a2Size.Width();
140 aName.SetPosSizePixel( aEditPoint, aEditSize );
141 aEditPoint.X() = aEditPoint.X() + nDelta;
142 aFirstName.SetPosSizePixel( aEditPoint, aEditSize );
143 aEditPoint.X() = aEditPoint.X() + nDelta;
144 aFatherName.SetPosSizePixel( aEditPoint, aEditSize );
145 aEditPoint.X() = aEditPoint.X() + nDelta;
146 aEditSize.Width() = aRightPoint.X() - aEditPoint.X();
147 aShortName.SetPosSizePixel( aEditPoint, aEditSize );
148
149 Size aStreetSize = aStreetEdit.GetSizePixel();
150 aStreetSize.Width() = aStreetSize.Width() - aEditSize.Width() - a2Size.Width();
151 aStreetEdit.SetSizePixel( aStreetSize );
152 aApartmentNrEdit.Show();
153 Point aApartmentPoint = LogicToPixel( Point( MID, LINE(2) ), MAP_APPFONT );
154 aApartmentPoint.X() = aEditPoint.X();
155 aApartmentNrEdit.SetPosSizePixel( aApartmentPoint, aEditSize );
156
157 aName.SetZOrder( &aNameLblRuss, WINDOW_ZORDER_BEHIND );
158 aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
159 aFatherName.SetZOrder( &aFirstName, WINDOW_ZORDER_BEHIND );
160 }
161 else if ( LANGUAGE_JAPANESE == eLang ||
162 LANGUAGE_KOREAN == eLang ||
163 LANGUAGE_HUNGARIAN == eLang ||
164 LANGUAGE_CHINESE_TRADITIONAL == eLang ||
165 LANGUAGE_CHINESE_SIMPLIFIED == eLang)
166 {
167 aUsCityEdit.Hide();
168 aUsStateEdit.Hide();
169 aUsZipEdit.Hide();
170 aNameLbl.Hide();
171 aNameLblEastern.Show();
172
173 // swap "first name" field and "last name" field
174 Point aPosTmp = aFirstName.GetPosPixel();
175 aFirstName.SetPosPixel( aName.GetPosPixel() );
176 aName.SetPosPixel( aPosTmp );
177 aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
178 }
179 else
180 {
181 aUsCityEdit.Hide();
182 aUsStateEdit.Hide();
183 aUsZipEdit.Hide();
184 }
185
186 FreeResource();
187
188 // diese Page braucht ExchangeSupport
189 SetExchangeSupport();
190
191 Link aLink = LINK( this, SvxGeneralTabPage, ModifyHdl_Impl );
192 aFirstName.SetModifyHdl( aLink );
193 aName.SetModifyHdl( aLink );
194
195 // because some labels have text for more than one edit field we have to split these texts
196 // and set these texts as accessible name of the corresponding edit fields
197 SvxUserEdit* pEdits[] =
198 {
199 &aCompanyEdit, &aFirstName, &aFatherName, &aName, &aShortName, &aStreetEdit,
200 &aApartmentNrEdit, &aPLZEdit, &aCityEdit, &aUsCityEdit, &aUsStateEdit, &aUsZipEdit,
201 &aCountryEdit, &aTitleEdit, &aPositionEdit, &aTelPrivEdit, &aTelCompanyEdit,
202 &aFaxEdit, &aEmailEdit, NULL
203 };
204 SvxUserEdit** pCurrent = pEdits;
205 while ( *pCurrent )
206 {
207 Window* pLabel = (*pCurrent)->GetLabel();
208 if ( pLabel )
209 {
210 String sName, sText = pLabel->GetDisplayText();
211 sal_Int16 nIndex = (*pCurrent)->GetIndex();
212 if ( INDEX_NOTSET == nIndex )
213 sName = sText;
214 else
215 sName = sText.GetToken( nIndex, '/' );
216 sName.EraseAllChars( '(' );
217 sName.EraseAllChars( ')' );
218 if ( sName.Len() > 0 )
219 (*pCurrent)->SetAccessibleName( sName );
220 }
221 pCurrent++;
222 }
223 }
224
225 //------------------------------------------------------------------------
226
~SvxGeneralTabPage()227 SvxGeneralTabPage::~SvxGeneralTabPage()
228 {
229 delete pImpl;
230 }
231
232 //------------------------------------------------------------------------
233
Create(Window * pParent,const SfxItemSet & rAttrSet)234 SfxTabPage* SvxGeneralTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet )
235 {
236 return ( new SvxGeneralTabPage( pParent, rAttrSet ) );
237 }
238
239 //------------------------------------------------------------------------
240
FillItemSet(SfxItemSet &)241 sal_Bool SvxGeneralTabPage::FillItemSet( SfxItemSet& )
242 {
243 // Eingaben trimmen (führende und nachfolgende Leerzeichen entfernen)
244 aCompanyEdit.SetText( TRIM(aCompanyEdit.GetText()) );
245 aFirstName.SetText( TRIM(aFirstName.GetText()) );
246 aName.SetText( TRIM(aName.GetText()) );
247 aShortName.SetText( TRIM(aShortName.GetText()) );
248 aStreetEdit.SetText( TRIM(aStreetEdit.GetText()) );
249 aCountryEdit.SetText( TRIM(aCountryEdit.GetText()) );
250 aPLZEdit.SetText( TRIM(aPLZEdit.GetText()) );
251 aCityEdit.SetText( TRIM(aCityEdit.GetText()) );
252 aUsCityEdit.SetText( TRIM(aUsCityEdit.GetText()) );
253 aUsStateEdit.SetText( TRIM(aUsStateEdit.GetText()) );
254 aUsZipEdit.SetText( TRIM(aUsZipEdit.GetText()) );
255 aTitleEdit.SetText( TRIM(aTitleEdit.GetText()) );
256 aPositionEdit.SetText( TRIM(aPositionEdit.GetText()) );
257 aTelPrivEdit.SetText( TRIM(aTelPrivEdit.GetText()) );
258 aTelCompanyEdit.SetText( TRIM(aTelCompanyEdit.GetText()) );
259 aFaxEdit.SetText( TRIM(aFaxEdit.GetText()) );
260 aEmailEdit.SetText( TRIM(aEmailEdit.GetText()) );
261
262 sal_Bool bModified = sal_False;
263 bModified |= GetAddress_Impl();
264 SvtSaveOptions aSaveOpt;
265 if ( aUseDataCB.IsChecked() != aSaveOpt.IsUseUserData() )
266 {
267 aSaveOpt.SetUseUserData( aUseDataCB.IsChecked() );
268 bModified |= sal_True;
269 }
270 return bModified;
271 }
272
273 //------------------------------------------------------------------------
274
Reset(const SfxItemSet & rSet)275 void SvxGeneralTabPage::Reset( const SfxItemSet& rSet )
276 {
277 SetAddress_Impl();
278
279 sal_uInt16 nWhich = GetWhich( SID_FIELD_GRABFOCUS );
280 if ( rSet.GetItemState( nWhich ) == SFX_ITEM_SET )
281 {
282 sal_uInt16 nField = ( (SfxUInt16Item&)rSet.Get( nWhich ) ).GetValue();
283
284 switch ( nField )
285 {
286 case COMPANY_EDIT: aCompanyEdit.GrabFocus(); break;
287 case FIRSTNAME_EDIT: aFirstName.GrabFocus(); break;
288 case LASTNAME_EDIT: aName.GrabFocus(); break;
289 case STREET_EDIT: aStreetEdit.GrabFocus(); break;
290 case COUNTRY_EDIT: aCountryEdit.GrabFocus(); break;
291 case PLZ_EDIT:
292 if ( aPLZEdit.IsVisible() )
293 aPLZEdit.GrabFocus();
294 else
295 aUsZipEdit.GrabFocus();
296 break;
297 case CITY_EDIT:
298 if ( aCityEdit.IsVisible() )
299 aCityEdit.GrabFocus();
300 else
301 aUsCityEdit.GrabFocus();
302 break;
303 case STATE_EDIT:
304 if ( aUsStateEdit.IsVisible() )
305 aUsStateEdit.GrabFocus();
306 else
307 aCityEdit.GrabFocus();
308 break;
309 case TITLE_EDIT: aTitleEdit.GrabFocus(); break;
310 case POSITION_EDIT: aPositionEdit.GrabFocus(); break;
311 case SHORTNAME_EDIT: aShortName.GrabFocus(); break;
312 case TELPRIV_EDIT: aTelPrivEdit.GrabFocus(); break;
313 case TELCOMPANY_EDIT: aTelCompanyEdit.GrabFocus(); break;
314 case FAX_EDIT: aFaxEdit.GrabFocus(); break;
315 case EMAIL_EDIT: aEmailEdit.GrabFocus(); break;
316 default: aCompanyEdit.GrabFocus();
317 }
318 }
319
320 aUseDataCB.Check( SvtSaveOptions().IsUseUserData() );
321 }
322
323 //------------------------------------------------------------------------
324
IMPL_LINK(SvxGeneralTabPage,ModifyHdl_Impl,Edit *,pEdit)325 IMPL_LINK( SvxGeneralTabPage, ModifyHdl_Impl, Edit *, pEdit )
326 {
327 if ( aShortName.IsEnabled() )
328 {
329 String aShortStr( aShortName.GetText() );
330 switch ( aShortStr.Len() )
331 {
332 case 0:
333 aShortStr = String( RTL_CONSTASCII_STRINGPARAM(" ") );
334 break;
335
336 case 1:
337 aShortStr += ' ';
338 break;
339 }
340
341 sal_uInt16 nPos = ( pEdit == &aFirstName ) ? 0 : 1;
342 String aTxt = pEdit->GetText();
343 sal_Unicode cChar = ( aTxt.Len() > 0 ) ? aTxt.GetChar(0) : ' ';
344 aShortStr.SetChar( nPos, cChar );
345 aShortStr.EraseTrailingChars();
346 aShortName.SetText( aShortStr );
347 }
348 return 0;
349 }
350
351 //------------------------------------------------------------------------
352
GetAddress_Impl()353 sal_Bool SvxGeneralTabPage::GetAddress_Impl()
354 {
355 sal_Bool bRet =
356 ( aCompanyEdit.GetSavedValue() != aCompanyEdit.GetText() ||
357 aFirstName.GetSavedValue() != aFirstName.GetText() ||
358 aFatherName.GetSavedValue() != aFatherName.GetText() ||
359 aName.GetSavedValue() != aName.GetText() ||
360 aShortName.GetSavedValue() != aShortName.GetText() ||
361 aStreetEdit.GetSavedValue() != aStreetEdit.GetText() ||
362 aApartmentNrEdit.GetSavedValue() != aApartmentNrEdit.GetText() ||
363 aPLZEdit.GetSavedValue() != aPLZEdit.GetText() ||
364 aCityEdit.GetSavedValue() != aCityEdit.GetText() ||
365 aUsCityEdit.GetSavedValue() != aUsCityEdit.GetText() ||
366 aUsStateEdit.GetSavedValue() != aUsStateEdit.GetText() ||
367 aUsZipEdit.GetSavedValue() != aUsZipEdit.GetText() ||
368 aCountryEdit.GetSavedValue() != aCountryEdit.GetText() ||
369 aTitleEdit.GetSavedValue() != aTitleEdit.GetText() ||
370 aPositionEdit.GetSavedValue() != aPositionEdit.GetText() ||
371 aTelPrivEdit.GetSavedValue() != aTelPrivEdit.GetText() ||
372 aTelCompanyEdit.GetSavedValue() != aTelCompanyEdit.GetText() ||
373 aFaxEdit.GetSavedValue() != aFaxEdit.GetText() ||
374 aEmailEdit.GetSavedValue() != aEmailEdit.GetText() );
375
376 LanguageType eLang = Application::GetSettings().GetUILanguage();
377 sal_Bool bUS = ( LANGUAGE_ENGLISH_US == eLang );
378
379 SvtUserOptions aUserOpt;
380 aUserOpt.SetCompany(aCompanyEdit.GetText());
381 aUserOpt.SetFirstName(aFirstName.GetText());
382 aUserOpt.SetLastName(aName.GetText());
383 aUserOpt.SetID( aShortName.GetText());
384
385 aUserOpt.SetStreet(aStreetEdit.GetText() );
386
387 aUserOpt.SetCountry(aCountryEdit.GetText() );
388
389 aUserOpt.SetZip(bUS ? aUsZipEdit.GetText() : aPLZEdit.GetText() );
390 aUserOpt.SetCity(bUS ? aUsCityEdit.GetText() : aCityEdit.GetText() );
391
392 aUserOpt.SetTitle( aTitleEdit.GetText() );
393 aUserOpt.SetPosition(aPositionEdit.GetText() );
394 aUserOpt.SetTelephoneHome( aTelPrivEdit.GetText() );
395 aUserOpt.SetTelephoneWork( aTelCompanyEdit.GetText() );
396 aUserOpt.SetFax( aFaxEdit.GetText() );
397 aUserOpt.SetEmail( aEmailEdit.GetText() );
398 aUserOpt.SetState( bUS ? aUsStateEdit.GetText() : String() );
399
400 if ( LANGUAGE_RUSSIAN == eLang )
401 {
402 aUserOpt.SetFathersName( aFatherName.GetText() );
403 aUserOpt.SetApartment( aApartmentNrEdit.GetText() );
404 }
405 return bRet;
406 }
407
408 //------------------------------------------------------------------------
409
SetAddress_Impl()410 void SvxGeneralTabPage::SetAddress_Impl()
411 {
412 LanguageType eLang = Application::GetSettings().GetUILanguage();
413 sal_Bool bUS = ( LANGUAGE_ENGLISH_US == eLang );
414 SvtUserOptions aUserOpt;
415 aCompanyEdit.SetText( aUserOpt.GetCompany() );
416 if ( aUserOpt.IsTokenReadonly( USER_OPT_COMPANY ) )
417 {
418 aCompanyLbl.Disable();
419 aCompanyEdit.Disable();
420 }
421 sal_Int16 nEditCount = 0;
422 aFirstName.SetText( aUserOpt.GetFirstName() );
423 if ( aUserOpt.IsTokenReadonly( USER_OPT_FIRSTNAME ) )
424 {
425 aFirstName.Disable();
426 nEditCount++;
427 }
428 aName.SetText( aUserOpt.GetLastName() );
429 if ( aUserOpt.IsTokenReadonly( USER_OPT_LASTNAME ) )
430 {
431 aName.Disable();
432 nEditCount++;
433 }
434 aShortName.SetText( aUserOpt.GetID() );
435 if ( aUserOpt.IsTokenReadonly( USER_OPT_ID ) )
436 {
437 aShortName.Disable();
438 nEditCount++;
439 }
440 aNameLbl.Enable( ( nEditCount != 3 ) );
441 aStreetEdit.SetText( aUserOpt.GetStreet() );
442 if ( aUserOpt.IsTokenReadonly( USER_OPT_STREET ) )
443 {
444 aStreetLbl.Disable();
445 aStreetEdit.Disable();
446 }
447 Edit* pPLZEdit = bUS ? &aUsZipEdit : &aPLZEdit;
448 Edit* pCityEdit = bUS ? &aUsCityEdit : &aCityEdit;
449 pPLZEdit->SetText( aUserOpt.GetZip() );
450 pCityEdit->SetText( aUserOpt.GetCity() );
451 nEditCount = 0;
452 if ( aUserOpt.IsTokenReadonly( USER_OPT_ZIP ) )
453 {
454 pPLZEdit->Disable();
455 nEditCount++;
456 }
457 if ( aUserOpt.IsTokenReadonly( USER_OPT_CITY ) )
458 {
459 pCityEdit->Disable();
460 nEditCount++;
461 }
462 if ( bUS )
463 {
464 aUsStateEdit.SetText( aUserOpt.GetState() );
465 if ( aUserOpt.IsTokenReadonly( USER_OPT_STATE ) )
466 {
467 aUsStateEdit.Disable();
468 nEditCount++;
469 }
470 }
471 aCityLbl.Enable( ( nEditCount != ( bUS ? 3 : 2 ) ) );
472 aCountryEdit.SetText( aUserOpt.GetCountry() );
473 if ( aUserOpt.IsTokenReadonly( USER_OPT_COUNTRY ) )
474 {
475 aCountryLbl.Disable();
476 aCountryEdit.Disable();
477 }
478 aTitleEdit.SetText( aUserOpt.GetTitle() );
479 aPositionEdit.SetText( aUserOpt.GetPosition() );
480 nEditCount = 0;
481 if ( aUserOpt.IsTokenReadonly( USER_OPT_TITLE ) )
482 {
483 aTitleEdit.Disable();
484 nEditCount++;
485 }
486 if ( aUserOpt.IsTokenReadonly( USER_OPT_POSITION ) )
487 {
488 aPositionEdit.Disable();
489 nEditCount++;
490 }
491 aTitlePosLbl.Enable( ( nEditCount != 2 ) );
492 aTelPrivEdit.SetText( aUserOpt.GetTelephoneHome() );
493 aTelCompanyEdit.SetText( aUserOpt.GetTelephoneWork() );
494 nEditCount = 0;
495 if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEHOME ) )
496 {
497 aTelPrivEdit.Disable();
498 nEditCount++;
499 }
500 if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEWORK ) )
501 {
502 aTelCompanyEdit.Disable();
503 nEditCount++;
504 }
505 aPhoneLbl.Enable( ( nEditCount != 2 ) );
506 aFaxEdit.SetText( aUserOpt.GetFax() );
507 aEmailEdit.SetText( aUserOpt.GetEmail() );
508 nEditCount = 0;
509 if ( aUserOpt.IsTokenReadonly( USER_OPT_FAX ) )
510 {
511 aFaxEdit.Disable();
512 nEditCount++;
513 }
514 if ( aUserOpt.IsTokenReadonly( USER_OPT_EMAIL ) )
515 {
516 aEmailEdit.Disable();
517 nEditCount++;
518 }
519 aFaxMailLbl.Enable( ( nEditCount != 2 ) );
520
521 if ( LANGUAGE_RUSSIAN == eLang )
522 {
523 aFatherName.SetText( aUserOpt.GetFathersName() );
524 aApartmentNrEdit.SetText( aUserOpt.GetApartment() );
525 }
526
527 aCompanyEdit.SaveValue();
528 aFirstName.SaveValue();
529 aFatherName.SaveValue();
530 aName.SaveValue();
531 aShortName.SaveValue();
532 aStreetEdit.SaveValue();
533 aApartmentNrEdit.SaveValue();
534 aPLZEdit.SaveValue();
535 aCityEdit.SaveValue();
536 aUsCityEdit.SaveValue();
537 aUsStateEdit.SaveValue();
538 aUsZipEdit.SaveValue();
539 aCountryEdit.SaveValue();
540 aTitleEdit.SaveValue();
541 aPositionEdit.SaveValue();
542 aTelPrivEdit.SaveValue();
543 aTelCompanyEdit.SaveValue();
544 aFaxEdit.SaveValue();
545 aEmailEdit.SaveValue();
546 }
547
548 // -----------------------------------------------------------------------
549
DeactivatePage(SfxItemSet * _pSet)550 int SvxGeneralTabPage::DeactivatePage( SfxItemSet* _pSet )
551 {
552 if ( _pSet )
553 FillItemSet( *_pSet );
554 return LEAVE_PAGE;
555 }
556
557 /* vim: set noet sw=4 ts=4: */
558