tdf#157837 - UI: Part 3 - Unify lockdown behavior of Options dialog

for View Page.

Change-Id: Iac27aa516e4e4a4c1469b0ff465477c44c3a5660
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158250
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index f0e2cf26..ee727e0 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -586,24 +586,43 @@ OfaViewTabPage::OfaViewTabPage(weld::Container* pPage, weld::DialogController* p
    , nNotebookbarSizeLB_InitialSelection(0)
    , nStyleLB_InitialSelection(0)
    , pCanvasSettings(new CanvasSettings)
    , m_xIconSizeLabel(m_xBuilder->weld_label("label14"))
    , m_xIconSizeLB(m_xBuilder->weld_combo_box("iconsize"))
    , m_xIconSizeImg(m_xBuilder->weld_widget("lockiconsize"))
    , m_xSidebarIconSizeLabel(m_xBuilder->weld_label("label9"))
    , m_xSidebarIconSizeLB(m_xBuilder->weld_combo_box("sidebariconsize"))
    , m_xSidebarIconSizeImg(m_xBuilder->weld_widget("locksidebariconsize"))
    , m_xNotebookbarIconSizeLabel(m_xBuilder->weld_label("label8"))
    , m_xNotebookbarIconSizeLB(m_xBuilder->weld_combo_box("notebookbariconsize"))
    , m_xNotebookbarIconSizeImg(m_xBuilder->weld_widget("locknotebookbariconsize"))
    , m_xDarkModeFrame(m_xBuilder->weld_widget("darkmode"))
    , m_xAppearanceStyleLabel(m_xBuilder->weld_label("label7"))
    , m_xAppearanceStyleLB(m_xBuilder->weld_combo_box("appearance"))
    , m_xAppearanceStyleImg(m_xBuilder->weld_widget("lockappearance"))
    , m_xIconStyleLabel(m_xBuilder->weld_label("label6"))
    , m_xIconStyleLB(m_xBuilder->weld_combo_box("iconstyle"))
    , m_xIconStyleImg(m_xBuilder->weld_widget("lockiconstyle"))
    , m_xFontAntiAliasing(m_xBuilder->weld_check_button("aafont"))
    , m_xFontAntiAliasingImg(m_xBuilder->weld_widget("lockaafont"))
    , m_xAAPointLimitLabel(m_xBuilder->weld_label("aafrom"))
    , m_xAAPointLimitLabelImg(m_xBuilder->weld_widget("lockaafrom"))
    , m_xAAPointLimit(m_xBuilder->weld_metric_spin_button("aanf", FieldUnit::PIXEL))
    , m_xFontShowCB(m_xBuilder->weld_check_button("showfontpreview"))
    , m_xFontShowImg(m_xBuilder->weld_widget("lockshowfontpreview"))
    , m_xUseHardwareAccell(m_xBuilder->weld_check_button("useaccel"))
    , m_xUseHardwareAccellImg(m_xBuilder->weld_widget("lockuseaccel"))
    , m_xUseAntiAliase(m_xBuilder->weld_check_button("useaa"))
    , m_xUseAntiAliaseImg(m_xBuilder->weld_widget("lockuseaa"))
    , m_xUseSkia(m_xBuilder->weld_check_button("useskia"))
    , m_xUseSkiaImg(m_xBuilder->weld_widget("lockuseskia"))
    , m_xForceSkiaRaster(m_xBuilder->weld_check_button("forceskiaraster"))
    , m_xForceSkiaRasterImg(m_xBuilder->weld_widget("lockforceskiaraster"))
    , m_xSkiaStatusEnabled(m_xBuilder->weld_label("skiaenabled"))
    , m_xSkiaStatusDisabled(m_xBuilder->weld_label("skiadisabled"))
    , m_xSkiaLog(m_xBuilder->weld_button("btnSkialog"))
    , m_xMouseMiddleLabel(m_xBuilder->weld_label("label12"))
    , m_xMouseMiddleLB(m_xBuilder->weld_combo_box("mousemiddle"))
    , m_xMouseMiddleImg(m_xBuilder->weld_widget("lockmousemiddle"))
    , m_xMoreIcons(m_xBuilder->weld_button("btnMoreIcons"))
    , m_xRunGPTests(m_xBuilder->weld_button("btn_rungptest"))
    , m_sAutoStr(m_xIconStyleLB->get_text(0))
@@ -667,7 +686,7 @@ IMPL_STATIC_LINK_NOARG(OfaViewTabPage, OnMoreIconsClick, weld::Button&, void)

IMPL_LINK_NOARG( OfaViewTabPage, OnAntialiasingToggled, weld::Toggleable&, void )
{
    bool bAAEnabled = m_xFontAntiAliasing->get_active();
    bool bAAEnabled = m_xFontAntiAliasing->get_active() && !officecfg::Office::Common::View::FontAntiAliasing::MinPixelHeight::isReadOnly();

    m_xAAPointLimitLabel->set_sensitive(bAAEnabled);
    m_xAAPointLimit->set_sensitive(bAAEnabled);
@@ -725,9 +744,10 @@ void OfaViewTabPage::UpdateSkiaStatus()
    m_xSkiaStatusEnabled->set_visible(bEnabled);
    m_xSkiaStatusDisabled->set_visible(!bEnabled);

    // FIXME: should really add code to show a 'lock' icon here.
    m_xUseSkia->set_sensitive(!officecfg::Office::Common::VCL::UseSkia::isReadOnly());
    m_xUseSkiaImg->set_visible(officecfg::Office::Common::VCL::UseSkia::isReadOnly());
    m_xForceSkiaRaster->set_sensitive(m_xUseSkia->get_active() && !officecfg::Office::Common::VCL::ForceSkiaRaster::isReadOnly());
    m_xForceSkiaRasterImg->set_visible(officecfg::Office::Common::VCL::ForceSkiaRaster::isReadOnly());
    m_xSkiaLog->set_sensitive(bEnabled);

    // Technically the 'use hardware acceleration' option could be used to mean !forceSkiaRaster, but the implementation
@@ -942,6 +962,7 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* )
void OfaViewTabPage::Reset( const SfxItemSet* )
{
    SvtMiscOptions aMiscOptions;
    bool bEnable = true;

    if (SvtMiscOptions::GetSymbolsSize() != SFX_SYMBOLS_SIZE_AUTO)
    {
@@ -952,7 +973,12 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
        else if (SvtMiscOptions::GetSymbolsSize() == SFX_SYMBOLS_SIZE_32)
            nSizeLB_InitialSelection = 3;
    }
    bEnable = !officecfg::Office::Common::Misc::SymbolSet::isReadOnly();
    m_xIconSizeLB->set_active( nSizeLB_InitialSelection );
    m_xIconSizeLabel->set_sensitive(bEnable);
    m_xIconSizeLB->set_sensitive(bEnable);
    m_xMoreIcons->set_sensitive(bEnable);
    m_xIconSizeImg->set_visible(!bEnable);
    m_xIconSizeLB->save_value();

    ToolBoxButtonSize eSidebarIconSize = static_cast<ToolBoxButtonSize>(officecfg::Office::Common::Misc::SidebarIconSize::get());
@@ -962,8 +988,14 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
        nSidebarSizeLB_InitialSelection = 1;
    else if( eSidebarIconSize == ToolBoxButtonSize::Large )
        nSidebarSizeLB_InitialSelection = 2;

    bEnable = !officecfg::Office::Common::Misc::SidebarIconSize::isReadOnly();
    m_xSidebarIconSizeLB->set_active( nSidebarSizeLB_InitialSelection );
    m_xSidebarIconSizeLabel->set_sensitive(bEnable);
    m_xSidebarIconSizeLB->set_sensitive(bEnable);
    m_xSidebarIconSizeImg->set_visible(!bEnable);
    m_xSidebarIconSizeLB->save_value();

    ToolBoxButtonSize eNotebookbarIconSize = static_cast<ToolBoxButtonSize>(officecfg::Office::Common::Misc::NotebookbarIconSize::get());
    if( eNotebookbarIconSize == ToolBoxButtonSize::DontCare )
        ; // do nothing
@@ -971,7 +1003,12 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
        nNotebookbarSizeLB_InitialSelection = 1;
    else if( eNotebookbarIconSize == ToolBoxButtonSize::Large )
        nNotebookbarSizeLB_InitialSelection = 2;

    bEnable = !officecfg::Office::Common::Misc::NotebookbarIconSize::isReadOnly();
    m_xNotebookbarIconSizeLB->set_active(nNotebookbarSizeLB_InitialSelection);
    m_xNotebookbarIconSizeLabel->set_sensitive(bEnable);
    m_xNotebookbarIconSizeLB->set_sensitive(bEnable);
    m_xNotebookbarIconSizeImg->set_visible(!bEnable);
    m_xNotebookbarIconSizeLB->save_value();

    // tdf#153497 set name of automatic icon theme, it may have changed due to "Apply" while this page is visible
@@ -987,24 +1024,46 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
        nStyleLB_InitialSelection = m_xIconStyleLB->find_text(selectedInfo.GetDisplayName());
    }

    bEnable = !officecfg::Office::Common::Misc::SymbolStyle::isReadOnly();
    m_xIconStyleLB->set_active(nStyleLB_InitialSelection);
    m_xIconStyleLabel->set_sensitive(bEnable);
    m_xIconStyleLB->set_sensitive(bEnable);
    m_xIconStyleImg->set_visible(!bEnable);
    m_xIconStyleLB->save_value();

    bEnable = !officecfg::Office::Common::Misc::Appearance::isReadOnly();
    m_xAppearanceStyleLB->set_active(officecfg::Office::Common::Misc::Appearance::get());
    m_xAppearanceStyleLabel->set_sensitive(bEnable);
    m_xAppearanceStyleLB->set_sensitive(bEnable);
    m_xAppearanceStyleImg->set_visible(!bEnable);
    m_xAppearanceStyleLB->save_value();

    // Middle Mouse Button
    bEnable = !officecfg::Office::Common::View::Dialog::MiddleMouseButton::isReadOnly();
    sal_Int16 nMiddleMouseButton = officecfg::Office::Common::View::Dialog::MiddleMouseButton::get();
    m_xMouseMiddleLB->set_active(static_cast<short>(nMiddleMouseButton));
    m_xMouseMiddleLabel->set_sensitive(bEnable);
    m_xMouseMiddleLB->set_sensitive(bEnable);
    m_xMouseMiddleImg->set_visible(!bEnable);
    m_xMouseMiddleLB->save_value();

    bEnable = !officecfg::Office::Common::View::FontAntiAliasing::Enabled::isReadOnly();
    bool bFontAntiAliasing = officecfg::Office::Common::View::FontAntiAliasing::Enabled::get();
    m_xFontAntiAliasing->set_active( bFontAntiAliasing );
    m_xFontAntiAliasing->set_sensitive(bEnable);
    m_xFontAntiAliasingImg->set_visible(!bEnable);

    bEnable = !officecfg::Office::Common::View::FontAntiAliasing::MinPixelHeight::isReadOnly();
    sal_Int16 nFontAntiAliasingMinPixelHeight = officecfg::Office::Common::View::FontAntiAliasing::MinPixelHeight::get();
    m_xAAPointLimit->set_value(nFontAntiAliasingMinPixelHeight, FieldUnit::PIXEL);
    m_xAAPointLimit->set_sensitive(bEnable);
    m_xAAPointLimitLabelImg->set_visible(!bEnable);

    // WorkingSet
    bEnable = !officecfg::Office::Common::Font::View::ShowFontBoxWYSIWYG::isReadOnly();
    m_xFontShowCB->set_active(officecfg::Office::Common::Font::View::ShowFontBoxWYSIWYG::get());
    m_xFontShowCB->set_sensitive(bEnable);
    m_xFontShowImg->set_visible(!bEnable);

    UpdateHardwareAccelStatus();
    m_xUseHardwareAccell->save_state();
@@ -1018,8 +1077,12 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
        {
            m_xUseAntiAliase->set_active(false);
            m_xUseAntiAliase->set_sensitive(false);
            m_xUseAntiAliaseImg->set_visible(true);
        }

        bEnable = !officecfg::Office::Common::Drawinglayer::AntiAliasing::isReadOnly();
        m_xUseAntiAliase->set_sensitive(bEnable);
        m_xUseAntiAliaseImg->set_visible(!bEnable);
        m_xUseAntiAliase->save_state();
    }

