summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-02-19 16:58:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-02-20 12:40:39 +0000
commit4c2ff9d048addd680799bf4aa28c5bb7b68eec71 (patch)
treefed1acb9ffa10d26c64c40f5a51021d9b1bcc74d /cui
parent722c84c136f972f42717ac12a3be5ce2a6510bcd (diff)
Resolves: fdo#30862 move user options page to cui and adapt code
and make initials area and zip code areas wider to address fdo#30862 This "first/last name" thing is a disaster of course: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ http://www.w3.org/International/questions/qa-personal-names Change-Id: Iedb347a533f208056176b5a79b8a56050672a8d1
Diffstat (limited to 'cui')
-rw-r--r--cui/AllLangResTarget_cui.mk1
-rw-r--r--cui/UI_cui.mk1
-rw-r--r--cui/source/inc/cuioptgenrl.hxx9
-rw-r--r--cui/source/options/optgenrl.cxx238
-rw-r--r--cui/source/options/optgenrl.hrc60
-rw-r--r--cui/source/options/optgenrl.src206
-rw-r--r--cui/uiconfig/ui/optuserpage.ui735
7 files changed, 830 insertions, 420 deletions
diff --git a/cui/AllLangResTarget_cui.mk b/cui/AllLangResTarget_cui.mk
index 6867afc63227..13aead550bbc 100644
--- a/cui/AllLangResTarget_cui.mk
+++ b/cui/AllLangResTarget_cui.mk
@@ -86,7 +86,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
cui/source/options/optdict.src \
cui/source/options/optfltr.src \
cui/source/options/optgdlg.src \
- cui/source/options/optgenrl.src \
cui/source/options/opthtml.src \
cui/source/options/optinet2.src \
cui/source/options/optjava.src \
diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk
index dd8a1f366ce0..521bb825c0e9 100644
--- a/cui/UI_cui.mk
+++ b/cui/UI_cui.mk
@@ -40,6 +40,7 @@ $(eval $(call gb_UI_add_uifiles,cui,\
cui/uiconfig/ui/optmemorypage \
cui/uiconfig/ui/optpathspage \
cui/uiconfig/ui/optsecuritypage \
+ cui/uiconfig/ui/optuserpage \
cui/uiconfig/ui/personalization_tab \
cui/uiconfig/ui/pickbulletpage \
cui/uiconfig/ui/pickgraphicpage \
diff --git a/cui/source/inc/cuioptgenrl.hxx b/cui/source/inc/cuioptgenrl.hxx
index 0e0575060973..3b72966721f3 100644
--- a/cui/source/inc/cuioptgenrl.hxx
+++ b/cui/source/inc/cuioptgenrl.hxx
@@ -40,10 +40,8 @@ class SvxGeneralTabPage : public SfxTabPage
{
using TabPage::DeactivatePage;
private:
- // the horizontal line "Address"
- FixedLine aAddrFrm;
- // the "Use data for document properties" checkbox (but where is it?)
- CheckBox aUseDataCB;
+ // the "Use data for document properties" checkbox
+ CheckBox* m_pUseDataCB;
// rows
struct Row;
std::vector<boost::shared_ptr<Row> > vRows;
@@ -59,8 +57,7 @@ private:
sal_Bool GetAddress_Impl();
void SetAddress_Impl();
- void CreateControls ();
- void PositionControls ();
+ void InitControls ();
void SetLinks ();
void SetAccessibleNames ();
diff --git a/cui/source/options/optgenrl.cxx b/cui/source/options/optgenrl.cxx
index 5a1438b2073d..638d0b83bcda 100644
--- a/cui/source/options/optgenrl.cxx
+++ b/cui/source/options/optgenrl.cxx
@@ -29,7 +29,6 @@
#define SVX_OPTGENRL_CXX
#include <cuires.hrc>
-#include "optgenrl.hrc"
#include <unotools/useroptions.hxx>
#include "cuioptgenrl.hxx"
#include <dialmgr.hxx>
@@ -78,25 +77,25 @@ namespace Lang
struct
{
// id of the text
- int nTextId;
+ const char *pTextId;
// 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 },
+ { "companyft", Lang::All },
+ { "nameft", Lang::All & ~Lang::Russian & ~Lang::Eastern },
+ { "rusnameft", Lang::Russian },
+ { "eastnameft", Lang::Eastern },
+ { "streetft", Lang::All & ~Lang::Russian },
+ { "russtreetft", Lang::Russian },
+ { "icityft", Lang::All & ~Lang::US },
+ { "cityft", Lang::US },
+ { "countryft", Lang::All },
+ { "titleft", Lang::All },
+ { "phoneft", Lang::All },
+ { "faxft", Lang::All },
};
//
@@ -108,11 +107,7 @@ 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;
+ const char *pEditId;
// id for SvtUserOptions in unotools/useroptions.hxx
int nUserOptionsId;
// id for settings the focus (defined in svx/optgenrl.hxx)
@@ -121,43 +116,43 @@ struct
const vFieldInfo[] =
{
// Company
- { Row_Company, ED_COMPANY, 1, USER_OPT_COMPANY, COMPANY_EDIT },
+ { Row_Company, "company", 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 },
+ { Row_Name, "firstname", USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name, "lastname", USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name, "shortname", 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 },
+ { Row_Name_Russian, "ruslastname", USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name_Russian, "rusfirstname", USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name_Russian, "rusfathersname", USER_OPT_FATHERSNAME, 0 },
+ { Row_Name_Russian, "russhortname", USER_OPT_ID, SHORTNAME_EDIT },
+ // Name (eastern: reversed name ord
+ { Row_Name_Eastern, "eastlastname", USER_OPT_LASTNAME, LASTNAME_EDIT },
+ { Row_Name_Eastern, "eastfirstname", USER_OPT_FIRSTNAME, FIRSTNAME_EDIT },
+ { Row_Name_Eastern, "eastshortname", USER_OPT_ID, SHORTNAME_EDIT },
// Street
- { Row_Street, ED_STREET, 1, USER_OPT_STREET, STREET_EDIT },
+ { Row_Street, "street", 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 },
+ { Row_Street_Russian, "russtreet", USER_OPT_STREET, STREET_EDIT },
+ { Row_Street_Russian, "apartnum", 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 },
+ { Row_City, "izip", USER_OPT_ZIP, PLZ_EDIT },
+ { Row_City, "icity", 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 },
+ { Row_City_US, "city", USER_OPT_CITY, CITY_EDIT },
+ { Row_City_US, "state", USER_OPT_STATE, STATE_EDIT },
+ { Row_City_US, "zip", USER_OPT_ZIP, PLZ_EDIT },
// Country
- { Row_Country, ED_COUNTRY, 1, USER_OPT_COUNTRY, COUNTRY_EDIT },
+ { Row_Country, "country", 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 },
+ { Row_TitlePos, "title", USER_OPT_TITLE, TITLE_EDIT },
+ { Row_TitlePos, "position", 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 },
+ { Row_Phone, "home", USER_OPT_TELEPHONEHOME, TELPRIV_EDIT },
+ { Row_Phone, "work", 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 },
+ { Row_FaxMail, "fax", USER_OPT_FAX, FAX_EDIT },
+ { Row_FaxMail, "email", USER_OPT_EMAIL, EMAIL_EDIT },
};
@@ -173,16 +168,19 @@ struct SvxGeneralTabPage::Row
// which row is it?
RowType eRow;
// row label
- FixedText aLabel;
+ FixedText* pLabel;
// 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)
- { }
+ Row (FixedText *pLabel_, RowType eRow_)
+ : eRow(eRow_)
+ , pLabel(pLabel_)
+ , nFirstField(0)
+ , nLastField(0)
+ {
+ pLabel->Show();
+ }
};
// -----------------------------------------------------------------------
@@ -195,26 +193,25 @@ struct SvxGeneralTabPage::Field
// which field is this? (in vFieldInfo[] above)
unsigned iField;
// edit box
- Edit aEdit;
+ Edit *pEdit;
public:
- Field (Window& rParent, int nResId, unsigned iField_) :
- iField(iField_),
- aEdit(&rParent, CUI_RES(nResId), true)
- { }
+ Field (Edit *pEdit_, unsigned iField_)
+ : iField(iField_)
+ , pEdit(pEdit_)
+ {
+ pEdit->Show();
+ }
};
// -----------------------------------------------------------------------
-SvxGeneralTabPage::SvxGeneralTabPage( Window* pParent, const SfxItemSet& rCoreSet ) :
-
- SfxTabPage( pParent, CUI_RES(RID_SFXPAGE_GENERAL), rCoreSet ),
+SvxGeneralTabPage::SvxGeneralTabPage(Window* pParent, const SfxItemSet& rCoreSet)
- aAddrFrm ( this, CUI_RES( GB_ADDRESS ) ),
- aUseDataCB ( this, CUI_RES( CB_USEDATA ) )
+ : SfxTabPage(pParent, "OptUserPage", "cui/ui/optuserpage.ui", rCoreSet)
{
- CreateControls();
- PositionControls();
+ get(m_pUseDataCB, "usefordocprop");
+ InitControls();
SetExchangeSupport(); // this page needs ExchangeSupport
SetLinks();
SetAccessibleNames();
@@ -227,9 +224,9 @@ SvxGeneralTabPage::~SvxGeneralTabPage ()
//------------------------------------------------------------------------
-// Creates and initializes the titles and the edit boxes,
+// Initializes the titles and the edit boxes,
// according to vRowInfo[] and vFieldInfo[] above.
-void SvxGeneralTabPage::CreateControls ()
+void SvxGeneralTabPage::InitControls ()
{
// which language bit do we use? (see Lang and vRowInfo[] above)
unsigned LangBit;
@@ -259,8 +256,7 @@ void SvxGeneralTabPage::CreateControls ()
continue;
// creating row
vRows.push_back(boost::make_shared<Row>(
- boost::ref(*this), vRowInfo[iRow].nTextId, eRow
- ));
+ get<FixedText>(vRowInfo[iRow].pTextId), eRow));
Row& rRow = *vRows.back();
// fields in the row
static unsigned const nFieldCount = SAL_N_ELEMENTS(vFieldInfo);
@@ -273,10 +269,9 @@ void SvxGeneralTabPage::CreateControls ()
{
// creating edit field
vFields.push_back(boost::make_shared<Field>(
- boost::ref(*this), vFieldInfo[iField].nEditId, iField
- ));
+ get<Edit>(vFieldInfo[iField].pEditId), iField));
// "short name" field?
- if (vFieldInfo[iField].nEditId == ED_SHORTNAME)
+ if (vFieldInfo[iField].nUserOptionsId == USER_OPT_ID)
{
nNameRow = vRows.size() - 1;
nShortNameField = vFields.size() - 1;
@@ -284,58 +279,6 @@ void SvxGeneralTabPage::CreateControls ()
}
rRow.nLastField = vFields.size();
}
-
- FreeResource();
-}
-
-//------------------------------------------------------------------------
-
-// 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)
- {
- 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)
- {
- // 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)
- );
- }
- }
}
//------------------------------------------------------------------------
@@ -346,7 +289,7 @@ void SvxGeneralTabPage::SetLinks ()
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);
+ vFields[i]->pEdit->SetModifyHdl(aLink);
}
//------------------------------------------------------------------------
@@ -361,7 +304,7 @@ void SvxGeneralTabPage::SetAccessibleNames ()
for (unsigned i = 0; i != vRows.size(); ++i)
{
Row& rRow = *vRows[i];
- rtl::OUString const sLabel = rRow.aLabel.GetDisplayText();
+ rtl::OUString const sLabel = rRow.pLabel->GetDisplayText();
rtl::OUString sList = sLabel; // between brackets or the whole label
// brackets?
int iBracket = sLabel.indexOf('(');
@@ -373,12 +316,12 @@ void SvxGeneralTabPage::SetAccessibleNames ()
{
// the token
rtl::OUString sPart = sList.getToken(0, static_cast<sal_Unicode>('/'), nIndex).trim();
- Edit& rEdit = vFields[iField]->aEdit;
+ Edit *pEdit = vFields[iField]->pEdit;
// creating the accessible name
if (iBracket != -1)
- rEdit.SetAccessibleName(sLabel.copy(0, iBracket) + "(" + sPart + ")");
+ pEdit->SetAccessibleName(sLabel.copy(0, iBracket) + "(" + sPart + ")");
else
- rEdit.SetAccessibleName(sPart);
+ pEdit->SetAccessibleName(sPart);
}
}
}
@@ -396,14 +339,14 @@ sal_Bool SvxGeneralTabPage::FillItemSet( SfxItemSet& )
{
// remove leading and trailing whitespaces
for (unsigned i = 0; i != vFields.size(); ++i)
- vFields[i]->aEdit.SetText( comphelper::string::strip(vFields[i]->aEdit.GetText(), ' ') );
+ vFields[i]->pEdit->SetText(comphelper::string::strip(vFields[i]->pEdit->GetText(), ' '));
sal_Bool bModified = sal_False;
bModified |= GetAddress_Impl();
SvtSaveOptions aSaveOpt;
- if ( aUseDataCB.IsChecked() != aSaveOpt.IsUseUserData() )
+ if ( m_pUseDataCB->IsChecked() != aSaveOpt.IsUseUserData() )
{
- aSaveOpt.SetUseUserData( aUseDataCB.IsChecked() );
+ aSaveOpt.SetUseUserData( m_pUseDataCB->IsChecked() );
bModified |= sal_True;
}
return bModified;
@@ -423,13 +366,13 @@ void SvxGeneralTabPage::Reset( const SfxItemSet& rSet )
{
for (unsigned i = 0; i != vFields.size(); ++i)
if (nField == vFieldInfo[vFields[i]->iField].nGrabFocusId)
- vFields[i]->aEdit.GrabFocus();
+ vFields[i]->pEdit->GrabFocus();
}
else
- vFields.front()->aEdit.GrabFocus();
+ vFields.front()->pEdit->GrabFocus();
}
- aUseDataCB.Check( SvtSaveOptions().IsUseUserData() );
+ m_pUseDataCB->Check( SvtSaveOptions().IsUseUserData() );
}
//------------------------------------------------------------------------
@@ -447,24 +390,25 @@ IMPL_LINK( SvxGeneralTabPage, ModifyHdl_Impl, Edit *, pEdit )
// which field was updated? (in rNameRow)
unsigned nField = nInits;
for (unsigned i = 0; i != nInits; ++i)
- if (&vFields[rNameRow.nFirstField + i]->aEdit == pEdit)
+ {
+ if (vFields[rNameRow.nFirstField + i]->pEdit == pEdit)
nField = i;
// Since middle names are not supported, clear shortname if it
// contains a middle initial
- if (rtl::OUString(rShortName.aEdit.GetText()).getLength() > 2)
+ if (OUString(rShortName.pEdit->GetText()).getLength() > 2)
{
- rtl::OUString sEmptyString;
- rShortName.aEdit.SetText(sEmptyString);
+ rShortName.pEdit->SetText(OUString());
}
+ }
// updating the initial
- if (nField < nInits && rShortName.aEdit.IsEnabled())
+ if (nField < nInits && rShortName.pEdit->IsEnabled())
{
- rtl::OUString sShortName = rShortName.aEdit.GetText();
+ rtl::OUString sShortName = rShortName.pEdit->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());
+ rShortName.pEdit->SetText(sShortName.replaceAt(nField, 1, sLetter).trim());
}
return 0;
}
@@ -478,12 +422,12 @@ sal_Bool SvxGeneralTabPage::GetAddress_Impl()
for (unsigned i = 0; i != vFields.size(); ++i)
aUserOpt.SetToken(
vFieldInfo[vFields[i]->iField].nUserOptionsId,
- vFields[i]->aEdit.GetText()
+ vFields[i]->pEdit->GetText()
);
// modified?
for (unsigned i = 0; i != vFields.size(); ++i)
- if (vFields[i]->aEdit.GetSavedValue() != vFields[i]->aEdit.GetText())
+ if (vFields[i]->pEdit->GetSavedValue() != vFields[i]->pEdit->GetText())
return true;
return false;
}
@@ -504,18 +448,18 @@ void SvxGeneralTabPage::SetAddress_Impl()
Field& rField = *vFields[iField];
// updating content
unsigned const nToken = vFieldInfo[rField.iField].nUserOptionsId;
- rField.aEdit.SetText(aUserOpt.GetToken(nToken));
+ rField.pEdit->SetText(aUserOpt.GetToken(nToken));
// is enabled?
bool const bEnableEdit = !aUserOpt.IsTokenReadonly(nToken);
- rField.aEdit.Enable(bEnableEdit);
+ rField.pEdit->Enable(bEnableEdit);
bEnableLabel = bEnableLabel || bEnableEdit;
}
- rRow.aLabel.Enable(bEnableLabel);
+ rRow.pLabel->Enable(bEnableLabel);
}
// saving
for (unsigned i = 0; i != vFields.size(); ++i)
- vFields[i]->aEdit.SaveValue();
+ vFields[i]->pEdit->SaveValue();
}
// -----------------------------------------------------------------------
diff --git a/cui/source/options/optgenrl.hrc b/cui/source/options/optgenrl.hrc
deleted file mode 100644
index c35acc1cf93a..000000000000
--- a/cui/source/options/optgenrl.hrc
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * 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
-
-// defines ------------------------------------------------------------------
-
-#define FT_COMPANY 10
-#define ED_COMPANY 11
-#define FT_NAME 12
-#define FT_NAME_RUSS 13
-#define ED_FATHERNAME 14
-#define ED_FIRSTNAME 15
-#define ED_NAME 16
-#define ED_SHORTNAME 17
-#define FT_STREET 18
-#define FT_STREET_RUSS 19
-#define ED_STREET 20
-#define ED_APARTMENTNR 21
-#define FT_CITY 22
-#define ED_PLZ 23
-#define ED_CITY 24
-#define ED_US_CITY 25
-#define ED_US_STATE 26
-#define ED_US_ZIPCODE 27
-#define FT_COUNTRY 28
-#define ED_COUNTRY 29
-#define FT_TITLEPOS 30
-#define ED_TITLE 31
-#define ED_POSITION 32
-#define FT_PHONE 33
-#define ED_TELPRIVAT 34
-#define ED_TELCOMPANY 35
-#define FT_FAXMAIL 36
-#define ED_FAX 37
-#define ED_EMAIL 38
-#define GB_ADDRESS 39
-#define CB_USEDATA 40
-#define FT_NAME_EASTERN 41
-#define FT_CITY_US 42
-
-#endif // #ifndef SVX_OPTGENRL_HRC
-
-// ******************************************************************* EOF
-
diff --git a/cui/source/options/optgenrl.src b/cui/source/options/optgenrl.src
deleted file mode 100644
index 4393373f6432..000000000000
--- a/cui/source/options/optgenrl.src
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <sfx2/sfx.hrc>
-
-#include "helpid.hrc"
-#include <cuires.hrc>
-#include "optgenrl.hrc"
-
-// RID_SFXPAGE_GENERAL ------------------------------------------------------
-
-TabPage RID_SFXPAGE_GENERAL
-{
- HelpId = HID_OPTIONS_GENERAL ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
- Text [ en-US ] = "User Data" ;
- FixedText FT_COMPANY
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "~Company" ;
- };
- Edit ED_COMPANY
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_COMPANY";
- Border = TRUE ;
- };
- FixedText FT_NAME
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "First/Last ~name/Initials" ;
- };
- FixedText FT_NAME_RUSS
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Last Name/First name/Father's name/Initials";
- };
- FixedText FT_NAME_EASTERN
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Last/First ~name/Initials" ;
- };
- Edit ED_FATHERNAME
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FATHERNAME";
- Border = TRUE ;
- };
- Edit ED_FIRSTNAME
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FIRSTNAME";
- Border = TRUE ;
- };
- Edit ED_NAME
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_NAME";
- Border = TRUE ;
- };
- Edit ED_SHORTNAME
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_SHORTNAME";
- Border = TRUE ;
- };
- FixedText FT_STREET
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "~Street" ;
- };
- FixedText FT_STREET_RUSS
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Street/Apartment number";
- };
- Edit ED_STREET
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_STREET";
- Border = TRUE ;
- };
- Edit ED_APARTMENTNR
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_APARTMENTNR";
- Border = TRUE ;
- };
- FixedText FT_CITY
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Zip/City";
- };
- Edit ED_PLZ
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_PLZ";
- Border = TRUE ;
- };
- Edit ED_CITY
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_CITY";
- Border = TRUE ;
- };
- 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 ;
- };
- Edit ED_US_STATE
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_US_STATE";
- Border = TRUE ;
- };
- Edit ED_US_ZIPCODE
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_US_ZIPCODE";
- Border = TRUE ;
- };
- FixedText FT_COUNTRY
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Country/Region";
- };
- Edit ED_COUNTRY
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_COUNTRY";
- Border = TRUE ;
- };
- FixedText FT_TITLEPOS
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "~Title/Position" ;
- };
- Edit ED_TITLE
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TITLE";
- Border = TRUE ;
- };
- Edit ED_POSITION
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_POSITION";
- Border = TRUE ;
- };
- FixedText FT_PHONE
- {
- Text [ en-US ] = "Tel. (Home/Work)" ;
- LeftLabel = TRUE ;
- };
- Edit ED_TELPRIVAT
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TELPRIVAT";
- Border = TRUE ;
- };
- Edit ED_TELCOMPANY
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_TELCOMPANY";
- Border = TRUE ;
- };
- FixedText FT_FAXMAIL
- {
- LeftLabel = TRUE ;
- Text [ en-US ] = "Fa~x / E-mail" ;
- };
- Edit ED_FAX
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_FAX";
- Border = TRUE ;
- };
- Edit ED_EMAIL
- {
- HelpID = "cui:Edit:RID_SFXPAGE_GENERAL:ED_EMAIL";
- Border = TRUE ;
- };
- FixedLine GB_ADDRESS
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
- Text [ en-US ] = "Address " ;
- };
- CheckBox CB_USEDATA
- {
- HelpID = "cui:CheckBox:RID_SFXPAGE_GENERAL:CB_USEDATA";
- Pos = MAP_APPFONT ( 6 , 122 ) ;
- Size = MAP_APPFONT ( 236 , 10 ) ;
- Hide = TRUE;
- Text [ en-US ] = "Use data for document properties";
- };
-};
-
- // ********************************************************************** EOF
diff --git a/cui/uiconfig/ui/optuserpage.ui b/cui/uiconfig/ui/optuserpage.ui
new file mode 100644
index 000000000000..c487591fb212
--- /dev/null
+++ b/cui/uiconfig/ui/optuserpage.ui
@@ -0,0 +1,735 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkFrame" id="OptUserPage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="companyft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Company</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">company</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="nameft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">First/Last _name/Initials</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">firstname</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="streetft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Street</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">street</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cityft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">City/State/_Zip</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">city</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">7</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="countryft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Country/Re_gion</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">8</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="titleft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Title/Position</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">title</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">9</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="phoneft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Tel. (Home/_Work)</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">home</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="faxft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Fa_x/E-mail</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">fax</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">11</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="company">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="firstname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="lastname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="shortname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">7</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="city">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="state">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="zip">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">15</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">7</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="title">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="position">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="home">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="work">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="fax">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="email">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">11</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="street">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="usefordocprop">
+ <property name="label" translatable="yes">Use data for document properties</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">12</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="rusnameft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Last Name/First _name/Father's name/Initials</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">ruslastname</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid8">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="ruslastname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="rusfathersname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="russhortname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">7</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="rusfirstname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="eastnameft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Last/First _name/Initials</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">eastlastname</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid9">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="eastlastname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="eastfirstname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="eastshortname">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">7</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="russtreetft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Street/Apartment number</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">russtreet</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid10">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="russtreet">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="apartnum">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">15</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="icityft">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Zip/City</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">city</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid11">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkEntry" id="icity">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="hexpand">True</property>
+ <property name="invisible_char">•</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="izip">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ <property name="width_chars">15</property>
+ <property name="invisible_char_set">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">6</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="country">
+ <property name="can_focus">True</property>
+ <property name="no_show_all">True</property>
+ <property name="invisible_char">•</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Address</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+</interface>