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 57 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 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 227 SvxGeneralTabPage::~SvxGeneralTabPage() 228 { 229 delete pImpl; 230 } 231 232 //------------------------------------------------------------------------ 233 234 SfxTabPage* SvxGeneralTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet ) 235 { 236 return ( new SvxGeneralTabPage( pParent, rAttrSet ) ); 237 } 238 239 //------------------------------------------------------------------------ 240 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 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 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 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 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 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