tdf#158466 - UI: Part 49 - Unify lockdown behavior of Options dialog

for Calc - View Page.

Change-Id: I75fcb41b82c4946812d27dd364ffef8eb3086c0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160439
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx
index 6854f77..97addc9 100644
--- a/sc/source/ui/inc/tpview.hxx
+++ b/sc/source/ui/inc/tpview.hxx
@@ -29,32 +29,54 @@ class ScTpContentOptions : public SfxTabPage
    std::unique_ptr<ScViewOptions> m_xLocalOptions;

    std::unique_ptr<weld::ComboBox> m_xGridLB;
    std::unique_ptr<weld::Widget> m_xGridImg;
    std::unique_ptr<weld::CheckButton> m_xBreakCB;
    std::unique_ptr<weld::Widget> m_xBreakImg;
    std::unique_ptr<weld::CheckButton> m_xGuideLineCB;
    std::unique_ptr<weld::Widget> m_xGuideLineImg;

    std::unique_ptr<weld::CheckButton> m_xFormulaCB;
    std::unique_ptr<weld::Widget> m_xFormulaImg;
    std::unique_ptr<weld::CheckButton> m_xNilCB;
    std::unique_ptr<weld::Widget> m_xNilImg;
    std::unique_ptr<weld::CheckButton> m_xAnnotCB;
    std::unique_ptr<weld::Widget> m_xAnnotImg;
    std::unique_ptr<weld::CheckButton> m_xFormulaMarkCB;
    std::unique_ptr<weld::Widget> m_xFormulaMarkImg;
    std::unique_ptr<weld::CheckButton> m_xValueCB;
    std::unique_ptr<weld::Widget> m_xValueImg;
    std::unique_ptr<weld::CheckButton> m_xColRowHighCB;
    std::unique_ptr<weld::Widget> m_xColRowHighImg;
    std::unique_ptr<weld::CheckButton> m_xAnchorCB;
    std::unique_ptr<weld::Widget> m_xAnchorImg;
    std::unique_ptr<weld::CheckButton> m_xRangeFindCB;
    std::unique_ptr<weld::Widget> m_xRangeFindImg;

    std::unique_ptr<weld::ComboBox> m_xObjGrfLB;
    std::unique_ptr<weld::Widget> m_xObjGrfImg;
    std::unique_ptr<weld::ComboBox> m_xDiagramLB;
    std::unique_ptr<weld::Widget> m_xDiagramImg;
    std::unique_ptr<weld::ComboBox> m_xDrawLB;
    std::unique_ptr<weld::Widget> m_xDrawImg;

    std::unique_ptr<weld::CheckButton> m_xSyncZoomCB;
    std::unique_ptr<weld::Widget> m_xSyncZoomImg;

    std::unique_ptr<weld::CheckButton> m_xRowColHeaderCB;
    std::unique_ptr<weld::Widget> m_xRowColHeaderImg;
    std::unique_ptr<weld::CheckButton> m_xHScrollCB;
    std::unique_ptr<weld::Widget> m_xHScrollImg;
    std::unique_ptr<weld::CheckButton> m_xVScrollCB;
    std::unique_ptr<weld::Widget> m_xVScrollImg;
    std::unique_ptr<weld::CheckButton> m_xTblRegCB;
    std::unique_ptr<weld::Widget> m_xTblRegImg;
    std::unique_ptr<weld::CheckButton> m_xOutlineCB;
    std::unique_ptr<weld::Widget> m_xOutlineImg;
    std::unique_ptr<weld::CheckButton> m_xSummaryCB;
    std::unique_ptr<weld::Widget> m_xSummaryImg;
    std::unique_ptr<weld::RadioButton> m_xThemedCursorRB;
    std::unique_ptr<weld::RadioButton> m_xSystemCursorRB;
    std::unique_ptr<weld::Widget> m_xCursorImg;

    void    InitGridOpt();
    DECL_LINK( GridHdl, weld::ComboBox&, void );
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 213d4e7..73f305d 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -38,28 +38,50 @@
ScTpContentOptions::ScTpContentOptions(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet&  rArgSet)
    : SfxTabPage(pPage, pController, "modules/scalc/ui/tpviewpage.ui", "TpViewPage", &rArgSet)
    , m_xGridLB(m_xBuilder->weld_combo_box("grid"))
    , m_xGridImg(m_xBuilder->weld_widget("lockgrid"))
    , m_xBreakCB(m_xBuilder->weld_check_button("break"))
    , m_xBreakImg(m_xBuilder->weld_widget("lockbreak"))
    , m_xGuideLineCB(m_xBuilder->weld_check_button("guideline"))
    , m_xGuideLineImg(m_xBuilder->weld_widget("lockguideline"))
    , m_xFormulaCB(m_xBuilder->weld_check_button("formula"))
    , m_xFormulaImg(m_xBuilder->weld_widget("lockformula"))
    , m_xNilCB(m_xBuilder->weld_check_button("nil"))
    , m_xNilImg(m_xBuilder->weld_widget("locknil"))
    , m_xAnnotCB(m_xBuilder->weld_check_button("annot"))
    , m_xAnnotImg(m_xBuilder->weld_widget("lockannot"))
    , m_xFormulaMarkCB(m_xBuilder->weld_check_button("formulamark"))
    , m_xFormulaMarkImg(m_xBuilder->weld_widget("lockformulamark"))
    , m_xValueCB(m_xBuilder->weld_check_button("value"))
    , m_xValueImg(m_xBuilder->weld_widget("lockvalue"))
    , m_xColRowHighCB(m_xBuilder->weld_check_button("colrowhigh"))
    , m_xColRowHighImg(m_xBuilder->weld_widget("lockcolrowhigh"))
    , m_xAnchorCB(m_xBuilder->weld_check_button("anchor"))
    , m_xAnchorImg(m_xBuilder->weld_widget("lockanchor"))
    , m_xRangeFindCB(m_xBuilder->weld_check_button("rangefind"))
    , m_xRangeFindImg(m_xBuilder->weld_widget("lockrangefind"))
    , m_xObjGrfLB(m_xBuilder->weld_combo_box("objgrf"))
    , m_xObjGrfImg(m_xBuilder->weld_widget("lockobjgrf"))
    , m_xDiagramLB(m_xBuilder->weld_combo_box("diagram"))
    , m_xDiagramImg(m_xBuilder->weld_widget("lockdiagram"))
    , m_xDrawLB(m_xBuilder->weld_combo_box("draw"))
    , m_xDrawImg(m_xBuilder->weld_widget("lockdraw"))
    , m_xSyncZoomCB(m_xBuilder->weld_check_button("synczoom"))
    , m_xSyncZoomImg(m_xBuilder->weld_widget("locksynczoom"))
    , m_xRowColHeaderCB(m_xBuilder->weld_check_button("rowcolheader"))
    , m_xRowColHeaderImg(m_xBuilder->weld_widget("lockrowcolheader"))
    , m_xHScrollCB(m_xBuilder->weld_check_button("hscroll"))
    , m_xHScrollImg(m_xBuilder->weld_widget("lockhscroll"))
    , m_xVScrollCB(m_xBuilder->weld_check_button("vscroll"))
    , m_xVScrollImg(m_xBuilder->weld_widget("lockvscroll"))
    , m_xTblRegCB(m_xBuilder->weld_check_button("tblreg"))
    , m_xTblRegImg(m_xBuilder->weld_widget("locktblreg"))
    , m_xOutlineCB(m_xBuilder->weld_check_button("outline"))
    , m_xOutlineImg(m_xBuilder->weld_widget("lockoutline"))
    , m_xSummaryCB(m_xBuilder->weld_check_button("cbSummary"))
    , m_xSummaryImg(m_xBuilder->weld_widget("lockcbSummary"))
    , m_xThemedCursorRB(m_xBuilder->weld_radio_button("rbThemedCursor"))
    , m_xSystemCursorRB(m_xBuilder->weld_radio_button("rbSystemCursor"))
    , m_xCursorImg(m_xBuilder->weld_widget("lockCursor"))
{
    SetExchangeSupport();
    Link<weld::ComboBox&,void> aSelObjHdl(LINK( this, ScTpContentOptions, SelLbObjHdl ) );
@@ -211,6 +233,96 @@ void    ScTpContentOptions::Reset( const SfxItemSet* rCoreSet )
    if(const SfxBoolItem* pZoomItem = rCoreSet->GetItemIfSet(SID_SC_OPT_SYNCZOOM, false))
        m_xSyncZoomCB->set_active(pZoomItem->GetValue());

    bool bReadOnly = officecfg::Office::Calc::Layout::Line::GridLine::isReadOnly() ||
        officecfg::Office::Calc::Layout::Line::GridOnColoredCells::isReadOnly();
    m_xGridLB->set_sensitive(!bReadOnly);
    m_xGridImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Line::PageBreak::isReadOnly();
    m_xBreakCB->set_sensitive(!bReadOnly);
    m_xBreakImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Line::Guide::isReadOnly();
    m_xGuideLineCB->set_sensitive(!bReadOnly);
    m_xGuideLineImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::Formula::isReadOnly();
    m_xFormulaCB->set_sensitive(!bReadOnly);
    m_xFormulaImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::ZeroValue::isReadOnly();
    m_xNilCB->set_sensitive(!bReadOnly);
    m_xNilImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::NoteTag::isReadOnly();
    m_xAnnotCB->set_sensitive(!bReadOnly);
    m_xAnnotImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::FormulaMark::isReadOnly();
    m_xFormulaMarkCB->set_sensitive(!bReadOnly);
    m_xFormulaMarkImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::ValueHighlighting::isReadOnly();
    m_xValueCB->set_sensitive(!bReadOnly);
    m_xValueImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::ColumnRowHighlighting::isReadOnly();
    m_xColRowHighCB->set_sensitive(!bReadOnly);
    m_xColRowHighImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::Anchor::isReadOnly();
    m_xAnchorCB->set_sensitive(!bReadOnly);
    m_xAnchorImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Input::ShowReference::isReadOnly();
    m_xRangeFindCB->set_sensitive(!bReadOnly);
    m_xRangeFindImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::ObjectGraphic::isReadOnly();
    m_xObjGrfLB->set_sensitive(!bReadOnly);
    m_xObjGrfImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::Chart::isReadOnly();
    m_xDiagramLB->set_sensitive(!bReadOnly);
    m_xDiagramImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Content::Display::DrawingObject::isReadOnly();
    m_xDrawLB->set_sensitive(!bReadOnly);
    m_xDrawImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Zoom::Synchronize::isReadOnly();
    m_xSyncZoomCB->set_sensitive(!bReadOnly);
    m_xSyncZoomImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::ColumnRowHeader::isReadOnly();
    m_xRowColHeaderCB->set_sensitive(!bReadOnly);
    m_xRowColHeaderImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::HorizontalScroll::isReadOnly();
    m_xHScrollCB->set_sensitive(!bReadOnly);
    m_xHScrollImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::VerticalScroll::isReadOnly();
    m_xVScrollCB->set_sensitive(!bReadOnly);
    m_xVScrollImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::SheetTab::isReadOnly();
    m_xTblRegCB->set_sensitive(!bReadOnly);
    m_xTblRegImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::OutlineSymbol::isReadOnly();
    m_xOutlineCB->set_sensitive(!bReadOnly);
    m_xOutlineImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::SearchSummary::isReadOnly();
    m_xSummaryCB->set_sensitive(!bReadOnly);
    m_xSummaryImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Calc::Layout::Window::ThemedCursor::isReadOnly();
    m_xThemedCursorRB->set_sensitive(!bReadOnly);
    m_xSystemCursorRB->set_sensitive(!bReadOnly);
    m_xCursorImg->set_visible(bReadOnly);

    m_xRangeFindCB->save_state();
    m_xSyncZoomCB->save_state();

diff --git a/sc/uiconfig/scalc/ui/tpviewpage.ui b/sc/uiconfig/scalc/ui/tpviewpage.ui
index df87f8e..2213fd2 100644
--- a/sc/uiconfig/scalc/ui/tpviewpage.ui
+++ b/sc/uiconfig/scalc/ui/tpviewpage.ui
@@ -20,7 +20,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=1 n-rows=8 -->
              <!-- n-columns=2 n-rows=8 -->
              <object class="GtkGrid" id="grid6">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -41,7 +41,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -60,7 +60,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -74,7 +74,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>
@@ -88,7 +88,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>
@@ -107,6 +107,103 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">4</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="rangefind">
                    <property name="label" translatable="yes" context="tpviewpage|rangefind">_Show references in color</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="rangefind-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|rangefind">Specifies that each reference is highlighted in color in the formula. The cell range is also enclosed by a colored border as soon as the cell containing the reference is selected for editing.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">7</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockformula">
                    <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="locknil">
                    <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="lockannot">
                    <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="lockformulamark">
                    <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>
                  <object class="GtkImage" id="lockanchor">
                    <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">6</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockvalue">
                    <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">4</property>
                  </packing>
@@ -126,23 +223,17 @@
                    </child>
                  </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="GtkCheckButton" id="rangefind">
                    <property name="label" translatable="yes" context="tpviewpage|rangefind">_Show references in color</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="rangefind-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|rangefind">Specifies that each reference is highlighted in color in the formula. The cell range is also enclosed by a colored border as soon as the cell containing the reference is selected for editing.</property>
                      </object>
                    </child>
                  <object class="GtkImage" id="lockrangefind">
                    <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>
@@ -159,11 +250,24 @@
                    <property name="draw-indicator">True</property>
                    <child internal-child="accessible">
                      <object class="AtkObject" id="colrowhigh-atkobject">
                      <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|value">Mark the Column/row highlighting box to show row/column highlighting for the row and column of the active cell.</property>
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|value">Mark the Column/row highlighting box to show row/column highlighting for the row and column of the active cell.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">5</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockcolrowhigh">
                    <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">5</property>
                  </packing>
@@ -193,7 +297,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=1 n-rows=6 -->
              <!-- n-columns=2 n-rows=6 -->
              <object class="GtkGrid" id="grid4">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -214,7 +318,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -233,7 +337,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -252,7 +356,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
@@ -271,7 +375,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">3</property>
                  </packing>
                </child>
@@ -290,7 +394,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">4</property>
                  </packing>
                </child>
@@ -305,6 +409,84 @@
                    <property name="draw-indicator">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">5</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockrowcolheader">
                    <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="lockhscroll">
                    <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="lockvscroll">
                    <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="locktblreg">
                    <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>
                  <object class="GtkImage" id="lockoutline">
                    <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">4</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockcbSummary">
                    <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">5</property>
                  </packing>
@@ -334,19 +516,43 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <object class="GtkCheckButton" id="synczoom">
                <property name="label" translatable="yes" context="tpviewpage|synczoom">S_ynchronize sheets</property>
              <!-- n-columns=2 n-rows=1 -->
              <object class="GtkGrid">
                <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="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="synczoom-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|synczoom">If checked, all sheets are shown with the same zoom factor. If not checked, each sheet can have its own zoom factor.</property>
                <child>
                  <object class="GtkCheckButton" id="synczoom">
                    <property name="label" translatable="yes" context="tpviewpage|synczoom">S_ynchronize sheets</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="synczoom-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|synczoom">If checked, all sheets are shown with the same zoom factor. If not checked, each sheet can have its own zoom factor.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="locksynczoom">
                    <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>
              </object>
            </child>
@@ -373,7 +579,7 @@
            <property name="label-xalign">0</property>
            <property name="shadow-type">none</property>
            <child>
              <!-- n-columns=3 n-rows=4 -->
              <!-- n-columns=4 n-rows=4 -->
              <object class="GtkGrid" id="grid5">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -396,7 +602,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">3</property>
                  </packing>
@@ -416,7 +622,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">0</property>
                    <property name="left-attach">1</property>
                    <property name="top-attach">3</property>
                    <property name="width">3</property>
                  </packing>
@@ -431,7 +637,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>
@@ -451,7 +657,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                    <property name="width">2</property>
                  </packing>
@@ -466,7 +672,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>
@@ -482,7 +688,7 @@
                    <property name="group">rbSystemCursor</property>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -498,10 +704,62 @@
                    <property name="draw-indicator">True</property>
                  </object>
                  <packing>
                    <property name="left-attach">2</property>
                    <property name="left-attach">3</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockgrid">
                    <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="lockCursor">
                    <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="lockbreak">
                    <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="lockguideline">
                    <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>
              </object>
            </child>
            <child type="label">
@@ -527,7 +785,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="grid2">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
@@ -545,7 +803,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>
@@ -559,7 +817,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>
@@ -573,7 +831,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>
@@ -592,7 +850,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">0</property>
                  </packing>
                </child>
@@ -611,7 +869,7 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">1</property>
                  </packing>
                </child>
@@ -630,7 +888,46 @@
                    </child>
                  </object>
                  <packing>
                    <property name="left-attach">1</property>
                    <property name="left-attach">2</property>
                    <property name="top-attach">2</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkImage" id="lockobjgrf">
                    <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="lockdiagram">
                    <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="lockdraw">
                    <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>