tdf#158147 - UI: Part 38 - Unify lockdown behavior of Options dialog

for Math - Settings Page.

Change-Id: I05170a6c7edb6160e0e7804fa04325d329499854
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159819
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 66db01d..3b4f80b 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -40,17 +40,26 @@ void SetFontStyle(std::u16string_view rStyleName, vcl::Font &rFont);
class SmPrintOptionsTabPage final : public SfxTabPage
{
    std::unique_ptr<weld::CheckButton>      m_xTitle;
    std::unique_ptr<weld::Widget>      m_xTitleImg;
    std::unique_ptr<weld::CheckButton>      m_xText;
    std::unique_ptr<weld::Widget>      m_xTextImg;
    std::unique_ptr<weld::CheckButton>      m_xFrame;
    std::unique_ptr<weld::Widget>      m_xFrameImg;
    std::unique_ptr<weld::RadioButton>      m_xSizeNormal;
    std::unique_ptr<weld::RadioButton>      m_xSizeScaled;
    std::unique_ptr<weld::RadioButton>      m_xSizeZoomed;
    std::unique_ptr<weld::Widget>      m_xLockPrintImg;
    std::unique_ptr<weld::MetricSpinButton> m_xZoom;
    std::unique_ptr<weld::CheckButton>      m_xEnableInlineEdit;
    std::unique_ptr<weld::Widget>      m_xEnableInlineEditImg;
    std::unique_ptr<weld::CheckButton>      m_xNoRightSpaces;
    std::unique_ptr<weld::Widget>      m_xNoRightSpacesImg;
    std::unique_ptr<weld::CheckButton>      m_xSaveOnlyUsedSymbols;
    std::unique_ptr<weld::Widget>      m_xSaveOnlyUsedSymbolsImg;
    std::unique_ptr<weld::CheckButton>      m_xAutoCloseBrackets;
    std::unique_ptr<weld::Widget>      m_xAutoCloseBracketsImg;
    std::unique_ptr<weld::MetricSpinButton> m_xSmZoom;
    std::unique_ptr<weld::Widget> m_xSmZoomImg;

