Update ooo320-m1
[ooovba.git] / svx / source / cui / optgenrl.cxx
blobdd30e74da24e2a5ddf87596dd1a0f4262c67d316
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: optgenrl.cxx,v $
10 * $Revision: 1.14 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_svx.hxx"
34 #ifdef SVX_DLLIMPLEMENTATION
35 #undef SVX_DLLIMPLEMENTATION
36 #endif
38 // include ---------------------------------------------------------------
39 #include <tools/shl.hxx>
40 #include <vcl/svapp.hxx>
41 #include <vcl/msgbox.hxx>
42 #include <svtools/saveopt.hxx>
44 #define _SVX_OPTGENRL_CXX
46 #include <svx/dialogs.hrc>
47 #include "optgenrl.hrc"
48 #include <svtools/useroptions.hxx>
49 #include "cuioptgenrl.hxx"
50 #include <svx/dialmgr.hxx>
51 #include "dlgutil.hxx"
52 #include <svx/strarray.hxx>
54 #define TRIM(s) s.EraseLeadingChars().EraseTrailingChars()
56 // struct GeneralTabPage_Impl --------------------------------------------
58 struct GeneralTabPage_Impl
60 BOOL mbStreetEnabled;
61 BOOL mbPLZEnabled;
62 BOOL mbCityEnabled;
63 BOOL mbUsCityEnabled;
64 BOOL mbUsZipEnabled;
66 String maQueryStr;
68 GeneralTabPage_Impl() :
69 mbStreetEnabled ( FALSE ),
70 mbPLZEnabled ( FALSE ),
71 mbCityEnabled ( FALSE ),
72 mbUsCityEnabled ( FALSE ),
73 mbUsZipEnabled ( FALSE ) {}
76 // -----------------------------------------------------------------------
78 // kommt aus adritem.cxx
79 //CHINA001 extern String ConvertToStore_Impl( const String& );
80 //copy from adritem.cxx, since it will leave in svx.
81 String ConvertToStore_Impl( const String& rText )
83 String sRet;
84 USHORT i = 0;
86 while ( i < rText.Len() )
88 if ( rText.GetChar(i) == '\\' || rText.GetChar(i) == '#' )
89 sRet += '\\';
90 sRet += rText.GetChar(i++);
92 return sRet;
96 // -----------------------------------------------------------------------
98 SvxGeneralTabPage::SvxGeneralTabPage( Window* pParent, const SfxItemSet& rCoreSet ) :
100 SfxTabPage( pParent, SVX_RES(RID_SFXPAGE_GENERAL), rCoreSet ),
102 aCompanyLbl ( this, SVX_RES( FT_COMPANY ), true ),
103 aCompanyEdit ( this, SVX_RES( ED_COMPANY ), INDEX_NOTSET, &aCompanyLbl ),
104 aNameLbl ( this, SVX_RES( FT_NAME ), true ),
105 aNameLblRuss ( this, SVX_RES( FT_NAME_RUSS ), true ),
106 aNameLblEastern ( this, SVX_RES( FT_NAME_EASTERN ), true ),
107 aFirstName ( this, SVX_RES( ED_FIRSTNAME ), 0, &aNameLbl ),
108 aFatherName ( this, SVX_RES( ED_FATHERNAME ) ),
109 aName ( this, SVX_RES( ED_NAME ), 1, &aNameLbl ),
110 aShortName ( this, SVX_RES( ED_SHORTNAME ), 2, &aNameLbl ),
111 aStreetLbl ( this, SVX_RES( FT_STREET ), true ),
112 aStreetLblRuss ( this, SVX_RES( FT_STREET_RUSS ), true ),
113 aStreetEdit ( this, SVX_RES( ED_STREET ), 0, &aStreetLbl ),
114 aApartmentNrEdit( this, SVX_RES( ED_APARTMENTNR ), 1, &aStreetLblRuss ),
115 aCityLbl ( this, SVX_RES( FT_CITY ), true ),
116 aPLZEdit ( this, SVX_RES( ED_PLZ ), 0, &aCityLbl ),
117 aCityEdit ( this, SVX_RES( ED_CITY ), 1, &aCityLbl ),
118 aUsCityEdit ( this, SVX_RES( ED_US_CITY ), 0, &aCityLbl ),
119 aUsStateEdit ( this, SVX_RES( ED_US_STATE ), 1, &aCityLbl ),
120 aUsZipEdit ( this, SVX_RES( ED_US_ZIPCODE ), 2, &aCityLbl ),
121 aCountryLbl ( this, SVX_RES( FT_COUNTRY ), true ),
122 aCountryEdit ( this, SVX_RES( ED_COUNTRY ), INDEX_NOTSET, &aCountryLbl ),
123 aTitlePosLbl ( this, SVX_RES( FT_TITLEPOS ), true ),
124 aTitleEdit ( this, SVX_RES( ED_TITLE ), 0, &aTitlePosLbl ),
125 aPositionEdit ( this, SVX_RES( ED_POSITION ), 1, &aTitlePosLbl ),
126 aPhoneLbl ( this, SVX_RES( FT_PHONE ), true ),
127 aTelPrivEdit ( this, SVX_RES( ED_TELPRIVAT ), 0, &aPhoneLbl ),
128 aTelCompanyEdit ( this, SVX_RES( ED_TELCOMPANY ), 1, &aPhoneLbl ),
129 aFaxMailLbl ( this, SVX_RES( FT_FAXMAIL ), true ),
130 aFaxEdit ( this, SVX_RES( ED_FAX ), 0, &aFaxMailLbl ),
131 aEmailEdit ( this, SVX_RES( ED_EMAIL ), 1, &aFaxMailLbl ),
132 aAddrFrm ( this, SVX_RES( GB_ADDRESS ) ),
133 aUseDataCB ( this, SVX_RES( CB_USEDATA ) ),
135 pImpl ( new GeneralTabPage_Impl )
138 LanguageType eLang = Application::GetSettings().GetUILanguage();
139 pImpl->maQueryStr = String( SVX_RES( STR_QUERY_REG ) );
141 if ( LANGUAGE_ENGLISH_US == eLang )
143 // amerikanische Postadresse aufbauen
144 aPLZEdit.Hide();
145 aCityEdit.Hide();
146 aCityLbl.SetText( SVX_RES( STR_US_STATE ) );
148 else if ( LANGUAGE_RUSSIAN == eLang )
150 aUsCityEdit.Hide();
151 aUsStateEdit.Hide();
152 aUsZipEdit.Hide();
153 aNameLbl.Hide();
154 aNameLblRuss.Show();
155 aStreetLbl.Hide();
156 aStreetLblRuss.Show();
157 aFatherName.Show();
158 aName.SetIndex( 0 );
159 aName.SetLabel( &aNameLblRuss );
160 aFirstName.SetIndex( 1 );
161 aFirstName.SetLabel( &aNameLblRuss );
162 aFatherName.SetIndex( 2 );
163 aFatherName.SetLabel( &aNameLblRuss );
164 aShortName.SetIndex( 3 );
165 aShortName.SetLabel( &aNameLblRuss );
167 Point aEditPoint = LogicToPixel( Point( MID, LINE(1) ), MAP_APPFONT );
168 Point aRightPoint = LogicToPixel( Point( RIGHT, LINE(1) ), MAP_APPFONT );
169 Size aEditSize = LogicToPixel( Size( 42, 12 ), MAP_APPFONT );
170 Size a2Size = LogicToPixel( Size( 2, 2 ), MAP_APPFONT );
171 long nDelta = aEditSize.Width() + a2Size.Width();
172 aName.SetPosSizePixel( aEditPoint, aEditSize );
173 aEditPoint.X() = aEditPoint.X() + nDelta;
174 aFirstName.SetPosSizePixel( aEditPoint, aEditSize );
175 aEditPoint.X() = aEditPoint.X() + nDelta;
176 aFatherName.SetPosSizePixel( aEditPoint, aEditSize );
177 aEditPoint.X() = aEditPoint.X() + nDelta;
178 aEditSize.Width() = aRightPoint.X() - aEditPoint.X();
179 aShortName.SetPosSizePixel( aEditPoint, aEditSize );
181 Size aStreetSize = aStreetEdit.GetSizePixel();
182 aStreetSize.Width() = aStreetSize.Width() - aEditSize.Width() - a2Size.Width();
183 aStreetEdit.SetSizePixel( aStreetSize );
184 aApartmentNrEdit.Show();
185 Point aApartmentPoint = LogicToPixel( Point( MID, LINE(2) ), MAP_APPFONT );
186 aApartmentPoint.X() = aEditPoint.X();
187 aApartmentNrEdit.SetPosSizePixel( aApartmentPoint, aEditSize );
189 aName.SetZOrder( &aNameLblRuss, WINDOW_ZORDER_BEHIND );
190 aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
191 aFatherName.SetZOrder( &aFirstName, WINDOW_ZORDER_BEHIND );
193 else if ( LANGUAGE_JAPANESE == eLang ||
194 LANGUAGE_KOREAN == eLang ||
195 LANGUAGE_CHINESE_TRADITIONAL == eLang ||
196 LANGUAGE_CHINESE_SIMPLIFIED == eLang)
198 aUsCityEdit.Hide();
199 aUsStateEdit.Hide();
200 aUsZipEdit.Hide();
201 aNameLbl.Hide();
202 aNameLblEastern.Show();
204 // swap "first name" field and "last name" field
205 Point aPosTmp = aFirstName.GetPosPixel();
206 aFirstName.SetPosPixel( aName.GetPosPixel() );
207 aName.SetPosPixel( aPosTmp );
208 aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
210 else
212 aUsCityEdit.Hide();
213 aUsStateEdit.Hide();
214 aUsZipEdit.Hide();
217 FreeResource();
219 // diese Page braucht ExchangeSupport
220 SetExchangeSupport();
222 Link aLink = LINK( this, SvxGeneralTabPage, ModifyHdl_Impl );
223 aFirstName.SetModifyHdl( aLink );
224 aName.SetModifyHdl( aLink );
226 // because some labels have text for more than one edit field we have to split these texts
227 // and set these texts as accessible name of the corresponding edit fields
228 SvxUserEdit* pEdits[] =
230 &aCompanyEdit, &aFirstName, &aFatherName, &aName, &aShortName, &aStreetEdit,
231 &aApartmentNrEdit, &aPLZEdit, &aCityEdit, &aUsCityEdit, &aUsStateEdit, &aUsZipEdit,
232 &aCountryEdit, &aTitleEdit, &aPositionEdit, &aTelPrivEdit, &aTelCompanyEdit,
233 &aFaxEdit, &aEmailEdit, NULL
235 SvxUserEdit** pCurrent = pEdits;
236 while ( *pCurrent )
238 Window* pLabel = (*pCurrent)->GetLabel();
239 if ( pLabel )
241 String sName, sText = pLabel->GetDisplayText();
242 sal_Int16 nIndex = (*pCurrent)->GetIndex();
243 if ( INDEX_NOTSET == nIndex )
244 sName = sText;
245 else
246 sName = sText.GetToken( nIndex, '/' );
247 sName.EraseAllChars( '(' );
248 sName.EraseAllChars( ')' );
249 if ( sName.Len() > 0 )
250 (*pCurrent)->SetAccessibleName( sName );
252 pCurrent++;
256 //------------------------------------------------------------------------
258 SvxGeneralTabPage::~SvxGeneralTabPage()
260 delete pImpl;
263 //------------------------------------------------------------------------
265 SfxTabPage* SvxGeneralTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet )
267 return ( new SvxGeneralTabPage( pParent, rAttrSet ) );
270 //------------------------------------------------------------------------
272 BOOL SvxGeneralTabPage::FillItemSet( SfxItemSet& )
274 // Eingaben trimmen (f"uhrende und nachfolgende Leerzeichen entfernen)
275 aCompanyEdit.SetText( TRIM(aCompanyEdit.GetText()) );
276 aFirstName.SetText( TRIM(aFirstName.GetText()) );
277 aName.SetText( TRIM(aName.GetText()) );
278 aShortName.SetText( TRIM(aShortName.GetText()) );
279 aStreetEdit.SetText( TRIM(aStreetEdit.GetText()) );
280 aCountryEdit.SetText( TRIM(aCountryEdit.GetText()) );
281 aPLZEdit.SetText( TRIM(aPLZEdit.GetText()) );
282 aCityEdit.SetText( TRIM(aCityEdit.GetText()) );
283 aUsCityEdit.SetText( TRIM(aUsCityEdit.GetText()) );
284 aUsStateEdit.SetText( TRIM(aUsStateEdit.GetText()) );
285 aUsZipEdit.SetText( TRIM(aUsZipEdit.GetText()) );
286 aTitleEdit.SetText( TRIM(aTitleEdit.GetText()) );
287 aPositionEdit.SetText( TRIM(aPositionEdit.GetText()) );
288 aTelPrivEdit.SetText( TRIM(aTelPrivEdit.GetText()) );
289 aTelCompanyEdit.SetText( TRIM(aTelCompanyEdit.GetText()) );
290 aFaxEdit.SetText( TRIM(aFaxEdit.GetText()) );
291 aEmailEdit.SetText( TRIM(aEmailEdit.GetText()) );
293 BOOL bModified = FALSE;
294 bModified |= GetAddress_Impl();
295 SvtSaveOptions aSaveOpt;
296 if ( aUseDataCB.IsChecked() != aSaveOpt.IsUseUserData() )
298 aSaveOpt.SetUseUserData( aUseDataCB.IsChecked() );
299 bModified |= TRUE;
301 return bModified;
304 //------------------------------------------------------------------------
306 void SvxGeneralTabPage::Reset( const SfxItemSet& rSet )
308 SetAddress_Impl();
310 USHORT nWhich = GetWhich( SID_FIELD_GRABFOCUS );
311 if ( rSet.GetItemState( nWhich ) == SFX_ITEM_SET )
313 USHORT nField = ( (SfxUInt16Item&)rSet.Get( nWhich ) ).GetValue();
315 switch ( nField )
317 case COMPANY_EDIT: aCompanyEdit.GrabFocus(); break;
318 case FIRSTNAME_EDIT: aFirstName.GrabFocus(); break;
319 case LASTNAME_EDIT: aName.GrabFocus(); break;
320 case STREET_EDIT: aStreetEdit.GrabFocus(); break;
321 case COUNTRY_EDIT: aCountryEdit.GrabFocus(); break;
322 case PLZ_EDIT:
323 if ( aPLZEdit.IsVisible() )
324 aPLZEdit.GrabFocus();
325 else
326 aUsZipEdit.GrabFocus();
327 break;
328 case CITY_EDIT:
329 if ( aCityEdit.IsVisible() )
330 aCityEdit.GrabFocus();
331 else
332 aUsCityEdit.GrabFocus();
333 break;
334 case STATE_EDIT:
335 if ( aUsStateEdit.IsVisible() )
336 aUsStateEdit.GrabFocus();
337 else
338 aCityEdit.GrabFocus();
339 break;
340 case TITLE_EDIT: aTitleEdit.GrabFocus(); break;
341 case POSITION_EDIT: aPositionEdit.GrabFocus(); break;
342 case SHORTNAME_EDIT: aShortName.GrabFocus(); break;
343 case TELPRIV_EDIT: aTelPrivEdit.GrabFocus(); break;
344 case TELCOMPANY_EDIT: aTelCompanyEdit.GrabFocus(); break;
345 case FAX_EDIT: aFaxEdit.GrabFocus(); break;
346 case EMAIL_EDIT: aEmailEdit.GrabFocus(); break;
347 default: aCompanyEdit.GrabFocus();
351 aUseDataCB.Check( SvtSaveOptions().IsUseUserData() );
354 //------------------------------------------------------------------------
356 IMPL_LINK( SvxGeneralTabPage, ModifyHdl_Impl, Edit *, pEdit )
358 if ( aShortName.IsEnabled() )
360 String aShortStr( aShortName.GetText() );
361 switch ( aShortStr.Len() )
363 case 0:
364 aShortStr = String( RTL_CONSTASCII_STRINGPARAM(" ") );
365 break;
367 case 1:
368 aShortStr += ' ';
369 break;
372 USHORT nPos = ( pEdit == &aFirstName ) ? 0 : 1;
373 String aTxt = pEdit->GetText();
374 sal_Unicode cChar = ( aTxt.Len() > 0 ) ? aTxt.GetChar(0) : ' ';
375 aShortStr.SetChar( nPos, cChar );
376 aShortStr.EraseTrailingChars();
377 aShortName.SetText( aShortStr );
379 return 0;
382 //------------------------------------------------------------------------
384 sal_Bool SvxGeneralTabPage::GetAddress_Impl()
386 BOOL bRet =
387 ( aCompanyEdit.GetSavedValue() != aCompanyEdit.GetText() ||
388 aFirstName.GetSavedValue() != aFirstName.GetText() ||
389 aFatherName.GetSavedValue() != aFatherName.GetText() ||
390 aName.GetSavedValue() != aName.GetText() ||
391 aShortName.GetSavedValue() != aShortName.GetText() ||
392 aStreetEdit.GetSavedValue() != aStreetEdit.GetText() ||
393 aApartmentNrEdit.GetSavedValue() != aApartmentNrEdit.GetText() ||
394 aPLZEdit.GetSavedValue() != aPLZEdit.GetText() ||
395 aCityEdit.GetSavedValue() != aCityEdit.GetText() ||
396 aUsCityEdit.GetSavedValue() != aUsCityEdit.GetText() ||
397 aUsStateEdit.GetSavedValue() != aUsStateEdit.GetText() ||
398 aUsZipEdit.GetSavedValue() != aUsZipEdit.GetText() ||
399 aCountryEdit.GetSavedValue() != aCountryEdit.GetText() ||
400 aTitleEdit.GetSavedValue() != aTitleEdit.GetText() ||
401 aPositionEdit.GetSavedValue() != aPositionEdit.GetText() ||
402 aTelPrivEdit.GetSavedValue() != aTelPrivEdit.GetText() ||
403 aTelCompanyEdit.GetSavedValue() != aTelCompanyEdit.GetText() ||
404 aFaxEdit.GetSavedValue() != aFaxEdit.GetText() ||
405 aEmailEdit.GetSavedValue() != aEmailEdit.GetText() );
407 LanguageType eLang = Application::GetSettings().GetUILanguage();
408 BOOL bUS = ( LANGUAGE_ENGLISH_US == eLang );
410 SvtUserOptions aUserOpt;
411 aUserOpt.SetCompany(aCompanyEdit.GetText());
412 aUserOpt.SetFirstName(aFirstName.GetText());
413 aUserOpt.SetLastName(aName.GetText());
414 aUserOpt.SetID( aShortName.GetText());
416 aUserOpt.SetStreet(aStreetEdit.GetText() );
418 aUserOpt.SetCountry(aCountryEdit.GetText() );
420 aUserOpt.SetZip(bUS ? aUsZipEdit.GetText() : aPLZEdit.GetText() );
421 aUserOpt.SetCity(bUS ? aUsCityEdit.GetText() : aCityEdit.GetText() );
423 aUserOpt.SetTitle( aTitleEdit.GetText() );
424 aUserOpt.SetPosition(aPositionEdit.GetText() );
425 aUserOpt.SetTelephoneHome( aTelPrivEdit.GetText() );
426 aUserOpt.SetTelephoneWork( aTelCompanyEdit.GetText() );
427 aUserOpt.SetFax( aFaxEdit.GetText() );
428 aUserOpt.SetEmail( aEmailEdit.GetText() );
429 aUserOpt.SetState( bUS ? aUsStateEdit.GetText() : String() );
431 if ( LANGUAGE_RUSSIAN == eLang )
433 aUserOpt.SetFathersName( aFatherName.GetText() );
434 aUserOpt.SetApartment( aApartmentNrEdit.GetText() );
436 return bRet;
439 //------------------------------------------------------------------------
441 void SvxGeneralTabPage::SetAddress_Impl()
443 LanguageType eLang = Application::GetSettings().GetUILanguage();
444 BOOL bUS = ( LANGUAGE_ENGLISH_US == eLang );
445 SvtUserOptions aUserOpt;
446 aCompanyEdit.SetText( aUserOpt.GetCompany() );
447 if ( aUserOpt.IsTokenReadonly( USER_OPT_COMPANY ) )
449 aCompanyLbl.Disable();
450 aCompanyEdit.Disable();
452 sal_Int16 nEditCount = 0;
453 aFirstName.SetText( aUserOpt.GetFirstName() );
454 if ( aUserOpt.IsTokenReadonly( USER_OPT_FIRSTNAME ) )
456 aFirstName.Disable();
457 nEditCount++;
459 aName.SetText( aUserOpt.GetLastName() );
460 if ( aUserOpt.IsTokenReadonly( USER_OPT_LASTNAME ) )
462 aName.Disable();
463 nEditCount++;
465 aShortName.SetText( aUserOpt.GetID() );
466 if ( aUserOpt.IsTokenReadonly( USER_OPT_ID ) )
468 aShortName.Disable();
469 nEditCount++;
471 aNameLbl.Enable( ( nEditCount != 3 ) );
472 aStreetEdit.SetText( aUserOpt.GetStreet() );
473 if ( aUserOpt.IsTokenReadonly( USER_OPT_STREET ) )
475 aStreetLbl.Disable();
476 aStreetEdit.Disable();
478 Edit* pPLZEdit = bUS ? &aUsZipEdit : &aPLZEdit;
479 Edit* pCityEdit = bUS ? &aUsCityEdit : &aCityEdit;
480 pPLZEdit->SetText( aUserOpt.GetZip() );
481 pCityEdit->SetText( aUserOpt.GetCity() );
482 nEditCount = 0;
483 if ( aUserOpt.IsTokenReadonly( USER_OPT_ZIP ) )
485 pPLZEdit->Disable();
486 nEditCount++;
488 if ( aUserOpt.IsTokenReadonly( USER_OPT_CITY ) )
490 pCityEdit->Disable();
491 nEditCount++;
493 if ( bUS )
495 aUsStateEdit.SetText( aUserOpt.GetState() );
496 if ( aUserOpt.IsTokenReadonly( USER_OPT_STATE ) )
498 aUsStateEdit.Disable();
499 nEditCount++;
502 aCityLbl.Enable( ( nEditCount != ( bUS ? 3 : 2 ) ) );
503 aCountryEdit.SetText( aUserOpt.GetCountry() );
504 if ( aUserOpt.IsTokenReadonly( USER_OPT_COUNTRY ) )
506 aCountryLbl.Disable();
507 aCountryEdit.Disable();
509 aTitleEdit.SetText( aUserOpt.GetTitle() );
510 aPositionEdit.SetText( aUserOpt.GetPosition() );
511 nEditCount = 0;
512 if ( aUserOpt.IsTokenReadonly( USER_OPT_TITLE ) )
514 aTitleEdit.Disable();
515 nEditCount++;
517 if ( aUserOpt.IsTokenReadonly( USER_OPT_POSITION ) )
519 aPositionEdit.Disable();
520 nEditCount++;
522 aTitlePosLbl.Enable( ( nEditCount != 2 ) );
523 aTelPrivEdit.SetText( aUserOpt.GetTelephoneHome() );
524 aTelCompanyEdit.SetText( aUserOpt.GetTelephoneWork() );
525 nEditCount = 0;
526 if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEHOME ) )
528 aTelPrivEdit.Disable();
529 nEditCount++;
531 if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEWORK ) )
533 aTelCompanyEdit.Disable();
534 nEditCount++;
536 aPhoneLbl.Enable( ( nEditCount != 2 ) );
537 aFaxEdit.SetText( aUserOpt.GetFax() );
538 aEmailEdit.SetText( aUserOpt.GetEmail() );
539 nEditCount = 0;
540 if ( aUserOpt.IsTokenReadonly( USER_OPT_FAX ) )
542 aFaxEdit.Disable();
543 nEditCount++;
545 if ( aUserOpt.IsTokenReadonly( USER_OPT_EMAIL ) )
547 aEmailEdit.Disable();
548 nEditCount++;
550 aFaxMailLbl.Enable( ( nEditCount != 2 ) );
552 if ( LANGUAGE_RUSSIAN == eLang )
554 aFatherName.SetText( aUserOpt.GetFathersName() );
555 aApartmentNrEdit.SetText( aUserOpt.GetApartment() );
558 aCompanyEdit.SaveValue();
559 aFirstName.SaveValue();
560 aFatherName.SaveValue();
561 aName.SaveValue();
562 aShortName.SaveValue();
563 aStreetEdit.SaveValue();
564 aApartmentNrEdit.SaveValue();
565 aPLZEdit.SaveValue();
566 aCityEdit.SaveValue();
567 aUsCityEdit.SaveValue();
568 aUsStateEdit.SaveValue();
569 aUsZipEdit.SaveValue();
570 aCountryEdit.SaveValue();
571 aTitleEdit.SaveValue();
572 aPositionEdit.SaveValue();
573 aTelPrivEdit.SaveValue();
574 aTelCompanyEdit.SaveValue();
575 aFaxEdit.SaveValue();
576 aEmailEdit.SaveValue();
579 // -----------------------------------------------------------------------
581 int SvxGeneralTabPage::DeactivatePage( SfxItemSet* _pSet )
583 if ( _pSet )
584 FillItemSet( *_pSet );
585 return LEAVE_PAGE;