cui/inc/bitmaps.hlst                                |    2 
 cui/source/inc/numpages.hxx                         |    6 
 cui/source/inc/swpossizetabpage.hxx                 |    7 
 cui/source/inc/transfrm.hxx                         |    7 
 cui/source/tabpages/numpages.cxx                    |   23 
 cui/source/tabpages/swpossizetabpage.cxx            |   26 
 cui/source/tabpages/transfrm.cxx                    |   26 
 cui/uiconfig/ui/bulletandposition.ui                |  100 ++-
 cui/uiconfig/ui/numberingoptionspage.ui             |  606 +++++++++++---------
 cui/uiconfig/ui/possizetabpage.ui                   |  110 ++-
 cui/uiconfig/ui/swpossizepage.ui                    |  368 ++++++------
 icon-themes/breeze_dark/res/locked.png              |binary
 icon-themes/breeze_dark/res/unlocked.png            |binary
 icon-themes/colibre/res/locked.png                  |binary
 icon-themes/colibre/res/unlocked.png                |binary
 icon-themes/colibre_dark/res/locked.png             |binary
 icon-themes/colibre_dark/res/unlocked.png           |binary
 icon-themes/colibre_dark_svg/res/unlocked.svg       |   43 +
 icon-themes/colibre_svg/res/unlocked.svg            |    4 
 icon-themes/sifr_dark/res/locked.png                |binary
 icon-themes/sifr_dark/res/unlocked.png              |binary
 icon-themes/sukapura_dark/res/locked.png            |binary
 icon-themes/sukapura_dark/res/unlocked.png          |binary
 include/svx/dlgutil.hxx                             |   19 
 sd/inc/bitmaps.hlst                                 |    3 
 sd/source/ui/dlg/BulletAndPositionDlg.cxx           |   25 
 sd/source/ui/inc/BulletAndPositionDlg.hxx           |    6 
 svx/inc/bitmaps.hlst                                |    3 
 svx/source/dialog/dlgutil.cxx                       |   24 
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx |   29 
 svx/source/sidebar/possize/PosSizePropertyPanel.hxx |    7 
 svx/uiconfig/ui/sidebarpossize.ui                   |  128 +++-
 sw/inc/bitmaps.hlst                                 |    3 
 sw/source/ui/frmdlg/frmpage.cxx                     |   20 
 sw/source/uibase/inc/frmpage.hxx                    |    9 
 sw/uiconfig/swriter/ui/frmtypepage.ui               |  127 +++-
 36 files changed, 1201 insertions(+), 530 deletions(-)

New commits:
commit fe4e750d32cb88a9ce7a7539af6c6883d4194220
Author:     Heiko Tietze <tietze.he...@gmail.com>
AuthorDate: Fri Dec 8 12:18:47 2023 +0100
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Mon Feb 12 12:56:05 2024 +0100

    Resolves tdf#158531 - Connector lines for Keep Ratio setting
    
    Icons taken from https://thenounproject.com/icon/lock-89649/ and
    https://thenounproject.com/icon/unlock-89647/ (licensed PD)
    
    Change-Id: I7efd25e83726ced7dee4f876cf4bb4c8f54408df
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160460
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>

diff --git a/cui/inc/bitmaps.hlst b/cui/inc/bitmaps.hlst
index 6e0a1877588e..aab916827507 100644
--- a/cui/inc/bitmaps.hlst
+++ b/cui/inc/bitmaps.hlst
@@ -53,6 +53,8 @@ inline constexpr OUString RID_SVXBMP_TOPLOCK = 
u"svx/res/lo02.png"_ustr;
 inline constexpr OUString RID_SVXBMP_CELLLOCK = u"svx/res/lo03.png"_ustr;
 
 inline constexpr OUString RID_SVXBMP_LOCK = u"res/lock.png"_ustr;
+inline constexpr OUString RID_SVXBMP_LOCKED = u"res/locked.png"_ustr;
+inline constexpr OUString RID_SVXBMP_UNLOCKED = u"res/unlocked.png"_ustr;
 
 inline constexpr OUString RID_SVXBMP_THEME_NORMAL_BIG = 
u"svx/res/galnorl.png"_ustr;
 inline constexpr OUString RID_SVXBMP_THEME_READONLY_BIG = 
u"svx/res/galrdol.png"_ustr;
diff --git a/cui/source/inc/numpages.hxx b/cui/source/inc/numpages.hxx
index ec7b72ac71fb..7c34d49fcc62 100644
--- a/cui/source/inc/numpages.hxx
+++ b/cui/source/inc/numpages.hxx
@@ -28,6 +28,7 @@
 #include <svx/numberingpreview.hxx>
 #include <vcl/customweld.hxx>
 #include <vcl/timer.hxx>
+#include <svx/dlgutil.hxx>
 
 #define MN_GALLERY_ENTRY 100
 
@@ -218,6 +219,8 @@ class SvxNumOptionsTabPage : public SfxTabPage
     TypedWhichId<SvxNumBulletItem> nNumItemId;
     MapUnit             eCoreUnit;
 
+    SvxRatioConnector m_aRatioTop;
+    SvxRatioConnector m_aRatioBottom;
     SvxNumberingPreview m_aPreviewWIN;
     std::unique_ptr<weld::Widget> m_xGrid;
     std::unique_ptr<weld::TreeView> m_xLevelLB;
@@ -247,6 +250,9 @@ class SvxNumOptionsTabPage : public SfxTabPage
     std::unique_ptr<weld::Label> m_xHeightFT;
     std::unique_ptr<weld::MetricSpinButton> m_xHeightMF;
     std::unique_ptr<weld::CheckButton> m_xRatioCB;
+    std::unique_ptr<weld::Image> m_xCbxScaleImg;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioTop;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioBottom;
     std::unique_ptr<weld::Label> m_xOrientFT;
     std::unique_ptr<weld::ComboBox> m_xOrientLB;
     std::unique_ptr<weld::Widget> m_xAllLevelsFrame;
diff --git a/cui/source/inc/swpossizetabpage.hxx 
b/cui/source/inc/swpossizetabpage.hxx
index eb73196986bf..2e5a15fbebbb 100644
--- a/cui/source/inc/swpossizetabpage.hxx
+++ b/cui/source/inc/swpossizetabpage.hxx
@@ -21,6 +21,7 @@
 #include <sfx2/tabdlg.hxx>
 #include <svx/swframeexample.hxx>
 #include <vcl/weld.hxx>
+#include <svx/dlgutil.hxx>
 
 // SvxSwPosSizeTabPage - position and size page for Writer drawing objects
 struct FrmMap;
@@ -55,10 +56,15 @@ class SvxSwPosSizeTabPage : public SfxTabPage
     TriState    m_nProtectSizeState;
 
     SwFrameExample m_aExampleWN;
+    SvxRatioConnector m_aRatioTop;
+    SvxRatioConnector m_aRatioBottom;
 
     std::unique_ptr<weld::MetricSpinButton> m_xWidthMF;
     std::unique_ptr<weld::MetricSpinButton> m_xHeightMF;
     std::unique_ptr<weld::CheckButton> m_xKeepRatioCB;