    DECL_LINK(SizeButtonClickHdl, weld::Toggleable&, void);

diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index f96f43c..1ad8376 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -42,6 +42,7 @@
#include <strings.hrc>
#include <helpids.h>
#include <cfgitem.hxx>
#include <officecfg/Office/Math.hxx>
#include <smmod.hxx>
#include <symbol.hxx>
#include <view.hxx>
@@ -179,17 +180,26 @@ IMPL_LINK_NOARG(SmPrintOptionsTabPage, SizeButtonClickHdl, weld::Toggleable&, vo
SmPrintOptionsTabPage::SmPrintOptionsTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rOptions)
    : SfxTabPage(pPage, pController, "modules/smath/ui/smathsettings.ui", "SmathSettings", &rOptions)
    , m_xTitle(m_xBuilder->weld_check_button("title"))
    , m_xTitleImg(m_xBuilder->weld_widget("locktitle"))
    , m_xText(m_xBuilder->weld_check_button("text"))
    , m_xTextImg(m_xBuilder->weld_widget("locktext"))
    , m_xFrame(m_xBuilder->weld_check_button("frame"))
    , m_xFrameImg(m_xBuilder->weld_widget("lockframe"))
    , m_xSizeNormal(m_xBuilder->weld_radio_button("sizenormal"))
    , m_xSizeScaled(m_xBuilder->weld_radio_button("sizescaled"))
    , m_xSizeZoomed(m_xBuilder->weld_radio_button("sizezoomed"))
    , m_xLockPrintImg(m_xBuilder->weld_widget("lockprintformat"))
    , m_xZoom(m_xBuilder->weld_metric_spin_button("zoom", FieldUnit::PERCENT))
    , m_xEnableInlineEdit(m_xBuilder->weld_check_button("enableinlineedit"))
    , m_xEnableInlineEditImg(m_xBuilder->weld_widget("lockenableinlineedit"))
    , m_xNoRightSpaces(m_xBuilder->weld_check_button("norightspaces"))
    , m_xNoRightSpacesImg(m_xBuilder->weld_widget("locknorightspaces"))
    , m_xSaveOnlyUsedSymbols(m_xBuilder->weld_check_button("saveonlyusedsymbols"))
    , m_xSaveOnlyUsedSymbolsImg(m_xBuilder->weld_widget("locksaveonlyusedsymbols"))
    , m_xAutoCloseBrackets(m_xBuilder->weld_check_button("autoclosebrackets"))
    , m_xAutoCloseBracketsImg(m_xBuilder->weld_widget("lockautoclosebrackets"))
    , m_xSmZoom(m_xBuilder->weld_metric_spin_button("smzoom", FieldUnit::PERCENT))
    , m_xSmZoomImg(m_xBuilder->weld_widget("locksmzoom"))
{
    m_xSizeNormal->connect_toggled(LINK(this, SmPrintOptionsTabPage, SizeButtonClickHdl));
    m_xSizeScaled->connect_toggled(LINK(this, SmPrintOptionsTabPage, SizeButtonClickHdl));
@@ -271,21 +281,58 @@ void SmPrintOptionsTabPage::Reset(const SfxItemSet* rSet)
    m_xSizeNormal->set_active(ePrintSize == PRINT_SIZE_NORMAL);
    m_xSizeScaled->set_active(ePrintSize == PRINT_SIZE_SCALED);
    m_xSizeZoomed->set_active(ePrintSize == PRINT_SIZE_ZOOMED);
    bool bReadOnly = officecfg::Office::Math::Print::Size::isReadOnly();
    if (bReadOnly)
    {
        m_xSizeNormal->set_sensitive(false);
        m_xSizeScaled->set_sensitive(false);
        m_xSizeZoomed->set_sensitive(false);
        m_xLockPrintImg->set_visible(true);
    }

    m_xZoom->set_sensitive(m_xSizeZoomed->get_active());

    bReadOnly = officecfg::Office::Math::Print::ZoomFactor::isReadOnly();
    m_xZoom->set_value(rSet->Get(SID_PRINTZOOM).GetValue(), FieldUnit::PERCENT);
    m_xZoom->set_sensitive(m_xSizeZoomed->get_active() && !bReadOnly);

    m_xSmZoom->set_sensitive(true);
    bReadOnly = officecfg::Office::Math::Misc::SmEditWindowZoomFactor::isReadOnly();
    m_xSmZoom->set_value(rSet->Get(SID_SMEDITWINDOWZOOM).GetValue(), FieldUnit::PERCENT);
    m_xSmZoom->set_sensitive(!bReadOnly);
    m_xSmZoomImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Print::Title::isReadOnly();
    m_xTitle->set_active(rSet->Get(SID_PRINTTITLE).GetValue());
    m_xTitle->set_sensitive(!bReadOnly);
    m_xTitleImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Print::FormulaText::isReadOnly();
    m_xText->set_active(rSet->Get(GetWhich(SID_PRINTTEXT)).GetValue());
    m_xText->set_sensitive(!bReadOnly);
    m_xTextImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Print::Frame::isReadOnly();
    m_xFrame->set_active(rSet->Get(GetWhich(SID_PRINTFRAME)).GetValue());
    m_xFrame->set_sensitive(!bReadOnly);
    m_xFrameImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Misc::InlineEditEnable::isReadOnly();
    m_xEnableInlineEdit->set_active(rSet->Get(SID_INLINE_EDIT_ENABLE).GetValue());
    m_xEnableInlineEdit->set_sensitive(!bReadOnly);
    m_xEnableInlineEditImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Misc::IgnoreSpacesRight::isReadOnly();
    m_xNoRightSpaces->set_active(rSet->Get(SID_NO_RIGHT_SPACES).GetValue());
    m_xNoRightSpaces->set_sensitive(!bReadOnly);
    m_xNoRightSpacesImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::LoadSave::IsSaveOnlyUsedSymbols::isReadOnly();
    m_xSaveOnlyUsedSymbols->set_active(rSet->Get(SID_SAVE_ONLY_USED_SYMBOLS).GetValue());
    m_xSaveOnlyUsedSymbols->set_sensitive(!bReadOnly);
    m_xSaveOnlyUsedSymbolsImg->set_visible(bReadOnly);

    bReadOnly = officecfg::Office::Math::Misc::AutoCloseBrackets::isReadOnly();
    m_xAutoCloseBrackets->set_active(rSet->Get(SID_AUTO_CLOSE_BRACKETS).GetValue());
    m_xAutoCloseBrackets->set_sensitive(!bReadOnly);
    m_xAutoCloseBracketsImg->set_visible(bReadOnly);
}

std::unique_ptr<SfxTabPage> SmPrintOptionsTabPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet)
diff --git a/starmath/uiconfig/smath/ui/smathsettings.ui b/starmath/uiconfig/smath/ui/smathsettings.ui
index ae9adb6..823c949 100644
--- a/starmath/uiconfig/smath/ui/smathsettings.ui
+++ b/starmath/uiconfig/smath/ui/smathsettings.ui
@@ -37,17 +37,42 @@
            <property name="orientation">vertical</property>
            <property name="spacing">6</property>
            <child>
              <object class="GtkCheckButton" id="title">
                <property name="label" translatable="yes" context="smathsettings|title">_Title row</property>
              <object class="GtkBox">
                <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="title-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|title">Specifies whether you want the name of the document to be included in the printout.</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="locktitle">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="title">
                    <property name="label" translatable="yes" context="smathsettings|title">_Title row</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="title-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|title">Specifies whether you want the name of the document to be included in the printout.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
