Convert optasian page to .ui + adapt code.

Change-Id: Ia3ea3fcf38512431fb99191f230450f26c7b3e2f
This commit is contained in:
Jan Holesovsky
2013-09-26 23:39:48 +02:00
parent ecefa40c08
commit 20b9f53e96
7 changed files with 464 additions and 275 deletions

View File

@@ -50,7 +50,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
cui/source/options/dbregister.src \ cui/source/options/dbregister.src \
cui/source/options/doclinkdialog.src \ cui/source/options/doclinkdialog.src \
cui/source/options/internationaloptions.src \ cui/source/options/internationaloptions.src \
cui/source/options/optasian.src \
cui/source/options/optchart.src \ cui/source/options/optchart.src \
cui/source/options/optcolor.src \ cui/source/options/optcolor.src \
cui/source/options/optdict.src \ cui/source/options/optdict.src \

View File

@@ -63,6 +63,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/optaccessibilitypage \ cui/uiconfig/ui/optaccessibilitypage \
cui/uiconfig/ui/optadvancedpage \ cui/uiconfig/ui/optadvancedpage \
cui/uiconfig/ui/optappearancepage \ cui/uiconfig/ui/optappearancepage \
cui/uiconfig/ui/optasianpage \
cui/uiconfig/ui/optbasicidepage \ cui/uiconfig/ui/optbasicidepage \
cui/uiconfig/ui/optbrowserpage \ cui/uiconfig/ui/optbrowserpage \
cui/uiconfig/ui/optctlpage \ cui/uiconfig/ui/optctlpage \

View File

