tdf#158006 - UI: Part 21 - Unify lockdown behavior of Options dialog

for Writer - View Page.

Change-Id: Icbca23d3ec1dd95bbf703227b9479291a978a426
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159126
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index b1f24d6..6fb499f4 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -51,6 +51,7 @@
#include <editeng/langitem.hxx>
#include <editeng/svxenum.hxx>
#include <officecfg/Office/Common.hxx>
#include <officecfg/Office/Writer.hxx>
#include <sal/macros.h>
#include <sfx2/dialoghelper.hxx>
#include <sfx2/printer.hxx>
@@ -86,25 +87,40 @@ void drawRect(vcl::RenderContext& rRenderContext, const tools::Rectangle &rRect,
SwContentOptPage::SwContentOptPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet)
    : SfxTabPage(pPage, pController, "modules/swriter/ui/viewoptionspage.ui", "ViewOptionsPage", &rCoreSet)
    , m_xCrossCB(m_xBuilder->weld_check_button("helplines"))
    , m_xCrossImg(m_xBuilder->weld_widget("lockhelplines"))
    , m_xHMetric(m_xBuilder->weld_combo_box("hrulercombobox"))
    , m_xHMetricImg(m_xBuilder->weld_widget("lockhruler"))
    , m_xVRulerCBox(m_xBuilder->weld_check_button("vruler"))
    , m_xVRulerImg(m_xBuilder->weld_widget("lockvruler"))
    , m_xVRulerRightCBox(m_xBuilder->weld_check_button("vrulerright"))
    , m_xVRulerRightImg(m_xBuilder->weld_widget("lockvrulerright"))
    , m_xVMetric(m_xBuilder->weld_combo_box("vrulercombobox"))
    , m_xSmoothCBox(m_xBuilder->weld_check_button("smoothscroll"))
    , m_xSmoothImg(m_xBuilder->weld_widget("locksmoothscroll"))
    , m_xGrfCB(m_xBuilder->weld_check_button("graphics"))
    , m_xGrfImg(m_xBuilder->weld_widget("lockgraphics"))
    , m_xTableCB(m_xBuilder->weld_check_button("tables"))
    , m_xTableImg(m_xBuilder->weld_widget("locktables"))
    , m_xDrwCB(m_xBuilder->weld_check_button("drawings"))
    , m_xDrwImg(m_xBuilder->weld_widget("lockdrawings"))
    , m_xPostItCB(m_xBuilder->weld_check_button("comments"))
    , m_xPostItImg(m_xBuilder->weld_widget("lockcomments"))
    , m_xSettingsFrame(m_xBuilder->weld_frame("settingsframe"))
    , m_xSettingsLabel(m_xBuilder->weld_label("settingslabel"))
    , m_xMetricLabel(m_xBuilder->weld_label("measureunitlabel"))
    , m_xMetricLB(m_xBuilder->weld_combo_box("measureunit"))
    , m_xShowInlineTooltips(m_xBuilder->weld_check_button("changestooltip"))
    , m_xShowInlineTooltipsImg(m_xBuilder->weld_widget("lockchangestooltip"))
    , m_xShowOutlineContentVisibilityButton(m_xBuilder->weld_check_button("outlinecontentvisibilitybutton"))
    , m_xShowOutlineContentVImg(m_xBuilder->weld_widget("lockoutlinecontentvisibility"))
    , m_xTreatSubOutlineLevelsAsContent(m_xBuilder->weld_check_button("suboutlinelevelsascontent"))
    , m_xTreatSubOutlineLevelsImg(m_xBuilder->weld_widget("locksuboutlinelevels"))
    , m_xShowChangesInMargin(m_xBuilder->weld_check_button("changesinmargin"))
    , m_xShowChangesInMarginImg(m_xBuilder->weld_widget("lockchangesinmargin"))
    , m_xFieldHiddenCB(m_xBuilder->weld_check_button("hiddentextfield"))
    , m_xFieldHiddenImg(m_xBuilder->weld_widget("lockhiddentextfield"))
    , m_xFieldHiddenParaCB(m_xBuilder->weld_check_button("hiddenparafield"))
    , m_xFieldHiddenParaImg(m_xBuilder->weld_widget("lockhiddenparafield"))
{
    m_xShowOutlineContentVisibilityButton->connect_toggled(LINK(this, SwContentOptPage, ShowOutlineContentVisibilityButtonHdl));

@@ -187,25 +203,88 @@ static void lcl_SelectMetricLB(weld::ComboBox& rMetric, TypedWhichId<SfxUInt16It

void SwContentOptPage::Reset(const SfxItemSet* rSet)
{
    bool bReadOnly = false;
    const SwElemItem* pElemAttr = rSet->GetItemIfSet( FN_PARAM_ELEM , false );
    if(pElemAttr)
    {
        bReadOnly = officecfg::Office::Writer::Content::Display::Table::isReadOnly();
        m_xTableCB->set_active(pElemAttr->m_bTable);
        m_xTableCB->set_sensitive(!bReadOnly);
        m_xTableImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::GraphicObject::isReadOnly();
        m_xGrfCB->set_active(pElemAttr->m_bGraphic);
        m_xGrfCB->set_sensitive(!bReadOnly);
        m_xGrfImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::DrawingControl::isReadOnly();
        m_xDrwCB->set_active(pElemAttr->m_bDrawing);
        m_xDrwCB->set_sensitive(!bReadOnly);
        m_xDrwImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::Note::isReadOnly();
        m_xPostItCB->set_active(pElemAttr->m_bNotes);
        m_xPostItCB->set_sensitive(!bReadOnly);
        m_xPostItCB->set_visible(pElemAttr->m_bNotes);

        bReadOnly = officecfg::Office::Writer::Layout::Line::Guide::isReadOnly();
        m_xCrossCB->set_active(pElemAttr->m_bCrosshair);
        m_xCrossCB->set_sensitive(!bReadOnly);
        m_xCrossImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Layout::Window::VerticalRuler::isReadOnly();
        m_xVRulerCBox->set_active(pElemAttr->m_bVertRuler);
        m_xVRulerCBox->set_sensitive(!bReadOnly);
        m_xVRulerImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Layout::Window::IsVerticalRulerRight::isReadOnly();
        m_xVRulerRightCBox->set_active(pElemAttr->m_bVertRulerRight);
        m_xVRulerRightCBox->set_sensitive(!bReadOnly);
        m_xVRulerRightImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Layout::Window::SmoothScroll::isReadOnly();
        m_xSmoothCBox->set_active(pElemAttr->m_bSmoothScroll);
        m_xSmoothCBox->set_sensitive(!bReadOnly);
        m_xSmoothImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::ShowInlineTooltips::isReadOnly();
        m_xShowInlineTooltips->set_active(pElemAttr->m_bShowInlineTooltips);
        m_xShowInlineTooltips->set_sensitive(!bReadOnly);
        m_xShowInlineTooltipsImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::ShowOutlineContentVisibilityButton::isReadOnly();
        m_xShowOutlineContentVisibilityButton->set_active(pElemAttr->m_bShowOutlineContentVisibilityButton);
        m_xShowOutlineContentVisibilityButton->set_sensitive(!bReadOnly);
        m_xShowOutlineContentVImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::TreatSubOutlineLevelsAsContent::isReadOnly();
        m_xTreatSubOutlineLevelsAsContent->set_active(pElemAttr->m_bTreatSubOutlineLevelsAsContent);
        m_xTreatSubOutlineLevelsAsContent->set_sensitive(pElemAttr->m_bShowOutlineContentVisibilityButton);
        m_xTreatSubOutlineLevelsAsContent->set_sensitive(pElemAttr->m_bShowOutlineContentVisibilityButton && !bReadOnly);
        m_xTreatSubOutlineLevelsImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::Display::ShowChangesInMargin::isReadOnly();
        m_xShowChangesInMargin->set_active(pElemAttr->m_bShowChangesInMargin);
        m_xShowChangesInMargin->set_sensitive(!bReadOnly);
        m_xShowChangesInMarginImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::NonprintingCharacter::HiddenText::isReadOnly();
        m_xFieldHiddenCB->set_active( pElemAttr->m_bFieldHiddenText );
        m_xFieldHiddenCB->set_sensitive(!bReadOnly);
        m_xFieldHiddenImg->set_visible(bReadOnly);

        bReadOnly = officecfg::Office::Writer::Content::NonprintingCharacter::HiddenParagraph::isReadOnly();
        m_xFieldHiddenParaCB->set_active( pElemAttr->m_bShowHiddenPara );
        m_xFieldHiddenParaCB->set_sensitive(!bReadOnly);
        m_xFieldHiddenParaImg->set_visible(bReadOnly);
    }

    bReadOnly = officecfg::Office::Writer::Layout::Window::HorizontalRulerUnit::isReadOnly();
    m_xHMetric->set_sensitive(!bReadOnly);
    m_xHMetricImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Writer::Layout::Window::VerticalRulerUnit::isReadOnly();
    m_xVMetric->set_sensitive(!bReadOnly);

    m_xMetricLB->set_active(-1);
    lcl_SelectMetricLB(*m_xMetricLB, SID_ATTR_METRIC, *rSet);
    lcl_SelectMetricLB(*m_xHMetric, FN_HSCROLL_METRIC, *rSet);
@@ -303,7 +382,8 @@ bool SwContentOptPage::FillItemSet(SfxItemSet* rSet)

IMPL_LINK(SwContentOptPage, VertRulerHdl, weld::Toggleable&, rBox, void)
{
    m_xVRulerRightCBox->set_sensitive(rBox.get_sensitive() && rBox.get_active());
    m_xVRulerRightCBox->set_sensitive(rBox.get_sensitive() && rBox.get_active() &&
        !officecfg::Office::Writer::Layout::Window::IsVerticalRulerRight::isReadOnly());
}

IMPL_LINK(SwContentOptPage, ShowOutlineContentVisibilityButtonHdl, weld::Toggleable&, rBox, void)
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index c4fa701..a49c22f 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -36,17 +36,27 @@ class FontList;
class SwContentOptPage final : public SfxTabPage
{
    std::unique_ptr<weld::CheckButton> m_xCrossCB;
    std::unique_ptr<weld::Widget> m_xCrossImg;

    std::unique_ptr<weld::ComboBox> m_xHMetric;
    std::unique_ptr<weld::Widget> m_xHMetricImg;
    std::unique_ptr<weld::CheckButton> m_xVRulerCBox;
    std::unique_ptr<weld::Widget> m_xVRulerImg;
    std::unique_ptr<weld::CheckButton> m_xVRulerRightCBox;
    std::unique_ptr<weld::Widget> m_xVRulerRightImg;
    std::unique_ptr<weld::ComboBox> m_xVMetric;
    std::unique_ptr<weld::Widget> m_xVMetricImg;
    std::unique_ptr<weld::CheckButton> m_xSmoothCBox;
    std::unique_ptr<weld::Widget> m_xSmoothImg;

    std::unique_ptr<weld::CheckButton> m_xGrfCB;
    std::unique_ptr<weld::Widget> m_xGrfImg;
    std::unique_ptr<weld::CheckButton> m_xTableCB;
    std::unique_ptr<weld::Widget> m_xTableImg;
    std::unique_ptr<weld::CheckButton> m_xDrwCB;
    std::unique_ptr<weld::Widget> m_xDrwImg;
    std::unique_ptr<weld::CheckButton> m_xPostItCB;
    std::unique_ptr<weld::Widget> m_xPostItImg;

    std::unique_ptr<weld::Frame> m_xSettingsFrame;
    std::unique_ptr<weld::Label> m_xSettingsLabel;
@@ -54,11 +64,17 @@ class SwContentOptPage final : public SfxTabPage
    std::unique_ptr<weld::ComboBox> m_xMetricLB;

    std::unique_ptr<weld::CheckButton> m_xShowInlineTooltips;
    std::unique_ptr<weld::Widget> m_xShowInlineTooltipsImg;
    std::unique_ptr<weld::CheckButton> m_xShowOutlineContentVisibilityButton;
    std::unique_ptr<weld::Widget> m_xShowOutlineContentVImg;
    std::unique_ptr<weld::CheckButton> m_xTreatSubOutlineLevelsAsContent;
    std::unique_ptr<weld::Widget> m_xTreatSubOutlineLevelsImg;
    std::unique_ptr<weld::CheckButton> m_xShowChangesInMargin;
    std::unique_ptr<weld::Widget> m_xShowChangesInMarginImg;
    std::unique_ptr<weld::CheckButton> m_xFieldHiddenCB;
    std::unique_ptr<weld::Widget> m_xFieldHiddenImg;
    std::unique_ptr<weld::CheckButton> m_xFieldHiddenParaCB;
    std::unique_ptr<weld::Widget> m_xFieldHiddenParaImg;

    DECL_LINK(VertRulerHdl, weld::Toggleable&, void);
    DECL_LINK(ShowOutlineContentVisibilityButtonHdl, weld::Toggleable&, void);
diff --git a/sw/uiconfig/swriter/ui/viewoptionspage.ui b/sw/uiconfig/swriter/ui/viewoptionspage.ui
index a03da1f..c527a16 100644
--- a/sw/uiconfig/swriter/ui/viewoptionspage.ui
+++ b/sw/uiconfig/swriter/ui/viewoptionspage.ui
@@ -31,12 +31,13 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=1 -->
                  <!-- n-columns=2 n-rows=1 -->
                  <object class="GtkGrid" id="grid1">
                    <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="column-spacing">6</property>
                    <child>
                      <object class="GtkCheckButton" id="helplines">
                        <property name="label" translatable="yes" context="viewoptionspage|helplines">Helplines _While Moving</property>
@@ -52,6 +53,19 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="lockhelplines">
                        <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>
@@ -82,13 +96,14 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=5 -->
                  <!-- n-columns=2 n-rows=5 -->
                  <object class="GtkGrid" id="grid3">
                    <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="row-spacing">6</property>
                    <property name="column-spacing">6</property>
                    <child>
                      <object class="GtkCheckButton" id="graphics">
                        <property name="label" translatable="yes" context="viewoptionspage|graphics">_Images and objects</property>
@@ -104,7 +119,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
@@ -123,7 +138,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
@@ -142,7 +157,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">2</property>
                      </packing>
                    </child>
@@ -161,7 +176,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">3</property>
                      </packing>
                    </child>
@@ -175,10 +190,65 @@
                        <property name="draw-indicator">True</property>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">4</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="lockgraphics">
                        <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="locktables">
                        <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="lockdrawings">
                        <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="lockcomments">
                        <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>
                  </object>
                </child>
                <child type="label">
@@ -205,7 +275,7 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=2 -->
                  <!-- n-columns=2 n-rows=2 -->
                  <object class="GtkGrid">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -228,7 +298,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
@@ -247,6 +317,32 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="lockhiddentextfield">
                        <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="lockhiddenparafield">
                        <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>
@@ -277,7 +373,7 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=2 -->
                  <!-- n-columns=2 n-rows=2 -->
                  <object class="GtkGrid">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -300,7 +396,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
@@ -314,6 +410,32 @@
                        <property name="draw-indicator">True</property>
                      </object>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="lockchangesinmargin">
                        <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="lockchangestooltip">
                        <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>
@@ -357,7 +479,7 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=2 -->
                  <!-- n-columns=2 n-rows=2 -->
                  <object class="GtkGrid" id="grid4">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -379,12 +501,12 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
                    <child>
                      <!-- n-columns=2 n-rows=3 -->
                      <!-- n-columns=3 n-rows=3 -->
                      <object class="GtkGrid" id="grid6">
                        <property name="visible">True</property>
                        <property name="can-focus">False</property>
@@ -409,7 +531,7 @@
                            </child>
                          </object>
                          <packing>
                            <property name="left-attach">0</property>
                            <property name="left-attach">1</property>
                            <property name="top-attach">1</property>
                          </packing>
                        </child>
@@ -425,7 +547,7 @@
                            </child>
                          </object>
                          <packing>
                            <property name="left-attach">1</property>
                            <property name="left-attach">2</property>
                            <property name="top-attach">0</property>
                          </packing>
                        </child>
@@ -444,7 +566,7 @@
                            </child>
                          </object>
                          <packing>
                            <property name="left-attach">1</property>
                            <property name="left-attach">2</property>
                            <property name="top-attach">1</property>
                          </packing>
                        </child>
@@ -464,7 +586,7 @@
                            </child>
                          </object>
                          <packing>
                            <property name="left-attach">0</property>
                            <property name="left-attach">1</property>
                            <property name="top-attach">2</property>
                            <property name="width">2</property>
                          </packing>
@@ -484,16 +606,71 @@
                            </child>
                          </object>
                          <packing>
                            <property name="left-attach">1</property>
                            <property name="top-attach">0</property>
                          </packing>
                        </child>
                        <child>
                          <object class="GtkImage" id="lockhruler">
                            <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="lockvruler">
                            <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="lockvrulerright">
                            <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>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="locksmoothscroll">
                        <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>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
                    <child>
                      <placeholder/>
                    </child>
                  </object>
                </child>
                <child type="label">
@@ -520,7 +697,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="grid5">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -539,7 +716,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="left-attach">2</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
@@ -552,10 +729,13 @@
                        <property name="mnemonic-widget">measureunit</property>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
                    <child>
                      <placeholder/>
                    </child>
                  </object>
                </child>
                <child type="label">
@@ -582,7 +762,7 @@
                <property name="label-xalign">0</property>
                <property name="shadow-type">none</property>
                <child>
                  <!-- n-columns=1 n-rows=2 -->
                  <!-- n-columns=2 n-rows=2 -->
                  <object class="GtkGrid">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -605,7 +785,7 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">0</property>
                        <property name="left-attach">1</property>
                        <property name="top-attach">0</property>
                      </packing>
                    </child>
@@ -625,6 +805,32 @@
                        </child>
                      </object>
                      <packing>
                        <property name="left-attach">1</property>
                        <property name="top-attach">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkImage" id="lockoutlinecontentvisibility">
                        <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="locksuboutlinelevels">
                        <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>