@@ -57,17 +82,42 @@
              </packing>
            </child>
            <child>
              <object class="GtkCheckButton" id="text">
                <property name="label" translatable="yes" context="smathsettings|text">_Formula text</property>
              <object class="GtkBox">
                <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="text-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|text">Specifies whether to include the contents of the Commands window at the bottom of the printout.</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="locktext">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="text">
                    <property name="label" translatable="yes" context="smathsettings|text">_Formula text</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="text-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|text">Specifies whether to include the contents of the Commands window at the bottom of the printout.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
@@ -77,17 +127,42 @@
              </packing>
            </child>
            <child>
              <object class="GtkCheckButton" id="frame">
                <property name="label" translatable="yes" context="smathsettings|frame">B_order</property>
              <object class="GtkBox">
                <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="frame-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|frame">Applies a thin border to the formula area in the printout.</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="lockframe">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="frame">
                    <property name="label" translatable="yes" context="smathsettings|frame">B_order</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="frame-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|frame">Applies a thin border to the formula area in the printout.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
@@ -122,70 +197,33 @@
        <property name="label-xalign">0</property>
        <property name="shadow-type">none</property>
        <child>
          <object class="GtkBox" id="box1">
          <!-- n-columns=2 n-rows=1 -->
          <object class="GtkGrid">
            <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="orientation">vertical</property>
            <property name="spacing">6</property>
            <property name="homogeneous">True</property>
            <child>
              <object class="GtkRadioButton" id="sizenormal">
                <property name="label" translatable="yes" context="smathsettings|sizenormal">O_riginal size</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="active">True</property>
                <property name="draw-indicator">True</property>
                <child internal-child="accessible">
                  <object class="AtkObject" id="sizenormal-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|sizenormal">Prints the formula without adjusting the current font size.</property>
                  </object>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">0</property>
              </packing>
            </child>
            <child>
              <object class="GtkRadioButton" id="sizescaled">
                <property name="label" translatable="yes" context="smathsettings|sizescaled">Fit to _page</property>
                <property name="visible">True</property>
                <property name="can-focus">True</property>
                <property name="receives-default">False</property>
                <property name="use-underline">True</property>
                <property name="draw-indicator">True</property>
                <property name="group">sizenormal</property>
                <child internal-child="accessible">
                  <object class="AtkObject" id="sizescaled-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|sizescaled">Adjusts the formula to the page format used in the printout.</property>
                  </object>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">1</property>
              </packing>
            </child>
            <child>
              <object class="GtkBox" id="box3">
              <object class="GtkBox" id="box1">
                <property name="visible">True</property>
                <property name="can-focus">False</property>
                <property name="spacing">12</property>
                <property name="margin-start">12</property>
                <property name="margin-top">6</property>
                <property name="orientation">vertical</property>
                <property name="spacing">6</property>
                <property name="homogeneous">True</property>
                <child>
                  <object class="GtkRadioButton" id="sizezoomed">
                    <property name="label" translatable="yes" context="smathsettings|sizezoomed">_Scaling:</property>
                  <object class="GtkRadioButton" id="sizenormal">
                    <property name="label" translatable="yes" context="smathsettings|sizenormal">O_riginal size</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="active">True</property>
                    <property name="draw-indicator">True</property>
                    <property name="group">sizenormal</property>
                    <child internal-child="accessible">
                      <object class="AtkObject" id="sizenormal-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|sizenormal">Prints the formula without adjusting the current font size.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