@@ -1043,14 +1106,17 @@ void OfaViewTabPage::UpdateHardwareAccelStatus()
    {
        m_xUseHardwareAccell->set_active(pCanvasSettings->IsHardwareAccelerationEnabled());
        m_xUseHardwareAccell->set_sensitive(!pCanvasSettings->IsHardwareAccelerationRO());
        m_xUseHardwareAccellImg->set_visible(pCanvasSettings->IsHardwareAccelerationRO());
    }
    else
    {
        m_xUseHardwareAccell->set_active(false);
        m_xUseHardwareAccell->set_sensitive(false);
        m_xUseHardwareAccellImg->set_visible(true);
    }
#if HAVE_FEATURE_SKIA
    m_xUseHardwareAccell->set_sensitive(!m_xUseSkia->get_active());
    m_xUseHardwareAccellImg->set_visible(m_xUseSkia->get_active());
#endif
}

diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx
index 02c5eda..57e2bb9 100644
--- a/cui/source/options/optgdlg.hxx
+++ b/cui/source/options/optgdlg.hxx
@@ -95,29 +95,48 @@ private:

    std::vector<vcl::IconThemeInfo> mInstalledIconThemes;

    std::unique_ptr<weld::Label> m_xIconSizeLabel;
    std::unique_ptr<weld::ComboBox> m_xIconSizeLB;
    std::unique_ptr<weld::Widget> m_xIconSizeImg;
    std::unique_ptr<weld::Label> m_xSidebarIconSizeLabel;
    std::unique_ptr<weld::ComboBox> m_xSidebarIconSizeLB;
    std::unique_ptr<weld::Widget> m_xSidebarIconSizeImg;
    std::unique_ptr<weld::Label> m_xNotebookbarIconSizeLabel;
    std::unique_ptr<weld::ComboBox> m_xNotebookbarIconSizeLB;
    std::unique_ptr<weld::Widget> m_xNotebookbarIconSizeImg;
    std::unique_ptr<weld::Widget> m_xDarkModeFrame;
    std::unique_ptr<weld::Label> m_xAppearanceStyleLabel;
    std::unique_ptr<weld::ComboBox> m_xAppearanceStyleLB;
    std::unique_ptr<weld::Widget> m_xAppearanceStyleImg;
    std::unique_ptr<weld::Label> m_xIconStyleLabel;
    std::unique_ptr<weld::ComboBox> m_xIconStyleLB;
    std::unique_ptr<weld::Widget> m_xIconStyleImg;

    std::unique_ptr<weld::CheckButton> m_xFontAntiAliasing;
    std::unique_ptr<weld::Widget> m_xFontAntiAliasingImg;
    std::unique_ptr<weld::Label> m_xAAPointLimitLabel;
    std::unique_ptr<weld::Widget> m_xAAPointLimitLabelImg;
    std::unique_ptr<weld::MetricSpinButton> m_xAAPointLimit;

    std::unique_ptr<weld::CheckButton> m_xFontShowCB;
    std::unique_ptr<weld::Widget> m_xFontShowImg;

    std::unique_ptr<weld::CheckButton> m_xUseHardwareAccell;
    std::unique_ptr<weld::Widget> m_xUseHardwareAccellImg;
    std::unique_ptr<weld::CheckButton> m_xUseAntiAliase;
    std::unique_ptr<weld::Widget> m_xUseAntiAliaseImg;
    std::unique_ptr<weld::CheckButton> m_xUseSkia;
    std::unique_ptr<weld::Widget> m_xUseSkiaImg;
    std::unique_ptr<weld::CheckButton> m_xForceSkiaRaster;
    std::unique_ptr<weld::Widget> m_xForceSkiaRasterImg;

    std::unique_ptr<weld::Label> m_xSkiaStatusEnabled;
    std::unique_ptr<weld::Label> m_xSkiaStatusDisabled;
    std::unique_ptr<weld::Button> m_xSkiaLog;

    std::unique_ptr<weld::Label> m_xMouseMiddleLabel;
    std::unique_ptr<weld::ComboBox> m_xMouseMiddleLB;
    std::unique_ptr<weld::Widget> m_xMouseMiddleImg;
    std::unique_ptr<weld::Button> m_xMoreIcons;
    std::unique_ptr<weld::Button> m_xRunGPTests;

