summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorUray M. János <uray.janos@gmail.com>2012-08-17 10:20:17 +0200
committerAndras Timar <atimar@suse.com>2012-08-29 20:56:58 +0000
commit030df631a8830d7c3225c22d5e36c0ef88577b24 (patch)
treebbbe56bfcba3c68cae3c65051cde79e44a569074 /cui
parentc20f15c1ebf648c3ed71de0ac4771029c9bb59bb (diff)
Cleanup in Tools > Options > User Data
Change-Id: I4f0a0304d7dd23ed8ce011e6f8f90e170bfbe5df Cleanup in Tools > Options > User Data Change-Id: If89f19e22b6efeb0fdd811ff8afe2cb6c0b0bf4e Reviewed-on: https://gerrit.libreoffice.org/500 Reviewed-by: Andras Timar <atimar@suse.com> Tested-by: Andras Timar <atimar@suse.com>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/inc/cuioptgenrl.hxx89
-rw-r--r--cui/source/options/optgenrl.cxx786
-rw-r--r--cui/source/options/optgenrl.hrc23
-rw-r--r--cui/source/options/optgenrl.src76
4 files changed, 418 insertions, 556 deletions
diff --git a/cui/source/inc/cuioptgenrl.hxx b/cui/source/inc/cuioptgenrl.hxx
index 2ac61034f1cb..4c54f889cdb0 100644
--- a/cui/source/inc/cuioptgenrl.hxx
+++ b/cui/source/inc/cuioptgenrl.hxx
@@ -16,40 +16,23 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef _SVX_CUIOPTGENRL_HXX
-#define _SVX_CUIOPTGENRL_HXX
+#ifndef SVX_CUIOPTGENRL_HXX
+#define SVX_CUIOPTGENRL_HXX
+
+// include ---------------------------------------------------------------
#include <svx/optgenrl.hxx>
#include <sfx2/tabdlg.hxx>
#include <vcl/fixed.hxx>
-#include <vcl/edit.hxx>
-#include <vcl/group.hxx>
+
+#include <vector>
+#include <boost/shared_ptr.hpp>
// forward ---------------------------------------------------------------
-struct GeneralTabPage_Impl;
+class Edit;
#define SfxGeneralTabPage SvxGeneralTabPage
-#define INDEX_NOTSET ((sal_Int16)-1)
-
-// class SvxUserEdit -----------------------------------------------------
-
-class SvxUserEdit : public Edit
-{
-private:
- sal_Int16 m_nIndex;
- FixedText* m_pLabel;
-
-public:
- SvxUserEdit( Window* pParent, const ResId& rResId,
- sal_Int16 nIndex = INDEX_NOTSET, FixedText* pLabel = NULL ) :
- Edit( pParent, rResId, true ), m_nIndex( nIndex ), m_pLabel( pLabel ) {}
-
- inline void SetIndex( sal_Int16 nIndex ) { m_nIndex = nIndex; }
- inline sal_Int16 GetIndex() const { return m_nIndex; }
- inline void SetLabel( FixedText* pLabel ) { m_pLabel = pLabel; }
- inline FixedText* GetLabel() const { return m_pLabel; }
-};
// class SvxGeneralTabPage -----------------------------------------------
@@ -57,62 +40,44 @@ class SvxGeneralTabPage : public SfxTabPage
{
using TabPage::DeactivatePage;
private:
+ // the horizontal line "Address"
FixedLine aAddrFrm;
- FixedText aCompanyLbl;
- SvxUserEdit aCompanyEdit;
- FixedText aNameLbl;
- FixedText aNameLblRuss;
- FixedText aNameLblEastern;
- SvxUserEdit aFirstName;
- SvxUserEdit aFatherName;
- SvxUserEdit aName;
- SvxUserEdit aShortName;
- FixedText aStreetLbl;
- FixedText aStreetLblRuss;
- SvxUserEdit aStreetEdit;
- SvxUserEdit aApartmentNrEdit;
- FixedText aCityLbl;
- SvxUserEdit aPLZEdit;
- SvxUserEdit aCityEdit;
- SvxUserEdit aUsCityEdit;
- SvxUserEdit aUsStateEdit;
- SvxUserEdit aUsZipEdit;
- FixedText aCountryLbl;
- SvxUserEdit aCountryEdit;
- FixedText aTitlePosLbl;
- SvxUserEdit aTitleEdit;
- SvxUserEdit aPositionEdit;
- FixedText aPhoneLbl;
- SvxUserEdit aTelPrivEdit;
- SvxUserEdit aTelCompanyEdit;
- FixedText aFaxMailLbl;
- SvxUserEdit aFaxEdit;
- SvxUserEdit aEmailEdit;
+ // the "Use data for document properties" checkbox (but where is it?)
CheckBox aUseDataCB;
+ // rows
+ class Row;
+ std::vector<boost::shared_ptr<Row> > vRows;
+ // fields
+ class Field;
+ std::vector<boost::shared_ptr<Field> > vFields;
+ // "name" fields
+ unsigned nNameRow;
+ unsigned nShortNameField;
- GeneralTabPage_Impl* pImpl;
-
-#ifdef _SVX_OPTGENRL_CXX
DECL_LINK( ModifyHdl_Impl, Edit * );
sal_Bool GetAddress_Impl();
void SetAddress_Impl();
-#endif
+
+ void CreateControls ();
+ void PositionControls ();
+ void SetLinks ();
+ void SetAccessibleNames ();
protected:
virtual int DeactivatePage( SfxItemSet* pSet );
public:
SvxGeneralTabPage( Window* pParent, const SfxItemSet& rSet );
- ~SvxGeneralTabPage();
+ ~SvxGeneralTabPage ();
static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet );
- virtual sal_Bool FillItemSet( SfxItemSet& rSet );
+ virtual sal_Bool FillItemSet( SfxItemSet& rSet );
virtual void Reset( const SfxItemSet& rSet );
};
-#endif // #ifndef _SVX_CUIOPTGENRL_HXX
+#endif // #ifndef SVX_CUIOPTGENRL_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optgenrl.cxx b/cui/source/options/optgenrl.cxx
index 6645a2e66c9a..e8d031df704f 100644
--- a/cui/source/options/optgenrl.cxx
+++ b/cui/source/options/optgenrl.cxx
@@ -33,8 +33,9 @@
#include <vcl/msgbox.hxx>
#include <unotools/saveopt.hxx>
#include <svl/intitem.hxx>
+#include <vcl/edit.hxx>
-#define _SVX_OPTGENRL_CXX
+#define SVX_OPTGENRL_CXX
#include <cuires.hrc>
#include "optgenrl.hrc"
@@ -42,29 +43,173 @@
#include "cuioptgenrl.hxx"
#include <dialmgr.hxx>
#include <svx/dlgutil.hxx>
-#include <svx/strarray.hxx>
#include <svx/svxids.hrc> // SID_FIELD_GRABFOCUS
-#define TRIM(s) comphelper::string::strip(s, ' ')
+#include <boost/make_shared.hpp>
-// struct GeneralTabPage_Impl --------------------------------------------
+namespace
+{
+
+// rows
+enum RowType
+{
+ Row_Company,
+ Row_Name,
+ Row_Name_Russian,
+ Row_Name_Eastern,
+ Row_Street,
+ Row_Street_Russian,
+ Row_City,
+ Row_City_US,
+ Row_Country,
+ Row_TitlePos,
+ Row_Phone,
+ Row_FaxMail,
+
+ nRowCount
+};
+
+// language flags
+namespace Lang
+{
+ unsigned const Others = 1;
+ unsigned const Russian = 2;
+ unsigned const Eastern = 4;
+ unsigned const US = 8;
+ unsigned const All = -1;
+}
-struct GeneralTabPage_Impl
+//
+// vRowInfo[] -- rows (text + one or more edit boxes)
+// The order is the same as in RowType above, which is up to down.
+//
+struct
+{
+ // id of the text
+ int nTextId;
+ // language flags (see Lang above):
+ // which language is this row for?
+ unsigned nLangFlags;
+}
+const vRowInfo[] =
+{
+ { FT_COMPANY, Lang::All },
+ { FT_NAME, Lang::All & ~Lang::Russian & ~Lang::Eastern },
+ { FT_NAME_RUSS, Lang::Russian },
+ { FT_NAME_EASTERN, Lang::Eastern },
+ { FT_STREET, Lang::All & ~Lang::Russian },
+ { FT_STREET_RUSS, Lang::Russian },
+ { FT_CITY, Lang::All & ~Lang::US },
+ { FT_CITY_US, Lang::US },
+ { FT_COUNTRY, Lang::All },
+ { FT_TITLEPOS, Lang::All },
+ { FT_PHONE, Lang::All },
+ { FT_FAXMAIL, Lang::All },
+};
+
+//
+// vFieldInfo[] -- edit boxes
+// The order is up to down, and then left to right.
+//
+struct
+{
+ // in which row?
+ RowType eRow;
+ // id of the edit box
+ int nEditId;
+ // relative width
+ // The actual width is calculated from the relative width to fill
+ // the entire row. See PositionControls() below.
+ float fRelativeWidth;
+ // id for SvtUserOptions in unotools/useroptions.hxx
+ int nUserOptionsId;
+ // id for settings the focus (defined in svx/optgenrl.hxx)
+ int nGrabFocusId;
+}
+const vFieldInfo[] =
{
- sal_Bool mbStreetEnabled;
- sal_Bool mbPLZEnabled;
- sal_Bool mbCityEnabled;
- sal_Bool mbUsCityEnabled;
- sal_Bool mbUsZipEnabled;
-
- String maQueryStr;
-
- GeneralTabPage_Impl() :
- mbStreetEnabled ( sal_False ),
- mbPLZEnabled ( sal_False ),
- mbCityEnabled ( sal_False ),
- mbUsCityEnabled ( sal_False ),
- mbUsZipEnabled ( sal_False ) {}
+ // Company
+ { Row_Company, ED_COMPANY, 1, USER_OPT_COMPANY, COMPANY_EDIT },
+ // Name
+ { Row_Name, ED_FIRSTNAME, 5, USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name, ED_NAME, 5, USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name, ED_SHORTNAME, 2, USER_OPT_ID, SHORTNAME_EDIT },
+ // Name (russian)
+ { Row_Name_Russian, ED_NAME, 5, USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name_Russian, ED_FIRSTNAME, 5, USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name_Russian, ED_FATHERNAME, 5, USER_OPT_FATHERSNAME, 0 },
+ { Row_Name_Russian, ED_SHORTNAME, 2, USER_OPT_ID, SHORTNAME_EDIT },
+ // Name (eastern: reversed name order)
+ { Row_Name_Eastern, ED_NAME, 5, USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name_Eastern, ED_FIRSTNAME, 5, USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name_Eastern, ED_SHORTNAME, 2, USER_OPT_ID, SHORTNAME_EDIT },
+ // Street
+ { Row_Street, ED_STREET, 1, USER_OPT_STREET, STREET_EDIT },
+ // Street (russian)
+ { Row_Street_Russian, ED_STREET, 8, USER_OPT_STREET, STREET_EDIT },
+ { Row_Street_Russian, ED_APARTMENTNR, 1, USER_OPT_APARTMENT, 0 },
+ // City
+ { Row_City, ED_PLZ, 1, USER_OPT_ZIP, PLZ_EDIT },
+ { Row_City, ED_CITY, 5, USER_OPT_CITY, CITY_EDIT },
+ // City (US)
+ { Row_City_US, ED_US_CITY, 15, USER_OPT_CITY, CITY_EDIT },
+ { Row_City_US, ED_US_STATE, 5, USER_OPT_STATE, STATE_EDIT },
+ { Row_City_US, ED_US_ZIPCODE, 4, USER_OPT_ZIP, PLZ_EDIT },
+ // Country
+ { Row_Country, ED_COUNTRY, 1, USER_OPT_COUNTRY, COUNTRY_EDIT },
+ // Title/Position
+ { Row_TitlePos, ED_TITLE, 1, USER_OPT_TITLE, TITLE_EDIT },
+ { Row_TitlePos, ED_POSITION, 1, USER_OPT_POSITION, POSITION_EDIT },
+ // Phone
+ { Row_Phone, ED_TELPRIVAT, 1, USER_OPT_TELEPHONEHOME, TELPRIV_EDIT },
+ { Row_Phone, ED_TELCOMPANY, 1, USER_OPT_TELEPHONEWORK, TELCOMPANY_EDIT },
+ // Fax/Mail
+ { Row_FaxMail, ED_FAX, 1, USER_OPT_FAX, FAX_EDIT },
+ { Row_FaxMail, ED_EMAIL, 1, USER_OPT_EMAIL, EMAIL_EDIT },
+};
+
+
+} // namespace
+
+// -----------------------------------------------------------------------
+
+//
+// Row
+//
+struct SvxGeneralTabPage::Row
+{
+ // which row is it?
+ RowType eRow;
+ // row label
+ FixedText aLabel;
+ // first and last field in the row (last is exclusive)
+ unsigned nFirstField, nLastField;
+
+public:
+ Row (Window& rParent, int nResId, RowType eRow_) :
+ eRow(eRow_),
+ aLabel(&rParent, CUI_RES(nResId), true),
+ nFirstField(0), nLastField(0)
+ { }
+};
+
+// -----------------------------------------------------------------------
+
+//
+// Field
+//
+struct SvxGeneralTabPage::Field
+{
+ // which field is this? (in vFieldInfo[] above)
+ unsigned iField;
+ // edit box
+ Edit aEdit;
+
+public:
+ Field (Window& rParent, int nResId, unsigned iField_) :
+ iField(iField_),
+ aEdit(&rParent, CUI_RES(nResId), true)
+ { }
};
// -----------------------------------------------------------------------
@@ -74,160 +219,176 @@ SvxGeneralTabPage::SvxGeneralTabPage( Window* pParent, const SfxItemSet& rCoreSe
SfxTabPage( pParent, CUI_RES(RID_SFXPAGE_GENERAL), rCoreSet ),
aAddrFrm ( this, CUI_RES( GB_ADDRESS ) ),
- aCompanyLbl ( this, CUI_RES( FT_COMPANY ), true ),
- aCompanyEdit ( this, CUI_RES( ED_COMPANY ), INDEX_NOTSET, &aCompanyLbl ),
- aNameLbl ( this, CUI_RES( FT_NAME ), true ),
- aNameLblRuss ( this, CUI_RES( FT_NAME_RUSS ), true ),
- aNameLblEastern ( this, CUI_RES( FT_NAME_EASTERN ), true ),
- aFirstName ( this, CUI_RES( ED_FIRSTNAME ), 0, &aNameLbl ),
- aFatherName ( this, CUI_RES( ED_FATHERNAME ) ),
- aName ( this, CUI_RES( ED_NAME ), 1, &aNameLbl ),
- aShortName ( this, CUI_RES( ED_SHORTNAME ), 2, &aNameLbl ),
- aStreetLbl ( this, CUI_RES( FT_STREET ), true ),
- aStreetLblRuss ( this, CUI_RES( FT_STREET_RUSS ), true ),
- aStreetEdit ( this, CUI_RES( ED_STREET ), 0, &aStreetLbl ),
- aApartmentNrEdit( this, CUI_RES( ED_APARTMENTNR ), 1, &aStreetLblRuss ),
- aCityLbl ( this, CUI_RES( FT_CITY ), true ),
- aPLZEdit ( this, CUI_RES( ED_PLZ ), 0, &aCityLbl ),
- aCityEdit ( this, CUI_RES( ED_CITY ), 1, &aCityLbl ),
- aUsCityEdit ( this, CUI_RES( ED_US_CITY ), 0, &aCityLbl ),
- aUsStateEdit ( this, CUI_RES( ED_US_STATE ), 1, &aCityLbl ),
- aUsZipEdit ( this, CUI_RES( ED_US_ZIPCODE ), 2, &aCityLbl ),
- aCountryLbl ( this, CUI_RES( FT_COUNTRY ), true ),
- aCountryEdit ( this, CUI_RES( ED_COUNTRY ), INDEX_NOTSET, &aCountryLbl ),
- aTitlePosLbl ( this, CUI_RES( FT_TITLEPOS ), true ),
- aTitleEdit ( this, CUI_RES( ED_TITLE ), 0, &aTitlePosLbl ),
- aPositionEdit ( this, CUI_RES( ED_POSITION ), 1, &aTitlePosLbl ),
- aPhoneLbl ( this, CUI_RES( FT_PHONE ), true ),
- aTelPrivEdit ( this, CUI_RES( ED_TELPRIVAT ), 0, &aPhoneLbl ),
- aTelCompanyEdit ( this, CUI_RES( ED_TELCOMPANY ), 1, &aPhoneLbl ),
- aFaxMailLbl ( this, CUI_RES( FT_FAXMAIL ), true ),
- aFaxEdit ( this, CUI_RES( ED_FAX ), 0, &aFaxMailLbl ),
- aEmailEdit ( this, CUI_RES( ED_EMAIL ), 1, &aFaxMailLbl ),
- aUseDataCB ( this, CUI_RES( CB_USEDATA ) ),
- pImpl ( new GeneralTabPage_Impl )
-
+ aUseDataCB ( this, CUI_RES( CB_USEDATA ) )
{
- LanguageType eLang = Application::GetSettings().GetUILanguage();
- pImpl->maQueryStr = String( CUI_RES( STR_QUERY_REG ) );
+ CreateControls();
+ PositionControls();
+ SetExchangeSupport(); // this page needs ExchangeSupport
+ SetLinks();
+ SetAccessibleNames();
+}
- if ( LANGUAGE_ENGLISH_US == eLang )
- {
- // construct American post/mail address
- aPLZEdit.Hide();
- aCityEdit.Hide();
- aCityLbl.SetText( CUI_RES( STR_US_STATE ) );
- }
- else if ( LANGUAGE_RUSSIAN == eLang )
- {
- aUsCityEdit.Hide();
- aUsStateEdit.Hide();
- aUsZipEdit.Hide();
- aNameLbl.Hide();
- aNameLblRuss.Show();
- aStreetLbl.Hide();
- aStreetLblRuss.Show();
- aFatherName.Show();
- aName.SetIndex( 0 );
- aName.SetLabel( &aNameLblRuss );
- aFirstName.SetIndex( 1 );
- aFirstName.SetLabel( &aNameLblRuss );
- aFatherName.SetIndex( 2 );
- aFatherName.SetLabel( &aNameLblRuss );
- aShortName.SetIndex( 3 );
- aShortName.SetLabel( &aNameLblRuss );
-
- Point aEditPoint = LogicToPixel( Point( MID, LINE(1) ), MAP_APPFONT );
- Point aRightPoint = LogicToPixel( Point( RIGHT, LINE(1) ), MAP_APPFONT );
- Size aEditSize = LogicToPixel( Size( 42, 12 ), MAP_APPFONT );
- Size a2Size = LogicToPixel( Size( 2, 2 ), MAP_APPFONT );
- long nDelta = aEditSize.Width() + a2Size.Width();
- aName.SetPosSizePixel( aEditPoint, aEditSize );
- aEditPoint.X() = aEditPoint.X() + nDelta;
- aFirstName.SetPosSizePixel( aEditPoint, aEditSize );
- aEditPoint.X() = aEditPoint.X() + nDelta;
- aFatherName.SetPosSizePixel( aEditPoint, aEditSize );
- aEditPoint.X() = aEditPoint.X() + nDelta;
- aEditSize.Width() = aRightPoint.X() - aEditPoint.X();
- aShortName.SetPosSizePixel( aEditPoint, aEditSize );
-
- Size aStreetSize = aStreetEdit.GetSizePixel();
- aStreetSize.Width() = aStreetSize.Width() - aEditSize.Width() - a2Size.Width();
- aStreetEdit.SetSizePixel( aStreetSize );
- aApartmentNrEdit.Show();
- Point aApartmentPoint = LogicToPixel( Point( MID, LINE(2) ), MAP_APPFONT );
- aApartmentPoint.X() = aEditPoint.X();
- aApartmentNrEdit.SetPosSizePixel( aApartmentPoint, aEditSize );
-
- aName.SetZOrder( &aNameLblRuss, WINDOW_ZORDER_BEHIND );
- aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
- aFatherName.SetZOrder( &aFirstName, WINDOW_ZORDER_BEHIND );
- }
- else if (MsLangId::isFamilyNameFirst(eLang))
+//------------------------------------------------------------------------
+
+SvxGeneralTabPage::~SvxGeneralTabPage ()
+{ }
+
+//------------------------------------------------------------------------
+
+// Creates and initializes the titles and the edit boxes,
+// according to vRowInfo[] and vFieldInfo[] above.
+void SvxGeneralTabPage::CreateControls ()
+{
+ // which language bit do we use? (see Lang and vRowInfo[] above)
+ unsigned LangBit;
+ switch (LanguageType const eLang = Application::GetSettings().GetUILanguage())
{
- aUsCityEdit.Hide();
- aUsStateEdit.Hide();
- aUsZipEdit.Hide();
- aNameLbl.Hide();
- aNameLblEastern.Show();
-
- // swap "first name" field and "last name" field
- Point aPosTmp = aFirstName.GetPosPixel();
- aFirstName.SetPosPixel( aName.GetPosPixel() );
- aName.SetPosPixel( aPosTmp );
- aFirstName.SetZOrder( &aName, WINDOW_ZORDER_BEHIND );
+ case LANGUAGE_ENGLISH_US:
+ LangBit = Lang::US;
+ break;
+ case LANGUAGE_RUSSIAN:
+ LangBit = Lang::Russian;
+ break;
+ default:
+ if (MsLangId::isFamilyNameFirst(eLang))
+ LangBit = Lang::Eastern;
+ else
+ LangBit = Lang::Others;
+ break;
}
- else
+
+ // creating rows
+ unsigned iField = 0;
+ for (unsigned iRow = 0; iRow != nRowCount; ++iRow)
{
- aUsCityEdit.Hide();
- aUsStateEdit.Hide();
- aUsZipEdit.Hide();
+ RowType const eRow = static_cast<RowType>(iRow);
+ // is the row visible?
+ if (!(vRowInfo[iRow].nLangFlags & LangBit))
+ continue;
+ // creating row
+ vRows.push_back(boost::make_shared<Row>(
+ *this, vRowInfo[iRow].nTextId, eRow
+ ));
+ Row& rRow = *vRows.back();
+ // fields in the row
+ static unsigned const nFieldCount = sizeof vFieldInfo / sizeof vFieldInfo[0];
+ // skipping other (invisible) rows
+ while (iField != nFieldCount && vFieldInfo[iField].eRow != eRow)
+ ++iField;
+ // fields in the row
+ rRow.nFirstField = vFields.size();
+ for ( ; iField != nFieldCount && vFieldInfo[iField].eRow == eRow; ++iField)
+ {
+ // creating edit field
+ vFields.push_back(boost::make_shared<Field>(
+ *this, vFieldInfo[iField].nEditId, iField
+ ));
+ // "short name" field?
+ if (vFieldInfo[iField].nEditId == ED_SHORTNAME)
+ {
+ nNameRow = vRows.size() - 1;
+ nShortNameField = vFields.size() - 1;
+ }
+ }
+ rRow.nLastField = vFields.size();
}
FreeResource();
+}
- // this page needs ExchangeSupport
- SetExchangeSupport();
-
- Link aLink = LINK( this, SvxGeneralTabPage, ModifyHdl_Impl );
- aFirstName.SetModifyHdl( aLink );
- aName.SetModifyHdl( aLink );
+//------------------------------------------------------------------------
- // because some labels have text for more than one edit field we have to split these texts
- // and set these texts as accessible name of the corresponding edit fields
- SvxUserEdit* pEdits[] =
- {
- &aCompanyEdit, &aFirstName, &aFatherName, &aName, &aShortName, &aStreetEdit,
- &aApartmentNrEdit, &aPLZEdit, &aCityEdit, &aUsCityEdit, &aUsStateEdit, &aUsZipEdit,
- &aCountryEdit, &aTitleEdit, &aPositionEdit, &aTelPrivEdit, &aTelCompanyEdit,
- &aFaxEdit, &aEmailEdit, NULL
- };
- SvxUserEdit** pCurrent = pEdits;
- while ( *pCurrent )
+// sets the size and the position of the controls
+void SvxGeneralTabPage::PositionControls ()
+{
+ // sizes and locations
+ int const nLeft = 12, nMid = 100, nRight = 250;
+ int const nTop = 14;
+ unsigned const nHSpace = 2, nVSpace = 3;
+ unsigned const nRowHeight = 15, nTextVMargin = 2;
+
+ Point aLabelPos(nLeft, nTop + nTextVMargin);
+ Size aLabelSize(nMid - nLeft - nHSpace, nRowHeight - nVSpace - 2*nTextVMargin);
+ for (unsigned iRow = 0; iRow != vRows.size(); ++iRow, aLabelPos.Y() += nRowHeight)
{
- Window* pLabel = (*pCurrent)->GetLabel();
- if ( pLabel )
+ Row& rRow = *vRows[iRow];
+ // label
+ rRow.aLabel.SetPosSizePixel(
+ LogicToPixel(aLabelPos, MAP_APPFONT),
+ LogicToPixel(aLabelSize, MAP_APPFONT)
+ );
+ // field position
+ Point aFieldPos(nMid, aLabelPos.Y() - nTextVMargin);
+ Size aFieldSize(0, nRowHeight - nVSpace);
+ // sum of the relative widths
+ float fRelWidthSum = 0;
+ for (unsigned iField = rRow.nFirstField; iField != rRow.nLastField; ++iField)
+ fRelWidthSum += vFieldInfo[vFields[iField]->iField].fRelativeWidth;
+ // sum of the actual widths (total width - spaces)
+ unsigned const nActWidthSum =
+ (nRight - nMid) - nHSpace*(rRow.nLastField - rRow.nFirstField);
+ // calculating the actual widths
+ float X = nMid; // starting position
+ for (unsigned iField = rRow.nFirstField; iField != rRow.nLastField; ++iField)
{
- String sName, sText = pLabel->GetDisplayText();
- sal_Int16 nIndex = (*pCurrent)->GetIndex();
- if ( INDEX_NOTSET == nIndex )
- sName = sText;
- else
- sName = sText.GetToken( nIndex, '/' );
- sName = comphelper::string::remove(sName, '(');
- sName = comphelper::string::remove(sName, ')');
- if ( sName.Len() > 0 )
- (*pCurrent)->SetAccessibleName( sName );
+ // calculating position and size
+ Field& rField = *vFields[iField];
+ aFieldPos.X() = X;
+ X += vFieldInfo[rField.iField].fRelativeWidth * nActWidthSum / fRelWidthSum;
+ aFieldSize.Width() = X - aFieldPos.X();
+ X += 2;
+ // setting size
+ rField.aEdit.SetPosSizePixel(
+ LogicToPixel(aFieldPos, MAP_APPFONT),
+ LogicToPixel(aFieldSize, MAP_APPFONT)
+ );
}
- pCurrent++;
}
}
//------------------------------------------------------------------------
-SvxGeneralTabPage::~SvxGeneralTabPage()
+void SvxGeneralTabPage::SetLinks ()
{
- delete pImpl;
+ // link for updating the initials
+ Link aLink = LINK( this, SvxGeneralTabPage, ModifyHdl_Impl );
+ Row& rNameRow = *vRows[nNameRow];
+ for (unsigned i = rNameRow.nFirstField; i != rNameRow.nLastField - 1; ++i)
+ vFields[i]->aEdit.SetModifyHdl(aLink);
+}
+
+//------------------------------------------------------------------------
+
+void SvxGeneralTabPage::SetAccessibleNames ()
+{
+ // Because some labels have text for more than one edit field we have to
+ // split these texts and set these texts as accessible name
+ // of the corresponding edit fields.
+ // E.g. "City/State/Zip" -> "City", "State", "Zip" or
+ // "Tel. (Home/Work)" -> "Tel. (Home)", "Tel. (Work)"
+ for (unsigned i = 0; i != vRows.size(); ++i)
+ {
+ Row& rRow = *vRows[i];
+ rtl::OUString const sLabel = rRow.aLabel.GetDisplayText();
+ rtl::OUString sList = sLabel; // between brackets or the whole label
+ // brackets?
+ int iBracket = sLabel.indexOf('(');
+ if (iBracket != -1)
+ sList = sList.copy(iBracket + 1, sLabel.lastIndexOf(')') - iBracket - 1);
+ // cutting at '/'s
+ int nIndex = 0;
+ for (unsigned iField = rRow.nFirstField; iField != rRow.nLastField; ++iField)
+ {
+ // the token
+ rtl::OUString sPart = sList.getToken(0, '/', nIndex).trim();
+ Edit& rEdit = vFields[iField]->aEdit;
+ // creating the accessible name
+ if (iBracket != -1)
+ rEdit.SetAccessibleName(sLabel.copy(0, iBracket) + "(" + sPart + ")");
+ else
+ rEdit.SetAccessibleName(sPart);
+ }
+ }
}
//------------------------------------------------------------------------
@@ -242,23 +403,8 @@ SfxTabPage* SvxGeneralTabPage::Create( Window* pParent, const SfxItemSet& rAttrS
sal_Bool SvxGeneralTabPage::FillItemSet( SfxItemSet& )
{
// remove leading and trailing whitespaces
- aCompanyEdit.SetText( TRIM(aCompanyEdit.GetText()) );
- aFirstName.SetText( TRIM(aFirstName.GetText()) );
- aName.SetText( TRIM(aName.GetText()) );
- aShortName.SetText( TRIM(aShortName.GetText()) );
- aStreetEdit.SetText( TRIM(aStreetEdit.GetText()) );
- aCountryEdit.SetText( TRIM(aCountryEdit.GetText()) );
- aPLZEdit.SetText( TRIM(aPLZEdit.GetText()) );
- aCityEdit.SetText( TRIM(aCityEdit.GetText()) );
- aUsCityEdit.SetText( TRIM(aUsCityEdit.GetText()) );
- aUsStateEdit.SetText( TRIM(aUsStateEdit.GetText()) );
- aUsZipEdit.SetText( TRIM(aUsZipEdit.GetText()) );
- aTitleEdit.SetText( TRIM(aTitleEdit.GetText()) );
- aPositionEdit.SetText( TRIM(aPositionEdit.GetText()) );
- aTelPrivEdit.SetText( TRIM(aTelPrivEdit.GetText()) );
- aTelCompanyEdit.SetText( TRIM(aTelCompanyEdit.GetText()) );
- aFaxEdit.SetText( TRIM(aFaxEdit.GetText()) );
- aEmailEdit.SetText( TRIM(aEmailEdit.GetText()) );
+ for (unsigned i = 0; i != vFields.size(); ++i)
+ vFields[i]->aEdit.SetText( comphelper::string::strip(vFields[i]->aEdit.GetText(), ' ') );
sal_Bool bModified = sal_False;
bModified |= GetAddress_Impl();
@@ -277,45 +423,18 @@ void SvxGeneralTabPage::Reset( const SfxItemSet& rSet )
{
SetAddress_Impl();
- sal_uInt16 nWhich = GetWhich( SID_FIELD_GRABFOCUS );
- if ( rSet.GetItemState( nWhich ) == SFX_ITEM_SET )
- {
- sal_uInt16 nField = ( (SfxUInt16Item&)rSet.Get( nWhich ) ).GetValue();
+ sal_uInt16 const nWhich = GetWhich(SID_FIELD_GRABFOCUS);
- switch ( nField )
+ if (rSet.GetItemState(nWhich) == SFX_ITEM_SET)
+ {
+ if (sal_uInt16 const nField = ((SfxUInt16Item&)rSet.Get(nWhich)).GetValue())
{
- case COMPANY_EDIT: aCompanyEdit.GrabFocus(); break;
- case FIRSTNAME_EDIT: aFirstName.GrabFocus(); break;
- case LASTNAME_EDIT: aName.GrabFocus(); break;
- case STREET_EDIT: aStreetEdit.GrabFocus(); break;
- case COUNTRY_EDIT: aCountryEdit.GrabFocus(); break;
- case PLZ_EDIT:
- if ( aPLZEdit.IsVisible() )
- aPLZEdit.GrabFocus();
- else
- aUsZipEdit.GrabFocus();
- break;
- case CITY_EDIT:
- if ( aCityEdit.IsVisible() )
- aCityEdit.GrabFocus();
- else
- aUsCityEdit.GrabFocus();
- break;
- case STATE_EDIT:
- if ( aUsStateEdit.IsVisible() )
- aUsStateEdit.GrabFocus();
- else
- aCityEdit.GrabFocus();
- break;
- case TITLE_EDIT: aTitleEdit.GrabFocus(); break;
- case POSITION_EDIT: aPositionEdit.GrabFocus(); break;
- case SHORTNAME_EDIT: aShortName.GrabFocus(); break;
- case TELPRIV_EDIT: aTelPrivEdit.GrabFocus(); break;
- case TELCOMPANY_EDIT: aTelCompanyEdit.GrabFocus(); break;
- case FAX_EDIT: aFaxEdit.GrabFocus(); break;
- case EMAIL_EDIT: aEmailEdit.GrabFocus(); break;
- default: aCompanyEdit.GrabFocus();
+ for (unsigned i = 0; i != vFields.size(); ++i)
+ if (nField == vFieldInfo[vFields[i]->iField].nGrabFocusId)
+ vFields[i]->aEdit.GrabFocus();
}
+ else
+ vFields.front()->aEdit.GrabFocus();
}
aUseDataCB.Check( SvtSaveOptions().IsUseUserData() );
@@ -323,27 +442,30 @@ void SvxGeneralTabPage::Reset( const SfxItemSet& rSet )
//------------------------------------------------------------------------
+// ModifyHdl_Impl()
+// This handler updates the initials (short name)
+// when one of the name fields was updated.
IMPL_LINK( SvxGeneralTabPage, ModifyHdl_Impl, Edit *, pEdit )
{
- if ( aShortName.IsEnabled() )
+ // short name field and row
+ Field& rShortName = *vFields[nShortNameField];
+ Row& rNameRow = *vRows[nNameRow];
+ // number of initials
+ unsigned const nInits = rNameRow.nLastField - rNameRow.nFirstField - 1;
+ // which field was updated? (in rNameRow)
+ unsigned nField = nInits;
+ for (unsigned i = 0; i != nInits; ++i)
+ if (&vFields[rNameRow.nFirstField + i]->aEdit == pEdit)
+ nField = i;
+ // updating the initial
+ if (nField < nInits && rShortName.aEdit.IsEnabled())
{
- String aShortStr( aShortName.GetText() );
- switch ( aShortStr.Len() )
- {
- case 0:
- aShortStr = String( RTL_CONSTASCII_USTRINGPARAM(" ") );
- break;
-
- case 1:
- aShortStr += ' ';
- break;
- }
-
- sal_uInt16 nPos = ( pEdit == &aFirstName ) ? 0 : 1;
- String aTxt = pEdit->GetText();
- sal_Unicode cChar = ( aTxt.Len() > 0 ) ? aTxt.GetChar(0) : ' ';
- aShortStr.SetChar( nPos, cChar );
- aShortName.SetText(comphelper::string::stripEnd(aShortStr, ' '));
+ rtl::OUString sShortName = rShortName.aEdit.GetText();
+ while ((unsigned)sShortName.getLength() < nInits)
+ sShortName += rtl::OUString(' ');
+ rtl::OUString sName = pEdit->GetText();
+ rtl::OUString sLetter = rtl::OUString(sName.getLength() ? sName.toChar() : ' ');
+ rShortName.aEdit.SetText(sShortName.replaceAt(nField, 1, sLetter).trim());
}
return 0;
}
@@ -352,205 +474,57 @@ IMPL_LINK( SvxGeneralTabPage, ModifyHdl_Impl, Edit *, pEdit )
sal_Bool SvxGeneralTabPage::GetAddress_Impl()
{
- sal_Bool bRet =
- ( aCompanyEdit.GetSavedValue() != aCompanyEdit.GetText() ||
- aFirstName.GetSavedValue() != aFirstName.GetText() ||
- aFatherName.GetSavedValue() != aFatherName.GetText() ||
- aName.GetSavedValue() != aName.GetText() ||
- aShortName.GetSavedValue() != aShortName.GetText() ||
- aStreetEdit.GetSavedValue() != aStreetEdit.GetText() ||
- aApartmentNrEdit.GetSavedValue() != aApartmentNrEdit.GetText() ||
- aPLZEdit.GetSavedValue() != aPLZEdit.GetText() ||
- aCityEdit.GetSavedValue() != aCityEdit.GetText() ||
- aUsCityEdit.GetSavedValue() != aUsCityEdit.GetText() ||
- aUsStateEdit.GetSavedValue() != aUsStateEdit.GetText() ||
- aUsZipEdit.GetSavedValue() != aUsZipEdit.GetText() ||
- aCountryEdit.GetSavedValue() != aCountryEdit.GetText() ||
- aTitleEdit.GetSavedValue() != aTitleEdit.GetText() ||
- aPositionEdit.GetSavedValue() != aPositionEdit.GetText() ||
- aTelPrivEdit.GetSavedValue() != aTelPrivEdit.GetText() ||
- aTelCompanyEdit.GetSavedValue() != aTelCompanyEdit.GetText() ||
- aFaxEdit.GetSavedValue() != aFaxEdit.GetText() ||
- aEmailEdit.GetSavedValue() != aEmailEdit.GetText() );
-
- LanguageType eLang = Application::GetSettings().GetUILanguage();
- sal_Bool bUS = ( LANGUAGE_ENGLISH_US == eLang );
-
+ // updating
SvtUserOptions aUserOpt;
- aUserOpt.SetCompany(aCompanyEdit.GetText());
- aUserOpt.SetFirstName(aFirstName.GetText());
- aUserOpt.SetLastName(aName.GetText());
- aUserOpt.SetID( aShortName.GetText());
-
- aUserOpt.SetStreet(aStreetEdit.GetText() );
-
- aUserOpt.SetCountry(aCountryEdit.GetText() );
-
- aUserOpt.SetZip(bUS ? aUsZipEdit.GetText() : aPLZEdit.GetText() );
- aUserOpt.SetCity(bUS ? aUsCityEdit.GetText() : aCityEdit.GetText() );
-
- aUserOpt.SetTitle( aTitleEdit.GetText() );
- aUserOpt.SetPosition(aPositionEdit.GetText() );
- aUserOpt.SetTelephoneHome( aTelPrivEdit.GetText() );
- aUserOpt.SetTelephoneWork( aTelCompanyEdit.GetText() );
- aUserOpt.SetFax( aFaxEdit.GetText() );
- aUserOpt.SetEmail( aEmailEdit.GetText() );
- aUserOpt.SetState( bUS ? aUsStateEdit.GetText() : String() );
-
- if ( LANGUAGE_RUSSIAN == eLang )
- {
- aUserOpt.SetFathersName( aFatherName.GetText() );
- aUserOpt.SetApartment( aApartmentNrEdit.GetText() );
- }
- return bRet;
+ for (unsigned i = 0; i != vFields.size(); ++i)
+ aUserOpt.SetToken(
+ vFieldInfo[vFields[i]->iField].nUserOptionsId,
+ vFields[i]->aEdit.GetText()
+ );
+
+ // modified?
+ for (unsigned i = 0; i != vFields.size(); ++i)
+ if (vFields[i]->aEdit.GetSavedValue() != vFields[i]->aEdit.GetText())
+ return true;
+ return false;
}
//------------------------------------------------------------------------
void SvxGeneralTabPage::SetAddress_Impl()
{
- LanguageType eLang = Application::GetSettings().GetUILanguage();
- sal_Bool bUS = ( LANGUAGE_ENGLISH_US == eLang );
+ // updating and disabling edit boxes
SvtUserOptions aUserOpt;
- aCompanyEdit.SetText( aUserOpt.GetCompany() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_COMPANY ) )
- {
- aCompanyLbl.Disable();
- aCompanyEdit.Disable();
- }
- sal_Int16 nEditCount = 0;
- aFirstName.SetText( aUserOpt.GetFirstName() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_FIRSTNAME ) )
- {
- aFirstName.Disable();
- nEditCount++;
- }
- aName.SetText( aUserOpt.GetLastName() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_LASTNAME ) )
- {
- aName.Disable();
- nEditCount++;
- }
- aShortName.SetText( aUserOpt.GetID() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_ID ) )
- {
- aShortName.Disable();
- nEditCount++;
- }
- aNameLbl.Enable( ( nEditCount != 3 ) );
- aStreetEdit.SetText( aUserOpt.GetStreet() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_STREET ) )
- {
- aStreetLbl.Disable();
- aStreetEdit.Disable();
- }
- Edit* pPLZEdit = bUS ? &aUsZipEdit : &aPLZEdit;
- Edit* pCityEdit = bUS ? &aUsCityEdit : &aCityEdit;
- pPLZEdit->SetText( aUserOpt.GetZip() );
- pCityEdit->SetText( aUserOpt.GetCity() );
- nEditCount = 0;
- if ( aUserOpt.IsTokenReadonly( USER_OPT_ZIP ) )
- {
- pPLZEdit->Disable();
- nEditCount++;
- }
- if ( aUserOpt.IsTokenReadonly( USER_OPT_CITY ) )
+ for (unsigned iRow = 0; iRow != vRows.size(); ++iRow)
{
- pCityEdit->Disable();
- nEditCount++;
- }
- if ( bUS )
- {
- aUsStateEdit.SetText( aUserOpt.GetState() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_STATE ) )
+ Row& rRow = *vRows[iRow];
+ // the label is enabled if any of its edit fields are enabled
+ bool bEnableLabel = false;
+ for (unsigned iField = rRow.nFirstField; iField != rRow.nLastField; ++iField)
{
- aUsStateEdit.Disable();
- nEditCount++;
+ Field& rField = *vFields[iField];
+ // updating content
+ unsigned const nToken = vFieldInfo[rField.iField].nUserOptionsId;
+ rField.aEdit.SetText(aUserOpt.GetToken(nToken));
+ // is enabled?
+ bool const bEnableEdit = !aUserOpt.IsTokenReadonly(nToken);
+ rField.aEdit.Enable(bEnableEdit);
+ bEnableLabel = bEnableLabel || bEnableEdit;
}
- }
- aCityLbl.Enable( ( nEditCount != ( bUS ? 3 : 2 ) ) );
- aCountryEdit.SetText( aUserOpt.GetCountry() );
- if ( aUserOpt.IsTokenReadonly( USER_OPT_COUNTRY ) )
- {
- aCountryLbl.Disable();
- aCountryEdit.Disable();
- }
- aTitleEdit.SetText( aUserOpt.GetTitle() );
- aPositionEdit.SetText( aUserOpt.GetPosition() );
- nEditCount = 0;
- if ( aUserOpt.IsTokenReadonly( USER_OPT_TITLE ) )
- {
- aTitleEdit.Disable();
- nEditCount++;
- }
- if ( aUserOpt.IsTokenReadonly( USER_OPT_POSITION ) )
- {
- aPositionEdit.Disable();
- nEditCount++;
- }
- aTitlePosLbl.Enable( ( nEditCount != 2 ) );
- aTelPrivEdit.SetText( aUserOpt.GetTelephoneHome() );
- aTelCompanyEdit.SetText( aUserOpt.GetTelephoneWork() );
- nEditCount = 0;
- if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEHOME ) )
- {
- aTelPrivEdit.Disable();
- nEditCount++;
- }
- if ( aUserOpt.IsTokenReadonly( USER_OPT_TELEPHONEWORK ) )
- {
- aTelCompanyEdit.Disable();
- nEditCount++;
- }
- aPhoneLbl.Enable( ( nEditCount != 2 ) );
- aFaxEdit.SetText( aUserOpt.GetFax() );
- aEmailEdit.SetText( aUserOpt.GetEmail() );
- nEditCount = 0;
- if ( aUserOpt.IsTokenReadonly( USER_OPT_FAX ) )
- {
- aFaxEdit.Disable();
- nEditCount++;
- }
- if ( aUserOpt.IsTokenReadonly( USER_OPT_EMAIL ) )
- {
- aEmailEdit.Disable();
- nEditCount++;
- }
- aFaxMailLbl.Enable( ( nEditCount != 2 ) );
-
- if ( LANGUAGE_RUSSIAN == eLang )
- {
- aFatherName.SetText( aUserOpt.GetFathersName() );
- aApartmentNrEdit.SetText( aUserOpt.GetApartment() );
+ rRow.aLabel.Enable(bEnableLabel);
}
- aCompanyEdit.SaveValue();
- aFirstName.SaveValue();
- aFatherName.SaveValue();
- aName.SaveValue();
- aShortName.SaveValue();
- aStreetEdit.SaveValue();
- aApartmentNrEdit.SaveValue();
- aPLZEdit.SaveValue();
- aCityEdit.SaveValue();
- aUsCityEdit.SaveValue();
- aUsStateEdit.SaveValue();
- aUsZipEdit.SaveValue();
- aCountryEdit.SaveValue();
- aTitleEdit.SaveValue();
- aPositionEdit.SaveValue();
- aTelPrivEdit.SaveValue();
- aTelCompanyEdit.SaveValue();
- aFaxEdit.SaveValue();
- aEmailEdit.SaveValue();
+ // saving
+ for (unsigned i = 0; i != vFields.size(); ++i)
+ vFields[i]->aEdit.SaveValue();
}
// -----------------------------------------------------------------------
-int SvxGeneralTabPage::DeactivatePage( SfxItemSet* _pSet )
+int SvxGeneralTabPage::DeactivatePage( SfxItemSet* pSet_ )
{
- if ( _pSet )
- FillItemSet( *_pSet );
+ if ( pSet_ )
+ FillItemSet( *pSet_ );
return LEAVE_PAGE;
}
diff --git a/cui/source/options/optgenrl.hrc b/cui/source/options/optgenrl.hrc
index c708d0ac3996..8b52a084b4c8 100644
--- a/cui/source/options/optgenrl.hrc
+++ b/cui/source/options/optgenrl.hrc
@@ -15,8 +15,8 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#ifndef _SVX_OPTGENRL_HRC
-#define _SVX_OPTGENRL_HRC
+#ifndef SVX_OPTGENRL_HRC
+#define SVX_OPTGENRL_HRC
// defines ------------------------------------------------------------------
@@ -51,26 +51,13 @@
#define ED_EMAIL 38
#define GB_ADDRESS 39
#define CB_USEDATA 40
-#define FT_NAME_EASTERN 41
+#define FT_NAME_EASTERN 41
+#define FT_CITY_US 42
#define STR_US_STATE 10
#define STR_QUERY_REG 11
-// positioning help for the dialog
-
-#define HSPACE 2
-#define VSPACE 3
-#define LINEH 12
-#define FLINEH 8
-#define LEFT 12
-#define MID 100
-#define RIGHT 248
-#define TOP 10
-#define LINE(y) (14+y*15)
-#define FLINE(y) (16+y*15)
-#define NAMELEN 74
-
-#endif // #ifndef _SVX_OPTGENRL_HRC
+#endif // #ifndef SVX_OPTGENRL_HRC
// ******************************************************************* EOF
diff --git a/cui/source/options/optgenrl.src b/cui/source/options/optgenrl.src
index 8f5e63f3bd25..3eaabc0f7099 100644
--- a/cui/source/options/optgenrl.src
+++ b/cui/source/options/optgenrl.src
@@ -43,8 +43,6 @@ TabPage RID_SFXPAGE_GENERAL
Text [ en-US ] = "User Data" ;
FixedText FT_COMPANY
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 0 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "~Company" ;
};
@@ -52,95 +50,64 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_COMPANY";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 0 ) ) ;
- Size = MAP_APPFONT ( RIGHT-MID , LINEH ) ;
};
FixedText FT_NAME
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 1 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "First/Last ~name/Initials" ;
};
FixedText FT_NAME_RUSS
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 1 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
- Hide = TRUE;
Text [ en-US ] = "Last Name/First name/Father's name/Initials";
};
FixedText FT_NAME_EASTERN
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 1 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
- Hide = TRUE;
Text [ en-US ] = "Last/First ~name/Initials" ;
};
Edit ED_FATHERNAME
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FATHERNAME";
Border = TRUE ;
- Hide = TRUE;
- Pos = MAP_APPFONT ( MID , LINE ( 1 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-8 , LINEH ) ;
};
Edit ED_FIRSTNAME
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FIRSTNAME";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 1 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-8 , LINEH ) ;
};
Edit ED_NAME
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_NAME";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID+NAMELEN-8+HSPACE , LINE ( 1 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-8 , LINEH ) ;
};
Edit ED_SHORTNAME
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_SHORTNAME";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID+2* ( NAMELEN-8+HSPACE ) , LINE ( 1 ) ) ;
- Size = MAP_APPFONT ( RIGHT- ( MID+2* ( NAMELEN-8+HSPACE ) ) , LINEH ) ;
};
FixedText FT_STREET
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 2 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "~Street" ;
};
FixedText FT_STREET_RUSS
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 2 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
- Hide = TRUE;
Text [ en-US ] = "Street/Apartment number";
};
Edit ED_STREET
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_STREET";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 2 ) ) ;
- Size = MAP_APPFONT ( RIGHT-MID , LINEH ) ;
};
Edit ED_APARTMENTNR
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_APARTMENTNR";
Border = TRUE ;
- Hide = TRUE;
- Pos = MAP_APPFONT ( MID , LINE ( 2 ) ) ;
- Size = MAP_APPFONT ( RIGHT-MID , LINEH ) ;
};
FixedText FT_CITY
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 3 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "Zip/City";
};
@@ -148,41 +115,34 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_PLZ";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 3 ) ) ;
- Size = MAP_APPFONT ( 24 , LINEH ) ;
};
Edit ED_CITY
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_CITY";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID + 24 + HSPACE , LINE ( 3 ) ) ;
- Size = MAP_APPFONT ( RIGHT - ( MID + 24 + HSPACE ) , LINEH ) ;
+ };
+ FixedText FT_CITY_US
+ {
+ LeftLabel = TRUE ;
+ Text [ en-US ] = "City/State/Zip";
};
Edit ED_US_CITY
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_US_CITY";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 3 ) ) ;
- Size = MAP_APPFONT ( 90 , LINEH ) ;
};
Edit ED_US_STATE
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_US_STATE";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID + 90 + HSPACE, LINE ( 3 ) ) ;
- Size = MAP_APPFONT ( 30 , LINEH ) ;
};
Edit ED_US_ZIPCODE
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_US_ZIPCODE";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID + 90 + HSPACE + 30 + HSPACE, LINE ( 3 ) ) ;
- Size = MAP_APPFONT ( RIGHT - ( MID + 90 + HSPACE + 30 + HSPACE ) , LINEH ) ;
};
FixedText FT_COUNTRY
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 4 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "Country/Region";
};
@@ -190,13 +150,9 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_COUNTRY";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 4 ) ) ;
- Size = MAP_APPFONT ( RIGHT - MID , LINEH ) ;
};
FixedText FT_TITLEPOS
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 5 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "~Title/Position" ;
};
@@ -204,20 +160,14 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TITLE";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 5 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-1 , LINEH ) ;
};
Edit ED_POSITION
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_POSITION";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID+NAMELEN-1+HSPACE , LINE ( 5 ) ) ;
- Size = MAP_APPFONT ( RIGHT- ( MID+NAMELEN-1+HSPACE ) , LINEH ) ;
};
FixedText FT_PHONE
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 6 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
Text [ en-US ] = "Tel. (Home/Work)" ;
LeftLabel = TRUE ;
};
@@ -225,20 +175,14 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TELPRIVAT";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 6 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-1 , LINEH ) ;
};
Edit ED_TELCOMPANY
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TELCOMPANY";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID+NAMELEN-1+HSPACE , LINE ( 6 ) ) ;
- Size = MAP_APPFONT ( RIGHT- ( MID+NAMELEN-1+HSPACE ) , LINEH ) ;
};
FixedText FT_FAXMAIL
{
- Pos = MAP_APPFONT ( LEFT , FLINE ( 7 ) ) ;
- Size = MAP_APPFONT ( MID-LEFT-2 , FLINEH ) ;
LeftLabel = TRUE ;
Text [ en-US ] = "Fa~x / E-mail" ;
};
@@ -246,15 +190,11 @@ TabPage RID_SFXPAGE_GENERAL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FAX";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID , LINE ( 7 ) ) ;
- Size = MAP_APPFONT ( NAMELEN-1 , LINEH ) ;
};
Edit ED_EMAIL
{
HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_EMAIL";
Border = TRUE ;
- Pos = MAP_APPFONT ( MID+NAMELEN-1+HSPACE , LINE ( 7 ) ) ;
- Size = MAP_APPFONT ( RIGHT- ( MID+NAMELEN-1+HSPACE ) , LINEH ) ;
};
FixedLine GB_ADDRESS
{
@@ -271,11 +211,7 @@ TabPage RID_SFXPAGE_GENERAL
Text [ en-US ] = "Use data for document properties";
};
- // extra Resourcen f"ur die amerikanische Postadresse
- String STR_US_STATE
- {
- Text [ en-US ] = "City/State/Zip";
- };
+ // extra resource for US addresses
String STR_QUERY_REG
{
Text [ en-US ] = "Note that street, Zip code and city are used to generate the registration key. You will not be able to change the user data again until the registration has been carried out. Do you want to modify the user data now?";