@@ -194,15 +232,17 @@
                  </packing>
                </child>
                <child>
                  <object class="GtkSpinButton" id="zoom">
                  <object class="GtkRadioButton" id="sizescaled">
                    <property name="label" translatable="yes" context="smathsettings|sizescaled">Fit to _page</property>
                    <property name="visible">True</property>
                    <property name="can-focus">True</property>
                    <property name="activates-default">True</property>
                    <property name="truncate-multiline">True</property>
                    <property name="adjustment">adjustment1</property>
                    <property name="receives-default">False</property>
                    <property name="use-underline">True</property>
                    <property name="draw-indicator">True</property>
                    <property name="group">sizenormal</property>
                    <child internal-child="accessible">
                      <object class="AtkObject" id="zoom-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|zoom">Reduces or enlarges the size of the printed formula by a specified enlargement factor.</property>
                      <object class="AtkObject" id="sizescaled-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|sizescaled">Adjusts the formula to the page format used in the printout.</property>
                      </object>
                    </child>
                  </object>
@@ -212,11 +252,70 @@
                    <property name="position">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkBox" id="box3">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
                    <property name="spacing">12</property>
                    <child>
                      <object class="GtkRadioButton" id="sizezoomed">
                        <property name="label" translatable="yes" context="smathsettings|sizezoomed">_Scaling:</property>
                        <property name="visible">True</property>
                        <property name="can-focus">True</property>
                        <property name="receives-default">False</property>
                        <property name="use-underline">True</property>
                        <property name="draw-indicator">True</property>
                        <property name="group">sizenormal</property>
                      </object>
                      <packing>
                        <property name="expand">False</property>
                        <property name="fill">True</property>
                        <property name="position">0</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkSpinButton" id="zoom">
                        <property name="visible">True</property>
                        <property name="can-focus">True</property>
                        <property name="activates-default">True</property>
                        <property name="truncate-multiline">True</property>
                        <property name="adjustment">adjustment1</property>
                        <child internal-child="accessible">
                          <object class="AtkObject" id="zoom-atkobject">
                            <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|zoom">Reduces or enlarges the size of the printed formula by a specified enlargement factor.</property>
                          </object>
                        </child>
                      </object>
                      <packing>
                        <property name="expand">False</property>
                        <property name="fill">True</property>
                        <property name="position">1</property>
                      </packing>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">2</property>
                  </packing>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
                <property name="fill">True</property>
                <property name="position">2</property>
                <property name="left-attach">1</property>
                <property name="top-attach">0</property>
              </packing>
            </child>
            <child>
              <object class="GtkImage" id="lockprintformat">
                <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>
