summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFaisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa>2013-05-29 19:35:24 +0200
committerFaisal M. Al-Otaibi <fmalotaibi@kacst.edu.sa>2013-05-29 20:41:09 +0200
commit3d4d89cf5a181aa306dfadc8cfb9a2cf8e59bfcd (patch)
treec9b30ee27c502304abcbc4023c6b887dd876bedb
parent963737d4dc83a162c2e295e942feb6fbf47bb809 (diff)
Convert option Complex text layout to .ui
convert the complex text layout widget and do the rest of the conversion. Change-Id: I8d928284e9532dfbc2f5e8d7d59f789de7865925
-rw-r--r--cui/AllLangResTarget_cui.mk1
-rw-r--r--cui/UIConfig_cui.mk1
-rw-r--r--cui/source/options/optctl.cxx98
-rw-r--r--cui/source/options/optctl.hrc51
-rw-r--r--cui/source/options/optctl.hxx22
-rw-r--r--cui/source/options/optctl.src116
-rw-r--r--cui/uiconfig/ui/optctlpage.ui290
7 files changed, 346 insertions, 233 deletions
diff --git a/cui/AllLangResTarget_cui.mk b/cui/AllLangResTarget_cui.mk
index abc25df11b85..6cd18c53b4ed 100644
--- a/cui/AllLangResTarget_cui.mk
+++ b/cui/AllLangResTarget_cui.mk
@@ -54,7 +54,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
cui/source/options/optasian.src \
cui/source/options/optchart.src \
cui/source/options/optcolor.src \
- cui/source/options/optctl.src \
cui/source/options/optdict.src \
cui/source/options/optfltr.src \
cui/source/options/optgdlg.src \
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index c065510f6e22..c61d48694326 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -43,6 +43,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/optadvancedpage \
cui/uiconfig/ui/optappearancepage \
cui/uiconfig/ui/optbrowserpage \
+ cui/uiconfig/ui/optctlpage \
cui/uiconfig/ui/optemailpage \
cui/uiconfig/ui/optfltrpage \
cui/uiconfig/ui/optfontspage \
diff --git a/cui/source/options/optctl.cxx b/cui/source/options/optctl.cxx
index 1a62bb79e673..2ad83c561f13 100644
--- a/cui/source/options/optctl.cxx
+++ b/cui/source/options/optctl.cxx
@@ -19,7 +19,6 @@
#include "optctl.hxx"
#include <dialmgr.hxx>
-#include "optctl.hrc"
#include <cuires.hrc>
#include <svl/ctloptions.hxx>
@@ -27,40 +26,35 @@
IMPL_LINK_NOARG(SvxCTLOptionsPage, SequenceCheckingCB_Hdl)
{
- sal_Bool bIsSequenceChecking = m_aSequenceCheckingCB.IsChecked();
- m_aRestrictedCB.Enable( bIsSequenceChecking );
- m_aTypeReplaceCB.Enable( bIsSequenceChecking );
+ sal_Bool bIsSequenceChecking = m_pSequenceCheckingCB->IsChecked();
+ m_pRestrictedCB->Enable( bIsSequenceChecking );
+ m_pTypeReplaceCB->Enable( bIsSequenceChecking );
// #i48117#: by default restricted and type&replace have to be switched on
if(bIsSequenceChecking)
{
- m_aTypeReplaceCB.Check( sal_True );
- m_aRestrictedCB.Check( sal_True );
+ m_pTypeReplaceCB->Check( sal_True );
+ m_pRestrictedCB->Check( sal_True );
}
return 0;
}
SvxCTLOptionsPage::SvxCTLOptionsPage( Window* pParent, const SfxItemSet& rSet ) :
- SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_OPTIONS_CTL ), rSet ),
-
- m_aSequenceCheckingFL ( this, CUI_RES( FL_SEQUENCECHECKING ) ),
- m_aSequenceCheckingCB ( this, CUI_RES( CB_SEQUENCECHECKING ) ),
- m_aRestrictedCB ( this, CUI_RES( CB_RESTRICTED ) ),
- m_aTypeReplaceCB ( this, CUI_RES( CB_TYPE_REPLACE ) ),
- m_aCursorControlFL ( this, CUI_RES( FL_CURSORCONTROL ) ),
- m_aMovementFT ( this, CUI_RES( FT_MOVEMENT ) ),
- m_aMovementLogicalRB ( this, CUI_RES( RB_MOVEMENT_LOGICAL ) ),
- m_aMovementVisualRB ( this, CUI_RES( RB_MOVEMENT_VISUAL ) ),
- m_aGeneralFL ( this, CUI_RES( FL_GENERAL ) ),
- m_aNumeralsFT ( this, CUI_RES( FT_NUMERALS ) ),
- m_aNumeralsLB ( this, CUI_RES( LB_NUMERALS ) )
+ SfxTabPage( pParent, "OptCTLPage", "cui/ui/optctlpage.ui", rSet )
{
- FreeResource();
+ get( m_pSequenceCheckingCB, "sequencechecking");
+ get( m_pRestrictedCB, "restricted");
+ get( m_pTypeReplaceCB, "typeandreplace");
+
+ get( m_pMovementLogicalRB, "movementlogical");
+ get( m_pMovementVisualRB, "movementvisual");
+
+ get( m_pNumeralsLB, "numerals");
- m_aSequenceCheckingCB.SetClickHdl( LINK( this, SvxCTLOptionsPage, SequenceCheckingCB_Hdl ) );
+ m_pSequenceCheckingCB->SetClickHdl( LINK( this, SvxCTLOptionsPage, SequenceCheckingCB_Hdl ) );
- m_aNumeralsLB.SetDropDownLineCount( m_aNumeralsLB.GetEntryCount() );
+ m_pNumeralsLB->SetDropDownLineCount( m_pNumeralsLB->GetEntryCount() );
}
// -----------------------------------------------------------------------------
SvxCTLOptionsPage::~SvxCTLOptionsPage()
@@ -78,30 +72,30 @@ sal_Bool SvxCTLOptionsPage::FillItemSet( SfxItemSet& )
SvtCTLOptions aCTLOptions;
// Sequence checking
- sal_Bool bChecked = m_aSequenceCheckingCB.IsChecked();
- if ( bChecked != m_aSequenceCheckingCB.GetSavedValue() )
+ sal_Bool bChecked = m_pSequenceCheckingCB->IsChecked();
+ if ( bChecked != m_pSequenceCheckingCB->GetSavedValue() )
{
aCTLOptions.SetCTLSequenceChecking( bChecked );
bModified = sal_True;
}
- bChecked = m_aRestrictedCB.IsChecked();
- if( bChecked != m_aRestrictedCB.GetSavedValue() )
+ bChecked = m_pRestrictedCB->IsChecked();
+ if( bChecked != m_pRestrictedCB->GetSavedValue() )
{
aCTLOptions.SetCTLSequenceCheckingRestricted( bChecked );
bModified = sal_True;
}
- bChecked = m_aTypeReplaceCB.IsChecked();
- if( bChecked != m_aTypeReplaceCB.GetSavedValue())
+ bChecked = m_pTypeReplaceCB->IsChecked();
+ if( bChecked != m_pTypeReplaceCB->GetSavedValue())
{
aCTLOptions.SetCTLSequenceCheckingTypeAndReplace(bChecked);
bModified = sal_True;
}
- sal_Bool bLogicalChecked = m_aMovementLogicalRB.IsChecked();
- sal_Bool bVisualChecked = m_aMovementVisualRB.IsChecked();
- if ( bLogicalChecked != m_aMovementLogicalRB.GetSavedValue() ||
- bVisualChecked != m_aMovementVisualRB.GetSavedValue() )
+ sal_Bool bLogicalChecked = m_pMovementLogicalRB->IsChecked();
+ sal_Bool bVisualChecked = m_pMovementVisualRB->IsChecked();
+ if ( bLogicalChecked != m_pMovementLogicalRB->GetSavedValue() ||
+ bVisualChecked != m_pMovementVisualRB->GetSavedValue() )
{
SvtCTLOptions::CursorMovement eMovement =
bLogicalChecked ? SvtCTLOptions::MOVEMENT_LOGICAL : SvtCTLOptions::MOVEMENT_VISUAL;
@@ -109,8 +103,8 @@ sal_Bool SvxCTLOptionsPage::FillItemSet( SfxItemSet& )
bModified = sal_True;
}
- sal_uInt16 nPos = m_aNumeralsLB.GetSelectEntryPos();
- if ( nPos != m_aNumeralsLB.GetSavedValue() )
+ sal_uInt16 nPos = m_pNumeralsLB->GetSelectEntryPos();
+ if ( nPos != m_pNumeralsLB->GetSavedValue() )
{
aCTLOptions.SetCTLTextNumerals( (SvtCTLOptions::TextNumerals)nPos );
bModified = sal_True;
@@ -123,19 +117,19 @@ void SvxCTLOptionsPage::Reset( const SfxItemSet& )
{
SvtCTLOptions aCTLOptions;
- m_aSequenceCheckingCB.Check( aCTLOptions.IsCTLSequenceChecking() );
- m_aRestrictedCB.Check( aCTLOptions.IsCTLSequenceCheckingRestricted() );
- m_aTypeReplaceCB.Check( aCTLOptions.IsCTLSequenceCheckingTypeAndReplace() );
+ m_pSequenceCheckingCB->Check( aCTLOptions.IsCTLSequenceChecking() );
+ m_pRestrictedCB->Check( aCTLOptions.IsCTLSequenceCheckingRestricted() );
+ m_pTypeReplaceCB->Check( aCTLOptions.IsCTLSequenceCheckingTypeAndReplace() );
SvtCTLOptions::CursorMovement eMovement = aCTLOptions.GetCTLCursorMovement();
switch ( eMovement )
{
case SvtCTLOptions::MOVEMENT_LOGICAL :
- m_aMovementLogicalRB.Check();
+ m_pMovementLogicalRB->Check();
break;
case SvtCTLOptions::MOVEMENT_VISUAL :
- m_aMovementVisualRB.Check();
+ m_pMovementVisualRB->Check();
break;
default:
@@ -143,19 +137,19 @@ void SvxCTLOptionsPage::Reset( const SfxItemSet& )
}
sal_uInt16 nPos = (sal_uInt16)aCTLOptions.GetCTLTextNumerals();
- DBG_ASSERT( nPos < m_aNumeralsLB.GetEntryCount(), "SvxCTLOptionsPage::Reset(): invalid numerals enum" );
- m_aNumeralsLB.SelectEntryPos( nPos );
-
- m_aSequenceCheckingCB.SaveValue();
- m_aRestrictedCB.SaveValue();
- m_aTypeReplaceCB.SaveValue();
- m_aMovementLogicalRB.SaveValue();
- m_aMovementVisualRB.SaveValue();
- m_aNumeralsLB.SaveValue();
-
- sal_Bool bIsSequenceChecking = m_aSequenceCheckingCB.IsChecked();
- m_aRestrictedCB.Enable( bIsSequenceChecking );
- m_aTypeReplaceCB.Enable( bIsSequenceChecking );
+ DBG_ASSERT( nPos < m_pNumeralsLB->GetEntryCount(), "SvxCTLOptionsPage::Reset(): invalid numerals enum" );
+ m_pNumeralsLB->SelectEntryPos( nPos );
+
+ m_pSequenceCheckingCB->SaveValue();
+ m_pRestrictedCB->SaveValue();
+ m_pTypeReplaceCB->SaveValue();
+ m_pMovementLogicalRB->SaveValue();
+ m_pMovementVisualRB->SaveValue();
+ m_pNumeralsLB->SaveValue();
+
+ sal_Bool bIsSequenceChecking = m_pSequenceCheckingCB->IsChecked();
+ m_pRestrictedCB->Enable( bIsSequenceChecking );
+ m_pTypeReplaceCB->Enable( bIsSequenceChecking );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optctl.hrc b/cui/source/options/optctl.hrc
deleted file mode 100644
index 3bb7a8f269a0..000000000000
--- a/cui/source/options/optctl.hrc
+++ /dev/null
@@ -1,51 +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_OPTCTL_HRC
-#define _SVX_OPTCTL_HRC
-
-#include <svtools/controldims.hrc>
-
-#define FL_SEQUENCECHECKING 10
-#define CB_SEQUENCECHECKING 11
-#define CB_RESTRICTED 12
-#define CB_TYPE_REPLACE 13
-
-#define FL_CURSORCONTROL 20
-#define FT_MOVEMENT 21
-#define RB_MOVEMENT_LOGICAL 22
-#define RB_MOVEMENT_VISUAL 23
-
-#define FL_GENERAL 30
-#define FT_NUMERALS 31
-#define LB_NUMERALS 32
-
-#define EXTRA_SPACE_Y 16
-#define ROW_0 (RSC_SP_TBPG_INNERBORDER_TOP)
-#define ROW_1 (ROW_0+RSC_CD_FIXEDLINE_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define ROW_2 (ROW_1+RSC_CD_CHECKBOX_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define ROW_3 (ROW_2+RSC_CD_CHECKBOX_HEIGHT+RSC_SP_CTRL_Y+EXTRA_SPACE_Y)
-#define ROW_4 (ROW_3+RSC_CD_FIXEDLINE_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define ROW_5 (ROW_4+(RSC_CD_RADIOBUTTON_HEIGHT-RSC_CD_FIXEDTEXT_HEIGHT)/2)
-#define ROW_6 (ROW_5+RSC_CD_RADIOBUTTON_HEIGHT+RSC_SP_CTRL_Y+EXTRA_SPACE_Y)
-#define ROW_7 (ROW_6+RSC_CD_FIXEDLINE_HEIGHT+RSC_SP_FLGR_SPACE_Y)
-#define ROW_8 (ROW_7+(RSC_CD_DROPDOWN_HEIGHT-RSC_CD_FIXEDTEXT_HEIGHT)/2)
-
-#endif // #ifndef _SVX_OPTCTL_HRC
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optctl.hxx b/cui/source/options/optctl.hxx
index 64a49d85cebe..a6f0e1e1b10b 100644
--- a/cui/source/options/optctl.hxx
+++ b/cui/source/options/optctl.hxx
@@ -29,19 +29,15 @@
class SvxCTLOptionsPage : public SfxTabPage
{
private:
- FixedLine m_aSequenceCheckingFL;
- CheckBox m_aSequenceCheckingCB;
- CheckBox m_aRestrictedCB;
- CheckBox m_aTypeReplaceCB;
-
- FixedLine m_aCursorControlFL;
- FixedText m_aMovementFT;
- RadioButton m_aMovementLogicalRB;
- RadioButton m_aMovementVisualRB;
-
- FixedLine m_aGeneralFL;
- FixedText m_aNumeralsFT;
- ListBox m_aNumeralsLB;
+
+ CheckBox* m_pSequenceCheckingCB;
+ CheckBox* m_pRestrictedCB;
+ CheckBox* m_pTypeReplaceCB;
+
+ RadioButton* m_pMovementLogicalRB;
+ RadioButton* m_pMovementVisualRB;
+
+ ListBox* m_pNumeralsLB;
DECL_LINK( SequenceCheckingCB_Hdl, void* );
diff --git a/cui/source/options/optctl.src b/cui/source/options/optctl.src
deleted file mode 100644
index ffb111414b81..000000000000
--- a/cui/source/options/optctl.src
+++ /dev/null
@@ -1,116 +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 "optctl.hrc"
-#include "helpid.hrc"
-#include <cuires.hrc>
-
-#include <sfx2/sfx.hrc>
-
-TabPage RID_SVXPAGE_OPTIONS_CTL
-{
- HelpId = HID_OPTIONS_CTL ;
- OutputSize = TRUE ;
- Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Text [ en-US ] = "Complex Text Layout" ;
- FixedLine FL_SEQUENCECHECKING
- {
- Pos = MAP_APPFONT ( 6, ROW_0 ) ;
- Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDLINE_HEIGHT ) ;
- Text [ en-US ] = "Sequence checking";
- };
- CheckBox CB_SEQUENCECHECKING
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_OPTIONS_CTL:CB_SEQUENCECHECKING";
- Pos = MAP_APPFONT ( 12, ROW_1 ) ;
- Size = MAP_APPFONT ( 236 , RSC_CD_CHECKBOX_HEIGHT ) ;
- Text [ en-US ] = "Use se~quence checking";
- };
- CheckBox CB_RESTRICTED
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_OPTIONS_CTL:CB_RESTRICTED";
- Pos = MAP_APPFONT ( 18, ROW_2 );
- Size = MAP_APPFONT ( 236, RSC_CD_CHECKBOX_HEIGHT );
- Text[ en-US ] = "Restricted";
- };
- CheckBox CB_TYPE_REPLACE
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_OPTIONS_CTL:CB_TYPE_REPLACE";
- Pos = MAP_APPFONT ( 18, ROW_2+RSC_CD_CHECKBOX_HEIGHT+RSC_SP_FLGR_SPACE_Y );
- Size = MAP_APPFONT ( 236, RSC_CD_CHECKBOX_HEIGHT );
- Text[ en-US ] = "~Type and replace";
- };
- FixedLine FL_CURSORCONTROL
- {
- Pos = MAP_APPFONT ( 6, ROW_3 ) ;
- Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDLINE_HEIGHT ) ;
- Text [ en-US ] = "Cursor control";
- };
- FixedText FT_MOVEMENT
- {
- Pos = MAP_APPFONT ( 12, ROW_5 ) ;
- Size = MAP_APPFONT ( 90 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
- Text [ en-US ] = "Movement";
- };
- RadioButton RB_MOVEMENT_LOGICAL
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_OPTIONS_CTL:RB_MOVEMENT_LOGICAL";
- Pos = MAP_APPFONT ( 105, ROW_4 ) ;
- Size = MAP_APPFONT ( 69 , RSC_CD_RADIOBUTTON_HEIGHT ) ;
- Text [ en-US ] = "Lo~gical";
- };
- RadioButton RB_MOVEMENT_VISUAL
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_OPTIONS_CTL:RB_MOVEMENT_VISUAL";
- Pos = MAP_APPFONT ( 177, ROW_4 ) ;
- Size = MAP_APPFONT ( 69 , RSC_CD_RADIOBUTTON_HEIGHT ) ;
- Text [ en-US ] = "~Visual";
- };
- FixedLine FL_GENERAL
- {
- Pos = MAP_APPFONT ( 6, ROW_6 ) ;
- Size = MAP_APPFONT ( 248 , RSC_CD_FIXEDLINE_HEIGHT ) ;
- Text [ en-US ] = "General options";
- };
- FixedText FT_NUMERALS
- {
- Pos = MAP_APPFONT ( 12, ROW_8 ) ;
- Size = MAP_APPFONT ( 90 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
- Text [ en-US ] = "~Numerals";
- };
- ListBox LB_NUMERALS
- {
- HelpID = "cui:ListBox:RID_SVXPAGE_OPTIONS_CTL:LB_NUMERALS";
- Pos = MAP_APPFONT ( 105, ROW_7 ) ;
- Size = MAP_APPFONT ( 69 , 3*RSC_CD_DROPDOWN_HEIGHT ) ;
- DropDown = TRUE ;
- Border = TRUE ;
- StringList [ en-US ]=
- {
- < "Arabic" ; > ;
- < "Hindi" ; > ;
- < "System" ; > ;
- < "Context" ; > ;
- };
- };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/uiconfig/ui/optctlpage.ui b/cui/uiconfig/ui/optctlpage.ui
new file mode 100644
index 000000000000..6adc69a48870
--- /dev/null
+++ b/cui/uiconfig/ui/optctlpage.ui
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkBox" id="OptCTLPage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="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="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="sequencechecking">
+ <property name="label" translatable="yes">Use se_quence checking</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">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="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid" id="grid4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton" id="restricted">
+ <property name="label" translatable="yes">Restricted</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">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="typeandreplace">
+ <property name="label" translatable="yes">_Type and replace</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">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>
+ </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>
+ </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">Sequence checking</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</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="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <property name="column_homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Movement</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="GtkRadioButton" id="movementlogical">
+ <property name="label" translatable="yes">Lo_gical</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">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">movementvisual</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="GtkRadioButton" id="movementvisual">
+ <property name="label" translatable="yes">_Visual</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">movementlogical</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>
+ </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">Cursor control</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <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="alignment4">
+ <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="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <property name="column_homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Numerals</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">numerals</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="GtkComboBoxText" id="numerals">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="entry_text_column">0</property>
+ <property name="id_column">1</property>
+ <items>
+ <item translatable="yes">Arabic</item>
+ <item translatable="yes">Hindi</item>
+ <item translatable="yes">System</item>
+ <item translatable="yes">Context</item>
+ </items>
+ </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>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">General options</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="lower">2</property>
+ <property name="upper">256</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+</interface>