LCOV - code coverage report
Current view: top level - cui/source/options - optgenrl.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 341 0.0 %
Date: 2012-08-25 Functions: 0 13 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 1373 0.0 %

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

Generated by: LCOV version 1.10