diff --git a/cui/uiconfig/ui/optviewpage.ui b/cui/uiconfig/ui/optviewpage.ui
index 5a9a757..ce89f11 100644
--- a/cui/uiconfig/ui/optviewpage.ui
+++ b/cui/uiconfig/ui/optviewpage.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="cui">
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkAdjustment" id="adjustment2">
@@ -37,7 +37,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=2 n-rows=1 -->
              <!-- n-columns=3 n-rows=1 -->
              <object class="GtkGrid" id="grid7">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -56,7 +56,7 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -77,7 +77,20 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockmousemiddle">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -107,7 +120,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=2 n-rows=3 -->
              <!-- n-columns=3 n-rows=3 -->
              <object class="GtkGrid" id="refgrid1">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -133,7 +146,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -147,7 +160,7 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -168,7 +181,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
@@ -182,7 +195,7 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
@@ -204,7 +217,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -218,10 +231,49 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockiconsize">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="locknotebookbariconsize">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="locksidebariconsize">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
              </object>
            </child>
            <child type="label">
@@ -248,7 +300,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=3 n-rows=1 -->
              <!-- n-columns=4 n-rows=1 -->
              <object class="GtkGrid" id="refgrid">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -273,7 +325,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -287,7 +339,7 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -301,7 +353,20 @@
                    <property name="always-show-image">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">2</property>
                    <property name="left-attach">3</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockiconstyle">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -331,7 +396,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=2 n-rows=1 -->
              <!-- n-columns=3 n-rows=1 -->
              <object class="GtkGrid" id="refgrid2">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -357,7 +422,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -371,6 +436,19 @@
                    <property name="xalign">0</property>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockappearance">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