@@ -253,13 +352,38 @@
            <property name="orientation">vertical</property>
            <property name="spacing">6</property>
            <child>
              <object class="GtkCheckButton" id="enableinlineedit">
                <property name="label" translatable="yes" context="smathsettings|enableinlineedit">Enable visual editing</property>
              <object class="GtkBox">
                <property name="visible">True</property>
                <property name="can-focus">True</property>
                <property name="receives-default">False</property>
                <property name="use-underline">True</property>
                <property name="draw-indicator">True</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="lockenableinlineedit">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="enableinlineedit">
                    <property name="label" translatable="yes" context="smathsettings|enableinlineedit">Enable visual editing</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>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
@@ -268,17 +392,42 @@
              </packing>
            </child>
            <child>
              <object class="GtkCheckButton" id="norightspaces">
                <property name="label" translatable="yes" context="smathsettings|norightspaces">Ig_nore ~~ and ' at the end of the line</property>
              <object class="GtkBox">
                <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="norightspaces-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|norightspaces">Specifies that these space wildcards will be removed if they are at the end of a line.</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="locknorightspaces">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="norightspaces">
                    <property name="label" translatable="yes" context="smathsettings|norightspaces">Ig_nore ~~ and ' at the end of the line</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="norightspaces-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|norightspaces">Specifies that these space wildcards will be removed if they are at the end of a line.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
@@ -288,17 +437,42 @@
              </packing>
            </child>
            <child>
              <object class="GtkCheckButton" id="saveonlyusedsymbols">
                <property name="label" translatable="yes" context="smathsettings|saveonlyusedsymbols">Embed only used symbols (smaller file size)</property>
              <object class="GtkBox">
                <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="saveonlyusedsymbols-atkobject">
                    <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|saveonlyusedsymbols">Saves only those symbols with each formula that are used in that formula.</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="locksaveonlyusedsymbols">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="saveonlyusedsymbols">
                    <property name="label" translatable="yes" context="smathsettings|saveonlyusedsymbols">Embed only used symbols (smaller file size)</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="saveonlyusedsymbols-atkobject">
                        <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|saveonlyusedsymbols">Saves only those symbols with each formula that are used in that formula.</property>
                      </object>
                    </child>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
@@ -308,13 +482,38 @@
              </packing>
            </child>
            <child>
              <object class="GtkCheckButton" id="autoclosebrackets">
                <property name="label" translatable="yes" context="smathsettings|autoclosebrackets">Auto close brackets, parentheses and braces</property>
              <object class="GtkBox">
                <property name="visible">True</property>
                <property name="can-focus">True</property>
                <property name="receives-default">False</property>
                <property name="use-underline">True</property>
                <property name="draw-indicator">True</property>
                <property name="can-focus">False</property>
                <child>
                  <object class="GtkImage" id="lockautoclosebrackets">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="autoclosebrackets">
                    <property name="label" translatable="yes" context="smathsettings|autoclosebrackets">Auto close brackets, parentheses and braces</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>
                  </object>
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                  </packing>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
@@ -328,6 +527,20 @@
                <property name="can-focus">False</property>
                <property name="spacing">6</property>
                <child>
                  <object class="GtkImage" id="locksmzoom">
                    <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="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkLabel" id="label6">
                    <property name="visible">True</property>
                    <property name="can-focus">False</property>
@@ -338,7 +551,7 @@
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                    <property name="position">1</property>
                  </packing>
                </child>
                <child>
@@ -359,7 +572,7 @@
                  <packing>
                    <property name="expand">False</property>
                    <property name="fill">True</property>
                    <property name="position">1</property>
                    <property name="position">2</property>
                  </packing>
                </child>
              </object>