tdf#158465 - UI: Part 48 - Unify lockdown behavior of Options dialog
for Calc - Defaults Page.
Change-Id: I813469c6e56f0bd148afb17644853116e4ae0398
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160419
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/sc/source/ui/inc/tpdefaults.hxx b/sc/source/ui/inc/tpdefaults.hxx
index 76ad8fc..d376094 100644
--- a/sc/source/ui/inc/tpdefaults.hxx
+++ b/sc/source/ui/inc/tpdefaults.hxx
@@ -38,8 +38,11 @@ private:
OUString maOldPrefixValue;
std::unique_ptr<weld::SpinButton> m_xEdNSheets;
std::unique_ptr<weld::Widget> m_xEdNSheetsImg;
std::unique_ptr<weld::Entry> m_xEdSheetPrefix;
std::unique_ptr<weld::Widget> m_xEdSheetPrefixImg;
std::unique_ptr<weld::CheckButton> m_xEdJumboSheets;
std::unique_ptr<weld::Widget> m_xEdJumboSheetsImg;
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/optdlg/tpdefaults.cxx b/sc/source/ui/optdlg/tpdefaults.cxx
index 760c029..4528da5 100644
--- a/sc/source/ui/optdlg/tpdefaults.cxx
+++ b/sc/source/ui/optdlg/tpdefaults.cxx
@@ -14,13 +14,17 @@
#include <defaultsoptions.hxx>
#include <document.hxx>
#include <officecfg/Office/Common.hxx>
#include <officecfg/Office/Calc.hxx>
#include <config_features.h>
ScTpDefaultsOptions::ScTpDefaultsOptions(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet &rCoreSet)
: SfxTabPage(pPage, pController, "modules/scalc/ui/optdefaultpage.ui", "OptDefaultPage", &rCoreSet)
, m_xEdNSheets(m_xBuilder->weld_spin_button("sheetsnumber"))
, m_xEdNSheetsImg(m_xBuilder->weld_widget("locksheetsnumber"))
, m_xEdSheetPrefix(m_xBuilder->weld_entry("sheetprefix"))
, m_xEdSheetPrefixImg(m_xBuilder->weld_widget("locksheetprefix"))
, m_xEdJumboSheets(m_xBuilder->weld_check_button("jumbo_sheets"))
, m_xEdJumboSheetsImg(m_xBuilder->weld_widget("lockjumbo_sheets"))
{
m_xEdNSheets->connect_changed( LINK(this, ScTpDefaultsOptions, NumModifiedHdl) );
m_xEdSheetPrefix->connect_changed( LINK(this, ScTpDefaultsOptions, PrefixModifiedHdl) );
@@ -90,6 +94,22 @@ void ScTpDefaultsOptions::Reset(const SfxItemSet* rCoreSet)
m_xEdNSheets->set_value(aOpt.GetInitTabCount());
m_xEdSheetPrefix->set_text( aOpt.GetInitTabPrefix() );
m_xEdJumboSheets->set_state( aOpt.GetInitJumboSheets() ? TRISTATE_TRUE : TRISTATE_FALSE );
bool bReadOnly = officecfg::Office::Calc::Defaults::Sheet::SheetCount::isReadOnly();
m_xEdNSheets->set_sensitive(!bReadOnly);
m_xEdNSheetsImg->set_visible(bReadOnly);
bReadOnly = officecfg::Office::Calc::Defaults::Sheet::SheetPrefix::isReadOnly();
m_xEdSheetPrefix->set_sensitive(!bReadOnly);
m_xEdSheetPrefixImg->set_visible(bReadOnly);
if (m_xEdJumboSheets->is_visible())
{
bReadOnly = officecfg::Office::Calc::Defaults::Sheet::JumboSheets::isReadOnly();
m_xEdJumboSheets->set_sensitive(!bReadOnly);
m_xEdJumboSheetsImg->set_visible(bReadOnly);
}
m_xEdNSheets->save_value();
m_xEdSheetPrefix->save_value();
m_xEdJumboSheets->save_state();
diff --git a/sc/uiconfig/scalc/ui/optdefaultpage.ui b/sc/uiconfig/scalc/ui/optdefaultpage.ui
index 95056be..de220b4 100644
--- a/sc/uiconfig/scalc/ui/optdefaultpage.ui
+++ b/sc/uiconfig/scalc/ui/optdefaultpage.ui
@@ -21,7 +21,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>
@@ -39,7 +39,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>
@@ -53,7 +53,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>
@@ -66,7 +66,7 @@
<property name="truncate-multiline">True</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
@@ -80,7 +80,7 @@
<property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
</packing>
</child>
@@ -94,11 +94,50 @@
<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>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkImage" id="locksheetsnumber">
<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="locksheetprefix">
<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="lockjumbo_sheets">
<property name="can-focus">False</property>
<property name="no-show-all">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon-name">res/lock.png</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
</object>
</child>
<child type="label">