+    std::unique_ptr<weld::Image> m_xCbxScaleImg;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioTop;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioBottom;
     std::unique_ptr<weld::RadioButton> m_xToPageRB;
     std::unique_ptr<weld::RadioButton> m_xToParaRB;
     std::unique_ptr<weld::RadioButton> m_xToCharRB;
@@ -91,6 +97,7 @@ class SvxSwPosSizeTabPage : public SfxTabPage
     DECL_LINK(MirrorHdl, weld::Toggleable&, void);
     DECL_LINK(ModifyHdl, weld::MetricSpinButton&, void);
     DECL_LINK(ProtectHdl, weld::Toggleable&, void);
+    DECL_LINK(RatioHdl_Impl, weld::Toggleable&, void);
 
     void            InitPos(RndStdIds nAnchorType, sal_uInt16 nH, sal_uInt16 
nHRel,
                             sal_uInt16 nV,  sal_uInt16 nVRel,
diff --git a/cui/source/inc/transfrm.hxx b/cui/source/inc/transfrm.hxx
index 0a30b720fc81..78ffd84e2794 100644
--- a/cui/source/inc/transfrm.hxx
+++ b/cui/source/inc/transfrm.hxx
@@ -19,6 +19,7 @@
 #pragma once
 
 #include <svx/dlgctrl.hxx>
+#include <svx/dlgutil.hxx>
 #include <svx/dialcontrol.hxx>
 #include <svx/anchorid.hxx>
 #include <basegfx/range/b2drange.hxx>
@@ -91,6 +92,9 @@ private:
     SvxRectCtl          m_aCtlPos;
     SvxRectCtl          m_aCtlSize;
 
+    SvxRatioConnector m_aRatioTop;
+    SvxRatioConnector m_aRatioBottom;
+
     // position
     std::unique_ptr<weld::Widget> m_xFlPosition;
     std::unique_ptr<weld::MetricSpinButton> m_xMtrPosX;
@@ -104,6 +108,9 @@ private:
     std::unique_ptr<weld::Label> m_xFtHeight;
     std::unique_ptr<weld::MetricSpinButton> m_xMtrHeight;
     std::unique_ptr<weld::CheckButton> m_xCbxScale;
+    std::unique_ptr<weld::Image> m_xCbxScaleImg;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioTop;
+    std::unique_ptr<weld::CustomWeld> m_xImgRatioBottom;
     std::unique_ptr<weld::CustomWeld> m_xCtlSize;
 
     // protect
diff --git a/cui/source/tabpages/numpages.cxx b/cui/source/tabpages/numpages.cxx
index 27ec66a616de..5ed761a5c579 100644
--- a/cui/source/tabpages/numpages.cxx
+++ b/cui/source/tabpages/numpages.cxx
@@ -75,6 +75,8 @@
 #include <o3tl/temporary.hxx>
 #include <osl/diagnose.h>
 
+#include <bitmaps.hlst>
+
 using namespace css;
 using namespace css::uno;
 using namespace css::beans;
@@ -1020,6 +1022,8 @@ 
SvxNumOptionsTabPage::SvxNumOptionsTabPage(weld::Container* pPage, weld::DialogC
     , nBullet(0xff)
     , nActNumLvl(1)
     , nNumItemId(SID_ATTR_NUMBERING_RULE)
+    , m_aRatioTop(ConnectorType::Top)
+    , m_aRatioBottom(ConnectorType::Bottom)
     , m_xGrid(m_xBuilder->weld_widget("grid2"))
     , m_xLevelLB(m_xBuilder->weld_tree_view("levellb"))
     , m_xFmtLB(m_xBuilder->weld_combo_box("numfmtlb"))
@@ -1049,6 +1053,9 @@ 
SvxNumOptionsTabPage::SvxNumOptionsTabPage(weld::Container* pPage, weld::DialogC
     , m_xHeightFT(m_xBuilder->weld_label("heightft"))
     , m_xHeightMF(m_xBuilder->weld_metric_spin_button("heightmf", 
FieldUnit::CM))
     , m_xRatioCB(m_xBuilder->weld_check_button("keepratio"))
+    , m_xCbxScaleImg(m_xBuilder->weld_image("imRatio"))
+    , m_xImgRatioTop(new weld::CustomWeld(*m_xBuilder, "daRatioTop", 
m_aRatioTop))
+    , m_xImgRatioBottom(new weld::CustomWeld(*m_xBuilder, "daRatioBottom", 
m_aRatioBottom))
     , m_xOrientFT(m_xBuilder->weld_label("orientft"))
     , m_xOrientLB(m_xBuilder->weld_combo_box("orientlb"))
     , m_xAllLevelsFrame(m_xBuilder->weld_widget("levelsframe"))
@@ -1060,6 +1067,18 @@ 
SvxNumOptionsTabPage::SvxNumOptionsTabPage(weld::Container* pPage, weld::DialogC
     m_xBulRelSizeMF->set_increments(5, 50, FieldUnit::PERCENT);
     SetExchangeSupport();
     aActBulletFont = lcl_GetDefaultBulletFont();
+    // vertical alignment = fill makes the drawingarea expand the associated 
spinedits so we have to size it here
+    const sal_Int16 aHeight
+        = 
static_cast<sal_Int16>(std::max(int(m_xRatioCB->get_preferred_size().getHeight()
 / 2
+                                              - 
m_xWidthMF->get_preferred_size().getHeight() / 2),
+                                          12));
+    const sal_Int16 aWidth
+        = static_cast<sal_Int16>(m_xRatioCB->get_preferred_size().getWidth() / 
2);
+    m_xImgRatioTop->set_size_request(aWidth, aHeight);
+    m_xImgRatioBottom->set_size_request(aWidth, aHeight);
+    //init needed for gtk3
+    m_xCbxScaleImg->set_from_icon_name(m_xRatioCB->get_active() ? 
RID_SVXBMP_LOCKED
+                                                                : 
RID_SVXBMP_UNLOCKED);
 
     m_xBulletPB->connect_clicked(LINK(this, SvxNumOptionsTabPage, 
BulletHdl_Impl));
     m_xFmtLB->connect_changed(LINK(this, SvxNumOptionsTabPage, 
NumberTypeSelectHdl_Impl));
@@ -1554,6 +1573,9 @@ void SvxNumOptionsTabPage::SwitchNumberType( sal_uInt8 
nType )
     m_xHeightFT->set_visible(bBitmap);
     m_xHeightMF->set_visible(bBitmap);
     m_xRatioCB->set_visible(bBitmap);
+    m_xCbxScaleImg->set_visible(bBitmap);
+    m_xImgRatioTop->set_visible(bBitmap);
+    m_xImgRatioBottom->set_visible(bBitmap);
 
     m_xOrientFT->set_visible(bBitmap && bAllLevelFeature);
     m_xOrientLB->set_visible(bBitmap && bAllLevelFeature);
@@ -2086,6 +2108,7 @@ IMPL_LINK( SvxNumOptionsTabPage, SizeHdl_Impl, 
weld::MetricSpinButton&, rField,
 
 IMPL_LINK(SvxNumOptionsTabPage, RatioHdl_Impl, weld::Toggleable&, rBox, void)
 {
+    m_xCbxScaleImg->set_from_icon_name(m_xRatioCB->get_active() ? 
RID_SVXBMP_LOCKED : RID_SVXBMP_UNLOCKED);
     if (rBox.get_active())
     {
         if (bLastWidthModified)
diff --git a/cui/source/tabpages/swpossizetabpage.cxx 
b/cui/source/tabpages/swpossizetabpage.cxx
index 060f7b44ce9f..1a0d14759eac 100644
--- a/cui/source/tabpages/swpossizetabpage.cxx
+++ b/cui/source/tabpages/swpossizetabpage.cxx
@@ -38,6 +38,8 @@
 #include <svtools/unitconv.hxx>
 #include <osl/diagnose.h>
 
+#include <bitmaps.hlst>
+
 using namespace ::com::sun::star::text;
 
 namespace {
@@ -539,9 +541,14 @@ SvxSwPosSizeTabPage::SvxSwPosSizeTabPage(weld::Container* 
pPage, weld::DialogCon
     , m_bIsMultiSelection(false)
     , m_bIsInRightToLeft(false)
     , m_nProtectSizeState(TRISTATE_FALSE)
+    , m_aRatioTop(ConnectorType::Top)
+    , m_aRatioBottom(ConnectorType::Bottom)
     , m_xWidthMF(m_xBuilder->weld_metric_spin_button("width", FieldUnit::CM))
     , m_xHeightMF(m_xBuilder->weld_metric_spin_button("height", FieldUnit::CM))
     , m_xKeepRatioCB(m_xBuilder->weld_check_button("ratio"))
+    , m_xCbxScaleImg(m_xBuilder->weld_image("imRatio"))
+    , m_xImgRatioTop(new weld::CustomWeld(*m_xBuilder, "daRatioTop", 
m_aRatioTop))
+    , m_xImgRatioBottom(new weld::CustomWeld(*m_xBuilder, "daRatioBottom", 
m_aRatioBottom))
     , m_xToPageRB(m_xBuilder->weld_radio_button("topage"))
     , m_xToParaRB(m_xBuilder->weld_radio_button("topara"))
     , m_xToCharRB(m_xBuilder->weld_radio_button("tochar"))
@@ -575,6 +582,20 @@ SvxSwPosSizeTabPage::SvxSwPosSizeTabPage(weld::Container* 
pPage, weld::DialogCon
     SetFieldUnit(*m_xWidthMF , eDlgUnit, true);
     SetFieldUnit(*m_xHeightMF, eDlgUnit, true);
 
+    // vertical alignment = fill makes the drawingarea expand the associated 
spinedits so we have to size it here
+    const sal_Int16 aHeight
+        = 
static_cast<sal_Int16>(std::max(int(m_xKeepRatioCB->get_preferred_size().getHeight()
 / 2
+                                              - 
m_xWidthMF->get_preferred_size().getHeight() / 2),
+                                          12));
+    const sal_Int16 aWidth
+        = 
static_cast<sal_Int16>(m_xKeepRatioCB->get_preferred_size().getWidth() / 2);
+    m_xImgRatioTop->set_size_request(aWidth, aHeight);
+    m_xImgRatioBottom->set_size_request(aWidth, aHeight);
+    //init needed for gtk3
+    m_xCbxScaleImg->set_from_icon_name(m_xKeepRatioCB->get_active() ? 
RID_SVXBMP_LOCKED
+                                                                    : 
RID_SVXBMP_UNLOCKED);
+    m_xKeepRatioCB->connect_toggled(LINK(this, SvxSwPosSizeTabPage, 
RatioHdl_Impl));
+
     SetExchangeSupport();
 
     Link<weld::Widget&,void> aLk3 = LINK(this, SvxSwPosSizeTabPage, 
RangeModifyHdl);
@@ -1109,6 +1130,11 @@ RndStdIds SvxSwPosSizeTabPage::GetAnchorType(bool* 
pbHasChanged)
     return nRet;
 }
 
+IMPL_LINK_NOARG(SvxSwPosSizeTabPage, RatioHdl_Impl, weld::Toggleable&, void)
+{
+    m_xCbxScaleImg->set_from_icon_name(m_xKeepRatioCB->get_active() ? 
RID_SVXBMP_LOCKED : RID_SVXBMP_UNLOCKED);
+}
+
 IMPL_LINK_NOARG(SvxSwPosSizeTabPage, RangeModifyClickHdl, weld::Toggleable&, 
void)
 {
     RangeModifyHdl(m_xWidthMF->get_widget());
diff --git a/cui/source/tabpages/transfrm.cxx b/cui/source/tabpages/transfrm.cxx
index 05fd9e56704f..07fb0f26ff62 100644
--- a/cui/source/tabpages/transfrm.cxx
+++ b/cui/source/tabpages/transfrm.cxx
@@ -34,13 +34,14 @@
 #include <svtools/unitconv.hxx>
 
 #include <transfrm.hxx>
-#include <svx/dlgutil.hxx>
 #include <svx/anchorid.hxx>
 #include <svl/rectitem.hxx>
 #include <swpossizetabpage.hxx>
 #include <vcl/canvastools.hxx>
 #include <vcl/fieldvalues.hxx>
 
+#include <bitmaps.hlst>
+
 // static ----------------------------------------------------------------
 
 const WhichRangesContainer SvxPositionSizeTabPage::pPosSizeRanges(svl::Items<
@@ -731,6 +732,8 @@ 
SvxPositionSizeTabPage::SvxPositionSizeTabPage(weld::Container* pPage, weld::Dia
     , mfOldHeight(0.0)
     , m_aCtlPos(this)
     , m_aCtlSize(this)
+    , m_aRatioTop(ConnectorType::Top)
+    , m_aRatioBottom(ConnectorType::Bottom)
     , m_xFlPosition(m_xBuilder->weld_widget("FL_POSITION"))
     , m_xMtrPosX(m_xBuilder->weld_metric_spin_button("MTR_FLD_POS_X", 
FieldUnit::CM))
     , m_xMtrPosY(m_xBuilder->weld_metric_spin_button("MTR_FLD_POS_Y", 
FieldUnit::CM))
@@ -741,6 +744,9 @@ 
SvxPositionSizeTabPage::SvxPositionSizeTabPage(weld::Container* pPage, weld::Dia
     , m_xFtHeight(m_xBuilder->weld_label("FT_HEIGHT"))
     , m_xMtrHeight(m_xBuilder->weld_metric_spin_button("MTR_FLD_HEIGHT", 
FieldUnit::CM))
     , m_xCbxScale(m_xBuilder->weld_check_button("CBX_SCALE"))
+    , m_xCbxScaleImg(m_xBuilder->weld_image("imRatio"))
+    , m_xImgRatioTop(new weld::CustomWeld(*m_xBuilder, "daRatioTop", 
m_aRatioTop))
+    , m_xImgRatioBottom(new weld::CustomWeld(*m_xBuilder, "daRatioBottom", 
m_aRatioBottom))
     , m_xCtlSize(new weld::CustomWeld(*m_xBuilder, "CTL_SIZERECT", m_aCtlSize))
     , m_xFlProtect(m_xBuilder->weld_widget("FL_PROTECT"))
     , m_xTsbPosProtect(m_xBuilder->weld_check_button("TSB_POSPROTECT"))
@@ -761,9 +767,19 @@ 
SvxPositionSizeTabPage::SvxPositionSizeTabPage(weld::Container* pPage, weld::Dia
     m_aCtlSize.SetActualRP(RectPoint::LT);
     meRP = RectPoint::LT; // see above
 
-    m_xMtrWidth->connect_value_changed( LINK( this, SvxPositionSizeTabPage, 
ChangeWidthHdl ) );
-    m_xMtrHeight->connect_value_changed( LINK( this, SvxPositionSizeTabPage, 
ChangeHeightHdl ) );
-    m_xCbxScale->connect_toggled( LINK( this, SvxPositionSizeTabPage, 
ClickAutoHdl ) );
+    m_xMtrWidth->connect_value_changed(LINK(this, SvxPositionSizeTabPage, 
ChangeWidthHdl));
+    m_xMtrHeight->connect_value_changed(LINK(this, SvxPositionSizeTabPage, 
ChangeHeightHdl));
+
+    m_xCbxScale->connect_toggled(LINK(this, SvxPositionSizeTabPage, 
ClickAutoHdl));
+    // vertical alignment = fill makes the drawingarea expand the associated 
spinedits so we have to size it here
+    const sal_Int16 aHeight
+        = 
static_cast<sal_Int16>(std::max(int(m_xCbxScale->get_preferred_size().getHeight()
 / 2
+                                              - 
m_xFtWidth->get_preferred_size().getHeight() / 2),
+                                          12));
+    const sal_Int16 aWidth
+        = static_cast<sal_Int16>(m_xCbxScale->get_preferred_size().getWidth() 
/ 2);
+    m_xImgRatioTop->set_size_request(aWidth, aHeight);
+    m_xImgRatioBottom->set_size_request(aWidth, aHeight);
 
     m_xFlAdjust->set_sensitive(false);
 
@@ -1080,6 +1096,7 @@ void SvxPositionSizeTabPage::Reset( const SfxItemSet*  )
     // Is matching set?
     OUString aStr = GetUserData();
     m_xCbxScale->set_active(aStr.toInt32() != 0);
+    m_xCbxScaleImg->set_from_icon_name(m_xCbxScale->get_active() ? 
RID_SVXBMP_LOCKED : RID_SVXBMP_UNLOCKED);
 
     m_xMtrPosX->save_value();
     m_xMtrPosY->save_value();
@@ -1545,6 +1562,7 @@ IMPL_LINK_NOARG(SvxPositionSizeTabPage, 
ClickSizeProtectHdl, weld::Toggleable&,
 
 IMPL_LINK_NOARG(SvxPositionSizeTabPage, ClickAutoHdl, weld::Toggleable&, void)
 {
+    m_xCbxScaleImg->set_from_icon_name(m_xCbxScale->get_active() ? 
RID_SVXBMP_LOCKED : RID_SVXBMP_UNLOCKED);
     if (m_xCbxScale->get_active())
     {
         mfOldWidth  = std::max( static_cast<double>(GetCoreValue( 
*m_xMtrWidth,  mePoolUnit )), 1.0 );
diff --git a/cui/uiconfig/ui/bulletandposition.ui 
b/cui/uiconfig/ui/bulletandposition.ui
index 020329a41b25..79deb396f93e 100644
--- a/cui/uiconfig/ui/bulletandposition.ui
+++ b/cui/uiconfig/ui/bulletandposition.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.38.2 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="cui">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkAdjustment" id="adjustment1">
@@ -188,6 +188,7 @@
                     <property name="shadow-type">in</property>
                     <child>
                       <object class="GtkTreeView" id="levellb">
+                        <property name="width-request">75</property>
                         <property name="visible">True</property>
                         <property name="can-focus">True</property>
                         <property name="model">liststore1</property>
@@ -195,7 +196,6 @@
                         <property name="headers-clickable">False</property>
                         <property name="search-column">0</property>
                         <property name="show-expanders">False</property>
-                        <property name="width-request">75</property>
                         <child internal-child="selection">
                           <object class="GtkTreeSelection"/>
                         </child>
@@ -396,7 +396,6 @@
                                 <property 
name="receives-default">False</property>
                                 <property name="xalign">0</property>
                                 <property name="draw-indicator">True</property>
-                                <property name="label" 
translatable="no"></property>
                                 <child>
                                   <placeholder/>
                                 </child>
@@ -543,7 +542,7 @@
                     <property name="label-xalign">0</property>
                     <property name="shadow-type">none</property>
                     <child>
-                      <!-- n-columns=2 n-rows=2 -->
+                      <!-- n-columns=3 n-rows=2 -->
                       <object class="GtkGrid" id="grid2">
                         <property name="visible">True</property>
                         <property name="can-focus">False</property>
@@ -644,7 +643,7 @@
                           </packing>
                         </child>
                         <child>
-                          <!-- n-columns=2 n-rows=2 -->
+                          <!-- n-columns=2 n-rows=1 -->
                           <object class="GtkGrid">
                             <property name="visible">True</property>
                             <property name="can-focus">False</property>
@@ -683,48 +682,91 @@
                                 <property name="top-attach">0</property>
                               </packing>
                             </child>
+                          </object>
+                          <packing>
+                            <property name="left-attach">0</property>
+                            <property name="top-attach">1</property>
+                            <property name="width">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <!-- n-columns=2 n-rows=3 -->
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can-focus">False</property>
+                            <property name="valign">center</property>
+                            <property name="column-spacing">3</property>
                             <child>
-                              <object class="GtkBox" id="keepratiobox">
+                              <object class="GtkCheckButton" id="keepratio">
                                 <property name="visible">True</property>
-                                <property name="can-focus">False</property>
+                                <property name="can-focus">True</property>
+                                <property 
name="focus-on-click">False</property>
+                                <property 
name="receives-default">False</property>
+                                <property name="tooltip-text" 
translatable="yes" context="bulletandposition|ratio_tip">Keep ratio</property>
                                 <property name="valign">center</property>
-                                <property 
name="orientation">vertical</property>
-                                <child>
-                                  <object class="GtkCheckButton" 
id="keepratio">
-                                    <property name="label" translatable="yes" 
context="bulletandposition|keepratio">Keep ratio</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="draw-indicator">True</property>
-                                    <child internal-child="accessible">
-                                      <object class="AtkObject" 
id="keepratio-atkobject">
-                                        <property 
name="AtkObject::accessible-description" translatable="yes" 
context="bulletandposition|extended_tip|keepratio">Check this box to preserve 
the height-to-width ratio of the graphic bullet.</property>
-                                      </object>
-                                    </child>
+                                <property name="draw-indicator">True</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" 
id="keepratio-atkobject">
+                                    <property 
name="AtkObject::accessible-name" translatable="yes" 
context="bulletandposition|accessible_name|keepratio">Keep Ratio</property>
+                                    <property 
name="AtkObject::accessible-description" translatable="yes" 
context="bulletandposition|extended_tip|keepratio">Maintains proportions when 
you resize the selected object.</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">0</property>
+                                <property name="top-attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkImage" id="imRatio">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="valign">center</property>
+                                <property 
name="pixbuf">res/unlocked.png</property>
+                              </object>
                               <packing>
                                 <property name="left-attach">1</property>
                                 <property name="top-attach">1</property>
                               </packing>
                             </child>
+                            <child>
+                              <object class="GtkDrawingArea" 
id="daRatioBottom">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can-focus">False</property>
+                              </object>
+                              <packing>
+                                <property name="left-attach">0</property>
+                                <property name="top-attach">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkDrawingArea" id="daRatioTop">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can-focus">False</property>
+                              </object>
+                              <packing>
+                                <property name="left-attach">0</property>
+                                <property name="top-attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                             <child>
                               <placeholder/>
                             </child>
                           </object>
                           <packing>
-                            <property name="left-attach">0</property>
-                            <property name="top-attach">1</property>
-                            <property name="width">2</property>
+                            <property name="left-attach">2</property>
+                            <property name="top-attach">0</property>
                           </packing>
                         </child>
+                        <child>
+                          <placeholder/>
+                        </child>
                       </object>
                     </child>
                     <child type="label">
diff --git a/cui/uiconfig/ui/numberingoptionspage.ui 
b/cui/uiconfig/ui/numberingoptionspage.ui
index 82ea810beef2..e9d57e62e0e0 100644
--- a/cui/uiconfig/ui/numberingoptionspage.ui
+++ b/cui/uiconfig/ui/numberingoptionspage.ui
@@ -1,58 +1,58 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="cui">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">19.99</property>
-    <property name="step_increment">0.05</property>
-    <property name="page_increment">1</property>
+    <property name="upper">19.989999999999998</property>
+    <property name="step-increment">0.05</property>
+    <property name="page-increment">1</property>
   </object>
   <object class="GtkAdjustment" id="adjustment2">
     <property name="upper">65535</property>
     <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+    <property name="step-increment">1</property>
+    <property name="page-increment">10</property>
   </object>
   <object class="GtkAdjustment" id="adjustment3">
     <property name="lower">1</property>
     <property name="upper">10</property>
     <property name="value">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
+    <property name="step-increment">1</property>
+    <property name="page-increment">1</property>
   </object>
   <object class="GtkAdjustment" id="adjustment4">
     <property name="lower">1</property>
     <property name="upper">400</property>
     <property name="value">100</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+    <property name="step-increment">1</property>
+    <property name="page-increment">10</property>
   </object>
   <object class="GtkAdjustment" id="adjustment5">
-    <property name="upper">19.99</property>
-    <property name="step_increment">0.05</property>
-    <property name="page_increment">1</property>
+    <property name="upper">19.989999999999998</property>
+    <property name="step-increment">0.05</property>
+    <property name="page-increment">1</property>
   </object>
   <object class="GtkMenu" id="bitmapmenu">
     <property name="visible">True</property>
-    <property name="can_focus">False</property>
+    <property name="can-focus">False</property>
     <child>
       <object class="GtkMenuItem" id="fromfile">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="label" translatable="yes" 
context="numberingoptionspage|fromfile">From file...</property>
-        <property name="use_underline">True</property>
+        <property name="use-underline">True</property>
       </object>
     </child>
     <child>
       <object class="GtkMenuItem" id="gallery">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="label" translatable="yes" 
context="numberingoptionspage|gallery">Gallery</property>
-        <property name="use_underline">True</property>
+        <property name="use-underline">True</property>
         <child type="submenu">
           <object class="GtkMenu" id="gallerysubmenu">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
           </object>
         </child>
       </object>
@@ -68,32 +68,32 @@
   </object>
   <object class="GtkBox" id="NumberingOptionsPage">
     <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
+    <property name="can-focus">False</property>
+    <property name="border-width">6</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>
+        <property name="can-focus">False</property>
+        <property name="label-xalign">0</property>
+        <property name="shadow-type">none</property>
         <child>
           <object class="GtkScrolledWindow">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="shadow_type">in</property>
+            <property name="can-focus">True</property>
             <property name="margin-start">12</property>
             <property name="margin-top">6</property>
+            <property name="shadow-type">in</property>
             <child>
               <object class="GtkTreeView" id="levellb">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
+                <property name="can-focus">True</property>
                 <property name="vexpand">True</property>
                 <property name="model">liststore1</property>
-                <property name="headers_visible">False</property>
-                <property name="headers_clickable">False</property>
-                <property name="search_column">0</property>
-                <property name="show_expanders">False</property>
+                <property name="headers-visible">False</property>
+                <property name="headers-clickable">False</property>
+                <property name="search-column">0</property>
+                <property name="show-expanders">False</property>
                 <child internal-child="selection">
                   <object class="GtkTreeSelection" id="treeview-selection1"/>
                 </child>
@@ -119,7 +119,7 @@
         <child type="label">
           <object class="GtkLabel" id="label1">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="numberingoptionspage|label1">Level</property>
             <attributes>
               <attribute name="weight" value="bold"/>
@@ -136,48 +136,48 @@
     <child>
       <object class="GtkBox" id="box1">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <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>
+            <property name="can-focus">False</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
               <object class="GtkBox" id="box2">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">12</property>
+                <property name="can-focus">False</property>
                 <property name="margin-start">12</property>
                 <property name="margin-top">6</property>
+                <property name="spacing">12</property>
                 <child>
-                  <!-- n-columns=1 n-rows=1 -->
+                  <!-- n-columns=2 n-rows=15 -->
                   <object class="GtkGrid" id="grid2">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="row_spacing">6</property>
-                    <property name="column_spacing">12</property>
+                    <property name="can-focus">False</property>
+                    <property name="row-spacing">6</property>
+                    <property name="column-spacing">12</property>
                     <child>
                       <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="hexpand">True</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|label4">Number:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">numfmtlb</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">numfmtlb</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkComboBoxText" id="charstyle">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="charstyle-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|charstyle">Select 
the Character Style that you want to use in the numbered list.</property>
@@ -185,18 +185,18 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">3</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">3</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkSpinButton" id="sublevels">
                         <property name="visible">True</property>
                         <property name="sensitive">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
-                        <property name="adjustment">adjustment3</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
                         <property name="truncate-multiline">True</property>
+                        <property name="adjustment">adjustment3</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="sublevels-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|sublevels">Enter 
the number of previous levels to include in the numbering scheme. For example, 
if you enter "2" and the previous level uses the "A, B, C..." numbering, the 
numbering scheme for the current level becomes: "A.1".</property>
@@ -204,18 +204,18 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">7</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">7</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkCheckButton" id="islegal">
                         <property name="label" translatable="yes" 
context="numberingoptionspage|islegal">All sublevels Arabic</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="draw_indicator">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">False</property>
+                        <property name="use-underline">True</property>
+                        <property name="draw-indicator">True</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="islegal-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|islegal">Use 
Arabic numerals for all sublevels ("Legal" numbering).</property>
@@ -223,17 +223,17 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">8</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">8</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkSpinButton" id="startat">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
-                        <property name="adjustment">adjustment2</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
                         <property name="truncate-multiline">True</property>
+                        <property name="adjustment">adjustment2</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="startat-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|startat">Enter a 
new starting number for the current level.</property>
@@ -241,28 +241,28 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">1</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="startatft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|startatft">Start at:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">startat</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">startat</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">1</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkComboBoxText" id="numfmtlb">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="numfmtlb-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|numfmtlb">Select 
a numbering scheme for the selected levels.</property>
@@ -270,128 +270,42 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="bitmapft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|bitmapft">Graphics:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">bitmap</property>
-                        <property name="xalign">1</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">12</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="widthft">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes" 
context="numberingoptionspage|widthft">Width:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">widthmf</property>
-                        <property name="xalign">1</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">13</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSpinButton" id="widthmf">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
-                        <property name="adjustment">adjustment1</property>
-                        <property name="digits">2</property>
-                        <property name="truncate-multiline">True</property>
-                        <child internal-child="accessible">
-                          <object class="AtkObject" id="widthmf-atkobject">
-                            <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|widthmf">Enter a 
width for the graphic.</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">13</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="heightft">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes" 
context="numberingoptionspage|heightft">Height:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">heightmf</property>
-                        <property name="ellipsize">end</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">bitmap</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">14</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSpinButton" id="heightmf">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
-                        <property name="adjustment">adjustment5</property>
-                        <property name="digits">2</property>
-                        <property name="truncate-multiline">True</property>
-                        <child internal-child="accessible">
-                          <object class="AtkObject" id="heightmf-atkobject">
-                            <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|heightmf">Enter a 
height for the graphic.</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">14</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkCheckButton" id="keepratio">
-                        <property name="label" translatable="yes" 
context="numberingoptionspage|keepratio">Keep ratio</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="draw_indicator">True</property>
-                        <child internal-child="accessible">
-                          <object class="AtkObject" id="keepratio-atkobject">
-                            <property name="AtkObject::accessible-description" 
translatable="yes" 
context="numberingoptionspage|extended_tip|keepratio">Maintains the size 
proportions of the graphic.</property>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">15</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">12</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="orientft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|orientft">Alignment:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">orientlb</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">orientlb</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">16</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">14</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkComboBoxText" id="orientlb">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="active">0</property>
                         <items>
                           <item translatable="yes" 
context="numberingoptionspage|orientlb">Top of baseline</item>
@@ -411,18 +325,18 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">16</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">14</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkMenuButton" id="bitmap">
                         <property name="label" translatable="yes" 
context="numberingoptionspage|bitmap">Select...</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">True</property>
                         <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
+                        <property name="draw-indicator">True</property>
                         <property name="popup">bitmapmenu</property>
                         <child>
                           <placeholder/>
@@ -434,18 +348,17 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">12</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">12</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkMenuButton" id="color">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">False</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">False</property>
                         <property name="xalign">0</property>
-                        <property name="draw_indicator">True</property>
-                        <property name="label" translatable="no"></property>
+                        <property name="draw-indicator">True</property>
                         <child>
                           <placeholder/>
                         </child>
@@ -456,17 +369,17 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">4</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">4</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkSpinButton" id="relsize">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
-                        <property name="adjustment">adjustment4</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
                         <property name="truncate-multiline">True</property>
+                        <property name="adjustment">adjustment4</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="relsize-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|relsize">Enter 
the amount by which you want to resize the bullet character with respect to the 
font height of the current paragraph.</property>
@@ -474,16 +387,16 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">5</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">5</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkButton" id="bullet">
                         <property name="label" translatable="yes" 
context="numberingoptionspage|bullet">Select...</property>
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="receives-default">True</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="bullet-atkobject">
                             <property name="AtkObject::accessible-description" 
translatable="yes" context="numberingoptionspage|extended_tip|bullet">Select 
the graphic, or locate the graphic file that you want to use as a 
bullet.</property>
@@ -491,43 +404,43 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">6</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">6</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="prefixft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
+                        <property name="margin-start">20</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|prefixft">Before:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">prefix</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">prefix</property>
                         <property name="xalign">1</property>
-                        <property name="margin-start">20</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">10</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">10</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="separator">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
+                        <property name="margin-start">20</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|separator">Separator</property>
                         <property name="xalign">1</property>
-                        <property name="margin-start">20</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">9</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">9</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkEntry" id="suffix">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
                         <property name="truncate-multiline">True</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="suffix-atkobject">
@@ -536,15 +449,15 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">11</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">11</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkEntry" id="prefix">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="activates_default">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="activates-default">True</property>
                         <property name="truncate-multiline">True</property>
                         <child internal-child="accessible">
                           <object class="AtkObject" id="prefix-atkobject">
@@ -553,93 +466,262 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">10</property>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">10</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="suffixft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|suffixft">After:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">suffix</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">suffix</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">11</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">11</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="sublevelsft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|sublevelsft">Show sublevels:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">sublevels</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">sublevels</property>
                         <property name="ellipsize">end</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">7</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">7</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="bulletft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|bulletft">Character:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">bullet</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">bullet</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">6</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">6</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="relsizeft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|relsizeft">_Relative size:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">relsize</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">relsize</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">5</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">5</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="colorft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|colorft">Color:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">color</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">color</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">4</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">4</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkLabel" id="charstyleft">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
+                        <property name="can-focus">False</property>
                         <property name="label" translatable="yes" 
context="numberingoptionspage|charstyleft">Character style:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">charstyle</property>
+                        <property name="use-underline">True</property>
+                        <property name="mnemonic-widget">charstyle</property>
                         <property name="xalign">1</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">3</property>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <property name="homogeneous">True</property>
+                        <child>
+                          <object class="GtkLabel" id="widthft">
+                            <property name="visible">True</property>
+                            <property name="can-focus">False</property>
+                            <property name="label" translatable="yes" 
context="numberingoptionspage|widthft">Width:</property>
+                            <property name="use-underline">True</property>
+                            <property name="mnemonic-widget">widthmf</property>
+                            <property name="xalign">1</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="heightft">
+                            <property name="visible">True</property>
+                            <property name="can-focus">False</property>
+                            <property name="label" translatable="yes" 
context="numberingoptionspage|heightft">Height:</property>
+                            <property name="use-underline">True</property>
+                            <property 
name="mnemonic-widget">heightmf</property>
+                            <property name="ellipsize">end</property>
+                            <property name="xalign">1</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">0</property>
+                        <property name="top-attach">13</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <!-- n-columns=2 n-rows=2 -->
+                      <object class="GtkGrid">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="column-spacing">6</property>
+                        <child>
+                          <object class="GtkSpinButton" id="widthmf">
+                            <property name="visible">True</property>
+                            <property name="can-focus">True</property>
+                            <property name="activates-default">True</property>
+                            <property name="truncate-multiline">True</property>
+                            <property name="adjustment">adjustment1</property>
+                            <property name="digits">2</property>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" id="widthmf-atkobject">
+                                <property 
name="AtkObject::accessible-description" translatable="yes" 
context="numberingoptionspage|extended_tip|widthmf">Enter a width for the 
graphic.</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left-attach">0</property>
+                            <property name="top-attach">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="heightmf">
+                            <property name="visible">True</property>
+                            <property name="can-focus">True</property>
+                            <property name="activates-default">True</property>
+                            <property name="truncate-multiline">True</property>
+                            <property name="adjustment">adjustment5</property>
+                            <property name="digits">2</property>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" 
id="heightmf-atkobject">
+                                <property 
name="AtkObject::accessible-description" translatable="yes" 
context="numberingoptionspage|extended_tip|heightmf">Enter a height for the 
graphic.</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left-attach">0</property>
+                            <property name="top-attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <!-- n-columns=2 n-rows=3 -->
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can-focus">False</property>
+                            <property name="valign">center</property>
+                            <property name="column-spacing">3</property>
+                            <child>
+                              <object class="GtkCheckButton" id="keepratio">
+                                <property name="visible">True</property>
+                                <property name="can-focus">True</property>
+                                <property 
name="focus-on-click">False</property>
+                                <property 
name="receives-default">False</property>
+                                <property name="tooltip-text" 
translatable="yes" context="numberingoptionspage|ratio_tip">Keep 
ratio</property>
+                                <property name="valign">center</property>
+                                <property name="draw-indicator">True</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" 
id="keepratio-atkobject">
+                                    <property 
name="AtkObject::accessible-name" translatable="yes" 
context="numberingoptionspage|accessible_name|keepratio">Keep Ratio</property>
+                                    <property 
name="AtkObject::accessible-description" translatable="yes" 
context="numberingoptionspage|extended_tip|keepratio">Maintains proportions 
when you resize the selected object.</property>
+                                  </object>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="left-attach">0</property>
+                                <property name="top-attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkImage" id="imRatio">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="halign">start</property>
+                                <property name="valign">center</property>
+                                <property 
name="pixbuf">res/unlocked.png</property>
+                              </object>
+                              <packing>
+                                <property name="left-attach">1</property>
+                                <property name="top-attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkDrawingArea" 
id="daRatioBottom">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can-focus">False</property>
+                              </object>
+                              <packing>
+                                <property name="left-attach">0</property>
+                                <property name="top-attach">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkDrawingArea" id="daRatioTop">
+                                <property name="visible">True</property>
+                                <property name="sensitive">False</property>
+                                <property name="can-focus">False</property>
+                              </object>
+                              <packing>
+                                <property name="left-attach">0</property>
+                                <property name="top-attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left-attach">1</property>
+                            <property name="top-attach">0</property>
+                            <property name="height">2</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">13</property>
                       </packing>
                     </child>
                     <child>
@@ -666,7 +748,7 @@
             <child type="label">
               <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="numberingoptionspage|label2">Numbering</property>
                 <attributes>
                   <attribute name="weight" value="bold"/>
@@ -683,19 +765,19 @@
         <child>
           <object class="GtkFrame" id="levelsframe">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">none</property>
+            <property name="can-focus">False</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
               <object class="GtkCheckButton" id="allsame">
                 <property name="label" translatable="yes" 
context="numberingoptionspage|allsame">_Consecutive numbering</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="draw_indicator">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">False</property>
                 <property name="margin-start">12</property>
                 <property name="margin-top">6</property>
+                <property name="use-underline">True</property>
+                <property name="draw-indicator">True</property>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="allsame-atkobject">
                     <property name="AtkObject::accessible-description" 
translatable="yes" 
context="numberingoptionspage|extended_tip|allsame">Increases the numbering by 
one as you go down each level in the list hierarchy.</property>
@@ -706,7 +788,7 @@
             <child type="label">
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="numberingoptionspage|label3">All Levels</property>
                 <attributes>
                   <attribute name="weight" value="bold"/>
@@ -730,28 +812,28 @@
     <child>
       <object class="GtkFrame" id="previewframe">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
+        <property name="can-focus">False</property>
+        <property name="label-xalign">0</property>
+        <property name="shadow-type">none</property>
         <child>
           <object class="GtkScrolledWindow">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="hscrollbar_policy">never</property>
-            <property name="vscrollbar_policy">never</property>
-            <property name="shadow_type">in</property>
+            <property name="can-focus">False</property>
             <property name="margin-start">12</property>
             <property name="margin-top">6</property>
+            <property name="hscrollbar-policy">never</property>
+            <property name="vscrollbar-policy">never</property>
+            <property name="shadow-type">in</property>
             <child>
               <object class="GtkViewport">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <child>
                   <object class="GtkDrawingArea" id="preview">
-                    <property name="width_request">150</property>
-                    <property name="height_request">300</property>
+                    <property name="width-request">150</property>
+                    <property name="height-request">300</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
+                    <property name="can-focus">False</property>
                   </object>
                 </child>
               </object>
@@ -761,7 +843,7 @@
         <child type="label">
           <object class="GtkLabel" id="previewlabel">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
             <property name="label" translatable="yes" 
context="numberingoptionspage|previewlabel">Preview</property>
             <attributes>
               <attribute name="weight" value="bold"/>
diff --git a/cui/uiconfig/ui/possizetabpage.ui 
b/cui/uiconfig/ui/possizetabpage.ui
index 878156b7267b..6aa88b6f51c2 100644
--- a/cui/uiconfig/ui/possizetabpage.ui
+++ b/cui/uiconfig/ui/possizetabpage.ui
@@ -107,7 +107,7 @@
                     <property name="activates-default">True</property>
                     <property name="truncate-multiline">True</property>
                     <property name="adjustment">adjustmentPOS1</property>
-                    <property name="digits">4</property>
+                    <property name="digits">2</property>
                     <child internal-child="accessible">
                       <object class="AtkObject" id="MTR_FLD_POS_Y-atkobject">
                         <property name="AtkObject::accessible-description" 
translatable="yes" context="possizetabpage|extended_tip|MTR_FLD_POS_Y">Enter 
the vertical distance that you want to move the object relative to the base 
point selected in the grid.</property>
@@ -222,7 +222,7 @@
             <property name="spacing">12</property>
             <property name="homogeneous">True</property>
             <child>
-              <!-- n-columns=2 n-rows=3 -->
+              <!-- n-columns=3 n-rows=2 -->
               <object class="GtkGrid" id="grid2">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
@@ -234,8 +234,10 @@
                     <property name="can-focus">False</property>
                     <property name="label" translatable="yes" 
context="possizetabpage|FT_WIDTH">Wi_dth:</property>
                     <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">MTR_FLD_WIDTH</property>
                     <property name="xalign">0</property>
+                    <accessibility>
+                      <relation type="label-for" target="MTR_FLD_WIDTH"/>
+                    </accessibility>
                   </object>
                   <packing>
                     <property name="left-attach">0</property>
@@ -243,17 +245,79 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="FT_HEIGHT">
+                  <!-- n-columns=2 n-rows=3 -->
+                  <object class="GtkGrid">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
-                    <property name="label" translatable="yes" 
context="possizetabpage|FT_HEIGHT">H_eight:</property>
-                    <property name="use-underline">True</property>
-                    <property name="mnemonic-widget">MTR_FLD_HEIGHT</property>
-                    <property name="xalign">0</property>
+                    <property name="valign">center</property>
+                    <property name="column-spacing">3</property>
+                    <child>
+                      <object class="GtkCheckButton" id="CBX_SCALE">
+                        <property name="visible">True</property>
+                        <property name="can-focus">True</property>
+                        <property name="focus-on-click">False</property>
+                        <property name="receives-default">False</property>
+                        <property name="tooltip-text" translatable="yes" 
context="possizetabpage|ratio_tip">Keep ratio</property>
+                        <property name="valign">center</property>
+                        <property name="draw-indicator">True</property>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="CBX_SCALE-atkobject">
+                            <property name="AtkObject::accessible-name" 
translatable="yes" context="possizetabpage|accessible_name|CBX_SCALE">Keep 
Ratio</property>
+                            <property name="AtkObject::accessible-description" 
translatable="yes" context="possizetabpage|extended_tip|CBX_SCALE">Maintains 
proportions when you resize the selected object.</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="imRatio">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="valign">center</property>
+                        <property name="pixbuf">res/unlocked.png</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">1</property>
+                        <property name="top-attach">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkDrawingArea" id="daRatioBottom">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can-focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkDrawingArea" id="daRatioTop">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can-focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                   <packing>
-                    <property name="left-attach">0</property>
-                    <property name="top-attach">1</property>
+                    <property name="left-attach">2</property>
+                    <property name="top-attach">0</property>
+                    <property name="height">2</property>
                   </packing>
                 </child>
                 <child>
@@ -265,6 +329,9 @@
                     <property name="truncate-multiline">True</property>
                     <property name="adjustment">adjustmentSIZE</property>
                     <property name="digits">2</property>
+                    <accessibility>
+                      <relation type="labelled-by" target="FT_WIDTH"/>
+                    </accessibility>
                     <child internal-child="accessible">
                       <object class="AtkObject" id="MTR_FLD_WIDTH-atkobject">
                         <property name="AtkObject::accessible-description" 
translatable="yes" context="possizetabpage|extended_tip|MTR_FLD_WIDTH">Enter a 
width for the selected object.</property>
@@ -285,6 +352,9 @@
                     <property name="truncate-multiline">True</property>
                     <property name="adjustment">adjustmentSIZE1</property>
                     <property name="digits">2</property>
+                    <accessibility>
+                      <relation type="labelled-by" target="FT_HEIGHT"/>
+                    </accessibility>
                     <child internal-child="accessible">
                       <object class="AtkObject" id="MTR_FLD_HEIGHT-atkobject">
                         <property name="AtkObject::accessible-description" 
translatable="yes" context="possizetabpage|extended_tip|MTR_FLD_HEIGHT">Enter a 
height for the selected object.</property>
@@ -297,23 +367,19 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkCheckButton" id="CBX_SCALE">
-                    <property name="label" translatable="yes" 
context="possizetabpage|CBX_SCALE">_Keep ratio</property>
+                  <object class="GtkLabel" id="FT_HEIGHT">
                     <property name="visible">True</property>
-                    <property name="can-focus">True</property>
-                    <property name="receives-default">False</property>
+                    <property name="can-focus">False</property>
+                    <property name="label" translatable="yes" 
context="possizetabpage|FT_HEIGHT">H_eight:</property>
                     <property name="use-underline">True</property>
-                    <property name="draw-indicator">True</property>
-                    <child internal-child="accessible">
-                      <object class="AtkObject" id="CBX_SCALE-atkobject">
-                        <property name="AtkObject::accessible-description" 
translatable="yes" context="possizetabpage|extended_tip|CBX_SCALE">Maintains 
proportions when you resize the selected object.</property>
-                      </object>
-                    </child>
+                    <property name="xalign">0</property>
+                    <accessibility>
+                      <relation type="label-for" target="MTR_FLD_HEIGHT"/>
+                    </accessibility>
                   </object>
                   <packing>
                     <property name="left-attach">0</property>
-                    <property name="top-attach">2</property>
-                    <property name="width">2</property>
+                    <property name="top-attach">1</property>
                   </packing>
                 </child>
               </object>
diff --git a/cui/uiconfig/ui/swpossizepage.ui b/cui/uiconfig/ui/swpossizepage.ui
index 399dc211c02d..df892e6a1794 100644
--- a/cui/uiconfig/ui/swpossizepage.ui
+++ b/cui/uiconfig/ui/swpossizepage.ui
@@ -26,146 +26,178 @@
     <property name="step-increment">1</property>
     <property name="page-increment">10</property>
   </object>
-  <!-- n-columns=1 n-rows=3 -->
+  <!-- n-columns=1 n-rows=2 -->
   <object class="GtkGrid" id="SwPosSizePage">
     <property name="visible">True</property>
     <property name="can-focus">False</property>
-    <property name="hexpand">True</property>
     <property name="border-width">6</property>
     <property name="row-spacing">12</property>
     <child>
-      <!-- n-columns=3 n-rows=1 -->
+      <!-- n-columns=3 n-rows=2 -->
       <object class="GtkGrid" id="grid3">
         <property name="visible">True</property>
         <property name="can-focus">False</property>
-        <property name="hexpand">True</property>
-        <property name="vexpand">True</property>
+        <property name="halign">start</property>
         <property name="row-spacing">6</property>
-        <property name="column-spacing">12</property>
+        <property name="column-spacing">24</property>
         <child>
           <object class="GtkFrame" id="frame2">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
+            <property name="halign">start</property>
             <property name="valign">start</property>
-            <property name="hexpand">True</property>
             <property name="label-xalign">0</property>
             <property name="shadow-type">none</property>
             <child>
-              <!-- n-columns=1 n-rows=3 -->
+              <!-- n-columns=3 n-rows=2 -->
               <object class="GtkGrid" id="grid4">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
                 <property name="margin-start">12</property>
                 <property name="margin-top">6</property>
                 <property name="hexpand">True</property>
-                <property name="row-spacing">6</property>
+                <property name="row-spacing">3</property>
+                <property name="column-spacing">6</property>
                 <child>
-                  <!-- n-columns=2 n-rows=1 -->
-                  <object class="GtkGrid" id="grid5">
+                  <!-- n-columns=2 n-rows=3 -->
+                  <object class="GtkGrid">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
-                    <property name="column-spacing">12</property>
+                    <property name="valign">center</property>
+                    <property name="column-spacing">3</property>
                     <child>
-                      <object class="GtkSpinButton" id="width">
+                      <object class="GtkCheckButton" id="ratio">
                         <property name="visible">True</property>
                         <property name="can-focus">True</property>
-                        <property name="activates-default">True</property>
-                        <property name="truncate-multiline">True</property>
-                        <property name="adjustment">adjustment1</property>
-                        <property name="digits">2</property>
+                        <property name="focus-on-click">False</property>
+                        <property name="receives-default">False</property>
+                        <property name="tooltip-text" translatable="yes" 
context="swpossizepage|ratio_tip">Keep ratio</property>
-e 
... etc. - the rest is truncated

Reply via email to