@@ -29,26 +29,22 @@
struct SvxAsianLayoutPage_Impl; struct SvxAsianLayoutPage_Impl;
class SvxAsianLayoutPage : public SfxTabPage class SvxAsianLayoutPage : public SfxTabPage
{ {
FixedLine aKerningGB; RadioButton* m_pCharKerningRB;
RadioButton aCharKerningRB; RadioButton* m_pCharPunctKerningRB;
RadioButton aCharPunctKerningRB;
FixedLine aCharDistGB; RadioButton* m_pNoCompressionRB;
RadioButton aNoCompressionRB; RadioButton* m_pPunctCompressionRB;
RadioButton aPunctCompressionRB; RadioButton* m_pPunctKanaCompressionRB;
RadioButton aPunctKanaCompressionRB;
FixedLine aStartEndGB; FixedText* m_pLanguageFT;
SvxLanguageBox* m_pLanguageLB;
CheckBox* m_pStandardCB;
FixedText aLanguageFT; FixedText* m_pStartFT;
SvxLanguageBox aLanguageLB; Edit* m_pStartED;
CheckBox aStandardCB; FixedText* m_pEndFT;
Edit* m_pEndED;
FixedText aStartFT; FixedText* m_pHintFT;
Edit aStartED;
FixedText aEndFT;
Edit aEndED;
FixedText aHintFT;
SvxAsianLayoutPage_Impl* pImpl; SvxAsianLayoutPage_Impl* pImpl;

View File

@@ -21,7 +21,6 @@
#include <optasian.hxx> #include <optasian.hxx>
#include <editeng/langitem.hxx> #include <editeng/langitem.hxx>
#include <editeng/unolingu.hxx> #include <editeng/unolingu.hxx>
#include <optasian.hrc>
#include <dialmgr.hxx> #include <dialmgr.hxx>
#include <cuires.hrc> #include <cuires.hrc>
#include <i18nlangtag/mslangid.hxx> #include <i18nlangtag/mslangid.hxx>
@@ -123,34 +122,31 @@ void SvxAsianLayoutPage_Impl::addForbiddenCharacters(
static LanguageType eLastUsedLanguageTypeForForbiddenCharacters = USHRT_MAX; static LanguageType eLastUsedLanguageTypeForForbiddenCharacters = USHRT_MAX;
SvxAsianLayoutPage::SvxAsianLayoutPage( Window* pParent, const SfxItemSet& rSet ) : SvxAsianLayoutPage::SvxAsianLayoutPage( Window* pParent, const SfxItemSet& rSet ) :
SfxTabPage(pParent, CUI_RES( RID_SVXPAGE_ASIAN_LAYOUT ), rSet), SfxTabPage(pParent, "OptAsianPage", "cui/ui/optasianpage.ui", rSet),
aKerningGB( this, CUI_RES(GB_KERNING )),
aCharKerningRB( this, CUI_RES(RB_CHAR_KERNING )),
aCharPunctKerningRB( this, CUI_RES(RB_CHAR_PUNCT )),
aCharDistGB( this, CUI_RES(GB_CHAR_DIST )),
aNoCompressionRB( this, CUI_RES(RB_NO_COMP )),
aPunctCompressionRB( this, CUI_RES(RB_PUNCT_COMP )),
aPunctKanaCompressionRB(this, CUI_RES(RB_PUNCT_KANA_COMP )),
aStartEndGB( this, CUI_RES(GB_START_END )),
aLanguageFT( this, CUI_RES(FT_LANGUAGE )),
aLanguageLB( this, CUI_RES(LB_LANGUAGE )),
aStandardCB( this, CUI_RES(CB_STANDARD )),
aStartFT( this, CUI_RES(FT_START )),
aStartED( this, CUI_RES(ED_START )),
aEndFT( this, CUI_RES(FT_END )),
aEndED( this, CUI_RES(ED_END )),
aHintFT( this, CUI_RES(FT_HINT )),
pImpl(new SvxAsianLayoutPage_Impl) pImpl(new SvxAsianLayoutPage_Impl)
{ {
FreeResource(); get(m_pCharKerningRB, "charkerning");
LanguageHdl(&aLanguageLB); get(m_pCharPunctKerningRB, "charpunctkerning");
aLanguageLB.SetSelectHdl(LINK(this, SvxAsianLayoutPage, LanguageHdl)); get(m_pNoCompressionRB, "nocompression");
aStandardCB.SetClickHdl(LINK(this, SvxAsianLayoutPage, ChangeStandardHdl)); get(m_pPunctCompressionRB, "punctcompression");
Link aLk(LINK(this, SvxAsianLayoutPage, ModifyHdl)); get(m_pPunctKanaCompressionRB, "punctkanacompression");
aStartED.SetModifyHdl(aLk); get(m_pLanguageFT, "languageft");
aEndED.SetModifyHdl(aLk); get(m_pLanguageLB, "language");
get(m_pStandardCB, "standard");
get(m_pStartFT, "startft");
get(m_pStartED, "start");
get(m_pEndFT, "endft");
get(m_pEndED, "end");
get(m_pHintFT, "hintft");
aLanguageLB.SetLanguageList( LANG_LIST_FBD_CHARS, sal_False, sal_False ); LanguageHdl(m_pLanguageLB);
m_pLanguageLB->SetSelectHdl(LINK(this, SvxAsianLayoutPage, LanguageHdl));
m_pStandardCB->SetClickHdl(LINK(this, SvxAsianLayoutPage, ChangeStandardHdl));
Link aLk(LINK(this, SvxAsianLayoutPage, ModifyHdl));
m_pStartED->SetModifyHdl(aLk);
m_pEndED->SetModifyHdl(aLk);
m_pLanguageLB->SetLanguageList( LANG_LIST_FBD_CHARS, sal_False, sal_False );
} }
SvxAsianLayoutPage::~SvxAsianLayoutPage() SvxAsianLayoutPage::~SvxAsianLayoutPage()
@@ -165,24 +161,24 @@ SfxTabPage* SvxAsianLayoutPage::Create( Window* pParent, const SfxItemSet& rAttr
sal_Bool SvxAsianLayoutPage::FillItemSet( SfxItemSet& ) sal_Bool SvxAsianLayoutPage::FillItemSet( SfxItemSet& )
{ {
if(aCharKerningRB.IsChecked() != aCharKerningRB.GetSavedValue()) if(m_pCharKerningRB->IsChecked() != m_pCharKerningRB->GetSavedValue())
{ {
pImpl->aConfig.SetKerningWesternTextOnly(aCharKerningRB.IsChecked()); pImpl->aConfig.SetKerningWesternTextOnly(m_pCharKerningRB->IsChecked());
OUString sPunct(cIsKernAsianPunctuation); OUString sPunct(cIsKernAsianPunctuation);
if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sPunct)) if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sPunct))
{ {
Any aVal; Any aVal;
sal_Bool bVal = !aCharKerningRB.IsChecked(); sal_Bool bVal = !m_pCharKerningRB->IsChecked();
aVal.setValue(&bVal, ::getBooleanCppuType()); aVal.setValue(&bVal, ::getBooleanCppuType());
pImpl->xPrSet->setPropertyValue(sPunct, aVal); pImpl->xPrSet->setPropertyValue(sPunct, aVal);
} }
} }
if(aNoCompressionRB.IsChecked() != aNoCompressionRB.GetSavedValue() || if(m_pNoCompressionRB->IsChecked() != m_pNoCompressionRB->GetSavedValue() ||
aPunctCompressionRB.IsChecked() != aPunctCompressionRB.GetSavedValue()) m_pPunctCompressionRB->IsChecked() != m_pPunctCompressionRB->GetSavedValue())
{ {
sal_Int16 nSet = aNoCompressionRB.IsChecked() ? 0 : sal_Int16 nSet = m_pNoCompressionRB->IsChecked() ? 0 :
aPunctCompressionRB.IsChecked() ? 1 : 2; m_pPunctCompressionRB->IsChecked() ? 1 : 2;
pImpl->aConfig.SetCharDistanceCompression(nSet); pImpl->aConfig.SetCharDistanceCompression(nSet);
OUString sCompress(cCharacterCompressionType); OUString sCompress(cCharacterCompressionType);
if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sCompress)) if(pImpl->xPrSetInfo.is() && pImpl->xPrSetInfo->hasPropertyByName(sCompress))
@@ -213,7 +209,7 @@ sal_Bool SvxAsianLayoutPage::FillItemSet( SfxItemSet& )
OSL_FAIL("exception in XForbiddenCharacters"); OSL_FAIL("exception in XForbiddenCharacters");
} }
} }
eLastUsedLanguageTypeForForbiddenCharacters = aLanguageLB.GetSelectLanguage(); eLastUsedLanguageTypeForForbiddenCharacters = m_pLanguageLB->GetSelectLanguage();
return sal_False; return sal_False;
} }
@@ -258,32 +254,31 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet& )
} }
else else
{ {
aStartEndGB.Enable(sal_False); m_pLanguageFT->Enable(sal_False);
aLanguageFT.Enable(sal_False); m_pLanguageLB->Enable(sal_False);
aLanguageLB.Enable(sal_False); m_pStandardCB->Enable(sal_False);
aStandardCB.Enable(sal_False); m_pStartFT->Enable(sal_False);
aStartFT.Enable(sal_False); m_pStartED->Enable(sal_False);
aStartED.Enable(sal_False); m_pEndFT->Enable(sal_False);
aEndFT.Enable(sal_False); m_pEndED->Enable(sal_False);
aEndED.Enable(sal_False); m_pHintFT->Enable(sal_False);
aHintFT.Enable(sal_False);
} }
if(bKernWesternText) if(bKernWesternText)
aCharKerningRB.Check(sal_True); m_pCharKerningRB->Check(sal_True);
else else
aCharPunctKerningRB.Check(sal_True); m_pCharPunctKerningRB->Check(sal_True);
switch(nCompress) switch(nCompress)
{ {
case 0 : aNoCompressionRB.Check(); break; case 0 : m_pNoCompressionRB->Check(); break;
case 1 : aPunctCompressionRB.Check(); break; case 1 : m_pPunctCompressionRB->Check(); break;
default: aPunctKanaCompressionRB.Check(); default: m_pPunctKanaCompressionRB->Check();
} }
aCharKerningRB.SaveValue(); m_pCharKerningRB->SaveValue();
aNoCompressionRB.SaveValue(); m_pNoCompressionRB->SaveValue();
aPunctCompressionRB.SaveValue(); m_pPunctCompressionRB->SaveValue();
aPunctKanaCompressionRB.SaveValue(); m_pPunctKanaCompressionRB->SaveValue();
aLanguageLB.SelectEntryPos(0); m_pLanguageLB->SelectEntryPos(0);
//preselect the system language in the box - if available //preselect the system language in the box - if available
if(USHRT_MAX == eLastUsedLanguageTypeForForbiddenCharacters) if(USHRT_MAX == eLastUsedLanguageTypeForForbiddenCharacters)
{ {
@@ -294,14 +289,14 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet& )
else if (MsLangId::isTraditionalChinese(eLastUsedLanguageTypeForForbiddenCharacters)) else if (MsLangId::isTraditionalChinese(eLastUsedLanguageTypeForForbiddenCharacters))
eLastUsedLanguageTypeForForbiddenCharacters = LANGUAGE_CHINESE_TRADITIONAL; eLastUsedLanguageTypeForForbiddenCharacters = LANGUAGE_CHINESE_TRADITIONAL;
} }
aLanguageLB.SelectLanguage( eLastUsedLanguageTypeForForbiddenCharacters ); m_pLanguageLB->SelectLanguage( eLastUsedLanguageTypeForForbiddenCharacters );
LanguageHdl(&aLanguageLB); LanguageHdl(m_pLanguageLB);
} }
IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl) IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl)
{ {
//set current value //set current value
LanguageType eSelectLanguage = aLanguageLB.GetSelectLanguage(); LanguageType eSelectLanguage = m_pLanguageLB->GetSelectLanguage();
LanguageTag aLanguageTag( eSelectLanguage); LanguageTag aLanguageTag( eSelectLanguage);
Locale aLocale( aLanguageTag.getLocale()); Locale aLocale( aLanguageTag.getLocale());
@@ -352,13 +347,13 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl)
sStart = aForbidden.beginLine; sStart = aForbidden.beginLine;
sEnd = aForbidden.endLine; sEnd = aForbidden.endLine;
} }
aStandardCB.Check(!bAvail); m_pStandardCB->Check(!bAvail);
aStartED.Enable(bAvail); m_pStartED->Enable(bAvail);
aEndED.Enable(bAvail); m_pEndED->Enable(bAvail);
aStartFT.Enable(bAvail); m_pStartFT->Enable(bAvail);
aEndFT.Enable(bAvail); m_pEndFT->Enable(bAvail);
aStartED.SetText(sStart); m_pStartED->SetText(sStart);
aEndED.SetText(sEnd); m_pEndED->SetText(sEnd);
return 0; return 0;
} }
@@ -366,21 +361,21 @@ IMPL_LINK_NOARG(SvxAsianLayoutPage, LanguageHdl)
IMPL_LINK(SvxAsianLayoutPage, ChangeStandardHdl, CheckBox*, pBox) IMPL_LINK(SvxAsianLayoutPage, ChangeStandardHdl, CheckBox*, pBox)
{ {
sal_Bool bCheck = pBox->IsChecked(); sal_Bool bCheck = pBox->IsChecked();
aStartED.Enable(!bCheck); m_pStartED->Enable(!bCheck);
aEndED.Enable(!bCheck); m_pEndED->Enable(!bCheck);
aStartFT.Enable(!bCheck); m_pStartFT->Enable(!bCheck);
aEndFT.Enable(!bCheck); m_pEndFT->Enable(!bCheck);
ModifyHdl(&aStartED); ModifyHdl(m_pStartED);
return 0; return 0;
} }
IMPL_LINK(SvxAsianLayoutPage, ModifyHdl, Edit*, pEdit) IMPL_LINK(SvxAsianLayoutPage, ModifyHdl, Edit*, pEdit)
{ {
LanguageType eSelectLanguage = aLanguageLB.GetSelectLanguage(); LanguageType eSelectLanguage = m_pLanguageLB->GetSelectLanguage();
Locale aLocale( LanguageTag::convertToLocale( eSelectLanguage )); Locale aLocale( LanguageTag::convertToLocale( eSelectLanguage ));
OUString sStart = aStartED.GetText(); OUString sStart = m_pStartED->GetText();
OUString sEnd = aEndED.GetText(); OUString sEnd = m_pEndED->GetText();
sal_Bool bEnable = pEdit->IsEnabled(); sal_Bool bEnable = pEdit->IsEnabled();
if(pImpl->xForbidden.is()) if(pImpl->xForbidden.is())
{ {

View File

@@ -1,42 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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_OPTASIAN_HRC
#define _SVX_OPTASIAN_HRC
#define GB_KERNING 1
#define RB_CHAR_KERNING 2
#define RB_CHAR_PUNCT 3
#define GB_CHAR_DIST 4
#define RB_NO_COMP 5
#define RB_PUNCT_COMP 6
#define RB_PUNCT_KANA_COMP 7
#define GB_START_END 8
#define CB_STANDARD 9
#define FT_LANGUAGE 11
#define LB_LANGUAGE 12
#define FT_START 13
#define ED_START 14
#define FT_END 15
#define ED_END 16
#define FT_HINT 17
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,141 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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 "optasian.hrc"
#include <sfx2/sfx.hrc>
#include "helpid.hrc"
#include <cuires.hrc>
TabPage RID_SVXPAGE_ASIAN_LAYOUT
{
HelpId = HID_OPTIONS_ASIAN_LAYOUT ;
OutputSize = TRUE ;
Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
SVLook = TRUE ;
Hide = TRUE ;
FixedLine GB_KERNING
{
Pos = MAP_APPFONT ( 6, 3 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Kerning";
};
RadioButton RB_CHAR_KERNING
{
HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_CHAR_KERNING";
Pos = MAP_APPFONT ( 12, 14 ) ;
Size = MAP_APPFONT ( 200 , 10 ) ;
Text [ en-US ] = "~Western characters only";
};
RadioButton RB_CHAR_PUNCT
{
HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_CHAR_PUNCT";
Pos = MAP_APPFONT ( 12, 27 ) ;
Size = MAP_APPFONT ( 200 , 10 ) ;
Text [ en-US ] = "Western ~text and Asian punctuation";
};
FixedLine GB_CHAR_DIST
{
Pos = MAP_APPFONT ( 6, 43 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Character spacing";
};
RadioButton RB_NO_COMP
{
HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_NO_COMP";
Pos = MAP_APPFONT ( 12, 54 ) ;
Size = MAP_APPFONT ( 200 , 10 ) ;
Text [ en-US ] = "~No compression";
};
RadioButton RB_PUNCT_COMP
{
HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_PUNCT_COMP";
Pos = MAP_APPFONT ( 12, 67) ;
Size = MAP_APPFONT ( 200 , 10 ) ;
Text [ en-US ] = "~Compress punctuation only";
};
RadioButton RB_PUNCT_KANA_COMP
{
HelpID = "cui:RadioButton:RID_SVXPAGE_ASIAN_LAYOUT:RB_PUNCT_KANA_COMP";
Pos = MAP_APPFONT ( 12, 80 ) ;
Size = MAP_APPFONT ( 200 , 10 ) ;
Text [ en-US ] = "Compress ~punctuation and Japanese Kana";
};
FixedLine GB_START_END
{
Pos = MAP_APPFONT ( 6, 96 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "First and last characters";
};
FixedText FT_LANGUAGE
{
Pos = MAP_APPFONT ( 12 , 109 ) ;
Size = MAP_APPFONT ( 80 , 8 ) ;
Text [ en-US ] = "~Language";
};
ListBox LB_LANGUAGE
{
HelpID = "cui:ListBox:RID_SVXPAGE_ASIAN_LAYOUT:LB_LANGUAGE";
Pos = MAP_APPFONT ( 95 , 107 ) ;
Size = MAP_APPFONT ( 80 , 48 ) ;
Border = TRUE ;
DropDown = TRUE ;
};
CheckBox CB_STANDARD
{
HelpID = "cui:CheckBox:RID_SVXPAGE_ASIAN_LAYOUT:CB_STANDARD";
Pos = MAP_APPFONT ( 180, 109 ) ;
Size = MAP_APPFONT ( 74 , 10 ) ;
Text [ en-US ] = "~Default";
};
FixedText FT_START
{
Pos = MAP_APPFONT ( 12 , 125 ) ;
Size = MAP_APPFONT ( 80 , 8 ) ;
Text [ en-US ] = "Not at start of line:";
};
Edit ED_START
{
HelpID = "cui:Edit:RID_SVXPAGE_ASIAN_LAYOUT:ED_START";
Pos = MAP_APPFONT ( 95 , 123 ) ;
Size = MAP_APPFONT ( 159 , 12 ) ;
Border = TRUE ;
};
FixedText FT_END
{
Pos = MAP_APPFONT ( 12 , 141 ) ;
Size = MAP_APPFONT ( 80 , 8 ) ;
Text [ en-US ] = "Not at end of line:";
};
Edit ED_END
{
HelpID = "cui:Edit:RID_SVXPAGE_ASIAN_LAYOUT:ED_END";
Pos = MAP_APPFONT ( 95 , 139 ) ;
Size = MAP_APPFONT ( 159 , 12 ) ;
Border = TRUE ;
};
FixedText FT_HINT
{
Pos = MAP_APPFONT ( 12 , 155 ) ;
Size = MAP_APPFONT ( 242 , 8 ) ;
Text [ en-US ] = "Without user-defined line break symbols";
};
Text [ en-US ] = "Proxy";
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -0,0 +1,381 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkGrid" id="OptAsianPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</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="left_padding">12</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkRadioButton" id="charkerning">
<property name="label" translatable="yes">_Western characters only</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">charpunctkerning</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="charpunctkerning">
<property name="label" translatable="yes">Western _text and Asian punctuation</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">charkerning</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">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">Kerning</property>
<property name="use_markup">False</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</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="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkBox" id="box2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkRadioButton" id="nocompression">
<property name="label" translatable="yes">_No compression</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">punctcompression</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="punctcompression">
<property name="label" translatable="yes">_Compress punctuation only</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">punctkanacompression</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="punctkanacompression">
<property name="label" translatable="yes">Compress punctuation and Japanese Kana</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">nocompression</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Character spacing</property>
<property name="use_markup">False</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</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="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="border_width">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkBox" id="box3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkBox" id="box4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="spacing">12</property>
<property name="homogeneous">True</property>
<child>
<object class="svxcorelo-SvxLanguageBox" id="language">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="standard">
<property name="label" translatable="yes">_Default</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</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="GtkLabel" id="languageft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Language</property>
<property name="use_underline">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="GtkLabel" id="startft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Not _at start of line:</property>
<property name="use_underline">True</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="endft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Not at _end of line:</property>
<property name="use_underline">True</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="GtkEntry" id="start">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
</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="GtkEntry" id="end">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
</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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="hintft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Without user-defined line break symbols</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">First and last characters</property>
<property name="use_markup">False</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</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>
</object>
</interface>