summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 13:26:01 +0100
committerBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 21:03:03 +0100
commit49c200cf9f3e8f61716a15bf67dee9f54d2931fa (patch)
treef11fb3a0a0a2f037b7e69e0bab06647189063b87
parentf90e9e57ea647f6ab047216b662d40aca7759580 (diff)
tdf#158140 - UI: Part 33 - Unify lockdown behavior of Options dialog
for Writer/Web - View Page. Change-Id: Idcd271493461bbd7a945e0ad5484715279a19c98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159780 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
-rw-r--r--sw/source/ui/config/optpage.cxx36
-rw-r--r--sw/source/uibase/inc/optpage.hxx1
-rw-r--r--sw/uiconfig/swriter/ui/viewoptionspage.ui12
3 files changed, 39 insertions, 10 deletions
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 294e25772da0..90ea14acf64f 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -52,6 +52,7 @@
#include <editeng/svxenum.hxx>
#include <officecfg/Office/Common.hxx>
#include <officecfg/Office/Writer.hxx>
+#include <officecfg/Office/WriterWeb.hxx>
#include <sal/macros.h>
#include <sfx2/dialoghelper.hxx>
#include <sfx2/printer.hxx>
@@ -108,6 +109,7 @@ SwContentOptPage::SwContentOptPage(weld::Container* pPage, weld::DialogControlle
, m_xSettingsLabel(m_xBuilder->weld_label("settingslabel"))
, m_xMetricLabel(m_xBuilder->weld_label("measureunitlabel"))
, m_xMetricLB(m_xBuilder->weld_combo_box("measureunit"))
+ , m_xMetricImg(m_xBuilder->weld_widget("lockmeasureunit"))
, m_xShowInlineTooltips(m_xBuilder->weld_check_button("changestooltip"))
, m_xShowInlineTooltipsImg(m_xBuilder->weld_widget("lockchangestooltip"))
, m_xShowOutlineContentVisibilityButton(m_xBuilder->weld_check_button("outlinecontentvisibilitybutton"))
@@ -203,35 +205,42 @@ static void lcl_SelectMetricLB(weld::ComboBox& rMetric, TypedWhichId<SfxUInt16It
void SwContentOptPage::Reset(const SfxItemSet* rSet)
{
bool bReadOnly = false;
+ bool bWebOptionsPage = m_xSettingsFrame->is_visible();
const SwElemItem* pElemAttr = rSet->GetItemIfSet( FN_PARAM_ELEM , false );
if(pElemAttr)
{
- bReadOnly = officecfg::Office::Writer::Content::Display::Table::isReadOnly();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Content::Display::Table::isReadOnly() :
+ officecfg::Office::WriterWeb::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();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Content::Display::GraphicObject::isReadOnly() :
+ officecfg::Office::WriterWeb::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();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Content::Display::DrawingControl::isReadOnly() :
+ officecfg::Office::WriterWeb::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();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Content::Display::Note::isReadOnly() :
+ officecfg::Office::WriterWeb::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();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Layout::Line::Guide::isReadOnly() :
+ officecfg::Office::WriterWeb::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();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Layout::Window::VerticalRuler::isReadOnly() :
+ officecfg::Office::WriterWeb::Layout::Window::VerticalRuler::isReadOnly();
m_xVRulerCBox->set_active(pElemAttr->m_bVertRuler);
m_xVRulerCBox->set_sensitive(!bReadOnly);
m_xVRulerImg->set_visible(bReadOnly);
@@ -241,7 +250,8 @@ void SwContentOptPage::Reset(const SfxItemSet* rSet)
m_xVRulerRightCBox->set_sensitive(!bReadOnly);
m_xVRulerRightImg->set_visible(bReadOnly);
- bReadOnly = officecfg::Office::Writer::Layout::Window::SmoothScroll::isReadOnly();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Layout::Window::SmoothScroll::isReadOnly() :
+ officecfg::Office::WriterWeb::Layout::Window::SmoothScroll::isReadOnly();
m_xSmoothCBox->set_active(pElemAttr->m_bSmoothScroll);
m_xSmoothCBox->set_sensitive(!bReadOnly);
m_xSmoothImg->set_visible(bReadOnly);
@@ -277,14 +287,22 @@ void SwContentOptPage::Reset(const SfxItemSet* rSet)
m_xFieldHiddenParaImg->set_visible(bReadOnly);
}
- bReadOnly = officecfg::Office::Writer::Layout::Window::HorizontalRulerUnit::isReadOnly();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Layout::Window::HorizontalRulerUnit::isReadOnly() :
+ officecfg::Office::WriterWeb::Layout::Window::HorizontalRulerUnit::isReadOnly();
m_xHMetric->set_sensitive(!bReadOnly);
m_xHMetricImg->set_visible(bReadOnly);
- bReadOnly = officecfg::Office::Writer::Layout::Window::VerticalRulerUnit::isReadOnly();
+ bReadOnly = !bWebOptionsPage ? officecfg::Office::Writer::Layout::Window::VerticalRulerUnit::isReadOnly() :
+ officecfg::Office::WriterWeb::Layout::Window::VerticalRulerUnit::isReadOnly();
m_xVMetric->set_sensitive(!bReadOnly);
m_xMetricLB->set_active(-1);
+ if (bWebOptionsPage)
+ {
+ bReadOnly = officecfg::Office::WriterWeb::Layout::Other::MeasureUnit::isReadOnly();
+ m_xMetricLB->set_sensitive(!bReadOnly);
+ m_xMetricImg->set_visible(bReadOnly);
+ }
lcl_SelectMetricLB(*m_xMetricLB, SID_ATTR_METRIC, *rSet);
lcl_SelectMetricLB(*m_xHMetric, FN_HSCROLL_METRIC, *rSet);
lcl_SelectMetricLB(*m_xVMetric, FN_VSCROLL_METRIC, *rSet);
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index ba9c585d9d99..4c5734253d35 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -60,6 +60,7 @@ class SwContentOptPage final : public SfxTabPage
std::unique_ptr<weld::Label> m_xSettingsLabel;
std::unique_ptr<weld::Label> m_xMetricLabel;
std::unique_ptr<weld::ComboBox> m_xMetricLB;
+ std::unique_ptr<weld::Widget> m_xMetricImg;
std::unique_ptr<weld::CheckButton> m_xShowInlineTooltips;
std::unique_ptr<weld::Widget> m_xShowInlineTooltipsImg;
diff --git a/sw/uiconfig/swriter/ui/viewoptionspage.ui b/sw/uiconfig/swriter/ui/viewoptionspage.ui
index c527a16abbd0..7d1ba0354c27 100644
--- a/sw/uiconfig/swriter/ui/viewoptionspage.ui
+++ b/sw/uiconfig/swriter/ui/viewoptionspage.ui
@@ -734,7 +734,17 @@
</packing>
</child>
<child>
- <placeholder/>
+ <object class="GtkImage" id="lockmeasureunit">
+ <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>