@@ -412,7 +490,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=1 n-rows=7 -->
              <!-- n-columns=2 n-rows=7 -->
              <object class="GtkGrid" id="grid3">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -436,7 +514,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -457,7 +535,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -472,7 +550,7 @@
                    <property name="draw-indicator">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
@@ -488,7 +566,7 @@
                    <property name="draw-indicator">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">3</property>
                  </packing>
                </child>
@@ -499,11 +577,11 @@
                    <property name="label" translatable="yes" context="optviewpage|skiaenabled">Skia is currently enabled.</property>
                    <property name="xalign">0</property>
                    <attributes>
                      <attribute name="scale" value="0.9"/>
                      <attribute name="scale" value="0.90000000000000002"/>
                    </attributes>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">4</property>
                  </packing>
                </child>
@@ -514,11 +592,11 @@
                    <property name="label" translatable="yes" context="optviewpage|skiadisabled">Skia is currently disabled.</property>
                    <property name="xalign">0</property>
                    <attributes>
                      <attribute name="scale" value="0.9"/>
                      <attribute name="scale" value="0.90000000000000002"/>
                    </attributes>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">5</property>
                  </packing>
                </child>
@@ -530,10 +608,71 @@
                    <property name="receives-default">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">6</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockuseaccel">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockuseaa">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockuseskia">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockforceskiaraster">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">3</property>
                  </packing>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
                <child>
                  <placeholder/>
                </child>
              </object>
            </child>
            <child type="label">
@@ -559,7 +698,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=1 n-rows=3 -->
              <!-- n-columns=2 n-rows=3 -->
              <object class="GtkGrid" id="grid9">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -582,7 +721,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -602,7 +741,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -647,6 +786,45 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockshowfontpreview">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockaafont">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockaafrom">
                    <property name="can-focus">False</property>
                    <property name="no-show-all">True</property>
                    <property name="halign">center</property>
                    <property name="valign">center</property>
                    <property name="icon-name">res/lock.png</property>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="top-attach">2</property>
                  </packing>