summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 19:53:29 +0100
committerBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 21:04:20 +0100
commite797f291530fb7f4f6d86646b2fb805a1a78aa3f (patch)
tree65353ef30abf706593ce5ba221cd47831a7ddd31 /sw
parent1f94a89429c665104bdf21b5ac48171850fa5afb (diff)
tdf#158145 - UI: Part 37 - Unify lockdown behavior of Options dialog
for Writer/Web - Table Page. Change-Id: I3a8333684d1c4bfeea869581b33354385838111f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159795 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/config/optpage.cxx93
1 files changed, 60 insertions, 33 deletions
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 063d353da0ee..a2af6912b75a 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -1468,6 +1468,11 @@ bool SwTableOptionsTabPage::FillItemSet( SfxItemSet* )
void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
{
+ if (const SfxUInt16Item* pItem = rSet->GetItemIfSet(SID_HTML_MODE, false))
+ {
+ m_bHTMLMode = 0 != (pItem->GetValue() & HTMLMODE_ON);
+ }
+
const SwModuleOptions* pModOpt = SW_MOD()->GetModuleConfig();
if ( rSet->GetItemState( SID_ATTR_METRIC ) >= SfxItemState::DEFAULT )
{
@@ -1479,21 +1484,29 @@ void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
::SetFieldUnit( *m_xColInsertMF, eFieldUnit );
}
+ bool bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Shift::Row::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Shift::Row::isReadOnly();
m_xRowMoveMF->set_value(m_xRowMoveMF->normalize(pModOpt->GetTableHMove()), FieldUnit::TWIP);
- m_xRowMoveMF->set_sensitive(!officecfg::Office::Writer::Table::Shift::Row::isReadOnly());
- m_xRowMoveImg->set_visible(officecfg::Office::Writer::Table::Shift::Row::isReadOnly());
+ m_xRowMoveMF->set_sensitive(!bReadOnly);
+ m_xRowMoveImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Shift::Column::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Shift::Column::isReadOnly();
m_xColMoveMF->set_value(m_xColMoveMF->normalize(pModOpt->GetTableVMove()), FieldUnit::TWIP);
- m_xColMoveMF->set_sensitive(!officecfg::Office::Writer::Table::Shift::Column::isReadOnly());
- m_xColMoveImg->set_visible(officecfg::Office::Writer::Table::Shift::Column::isReadOnly());
+ m_xColMoveMF->set_sensitive(!bReadOnly);
+ m_xColMoveImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Insert::Row::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Insert::Row::isReadOnly();
m_xRowInsertMF->set_value(m_xRowInsertMF->normalize(pModOpt->GetTableHInsert()), FieldUnit::TWIP);
- m_xRowInsertMF->set_sensitive(!officecfg::Office::Writer::Table::Insert::Row::isReadOnly());
- m_xRowInsertImg->set_visible(officecfg::Office::Writer::Table::Insert::Row::isReadOnly());
+ m_xRowInsertMF->set_sensitive(!bReadOnly);
+ m_xRowInsertImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Insert::Column::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Insert::Column::isReadOnly();
m_xColInsertMF->set_value(m_xColInsertMF->normalize(pModOpt->GetTableVInsert()), FieldUnit::TWIP);
- m_xColInsertMF->set_sensitive(!officecfg::Office::Writer::Table::Insert::Column::isReadOnly());
- m_xColInsertImg->set_visible(officecfg::Office::Writer::Table::Insert::Column::isReadOnly());
+ m_xColInsertMF->set_sensitive(!bReadOnly);
+ m_xColInsertImg->set_visible(bReadOnly);
switch(pModOpt->GetTableMode())
{
@@ -1501,10 +1514,6 @@ void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
case TableChgMode::FixedWidthChangeProp: m_xFixPropRB->set_active(true); break;
case TableChgMode::VarWidthChangeAbs: m_xVarRB->set_active(true); break;
}
- if(const SfxUInt16Item* pItem = rSet->GetItemIfSet(SID_HTML_MODE, false))
- {
- m_bHTMLMode = 0 != (pItem->GetValue() & HTMLMODE_ON);
- }
// hide certain controls for html
if (m_bHTMLMode)
@@ -1513,7 +1522,9 @@ void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
m_xDontSplitCB->hide();
}
- if (officecfg::Office::Writer::Table::Change::Effect::isReadOnly())
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Change::Effect::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Change::Effect::isReadOnly();
+ if (bReadOnly)
{
m_xFixRB->set_sensitive(false);
m_xFixPropRB->set_sensitive(false);
@@ -1524,33 +1535,45 @@ void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
SwInsertTableOptions aInsOpts = pModOpt->GetInsTableFlags(m_bHTMLMode);
const SwInsertTableFlags nInsTableFlags = aInsOpts.mnInsMode;
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Insert::Table::Header::isReadOnly() :
+ officecfg::Office::WriterWeb::Insert::Table::Header::isReadOnly();
m_xHeaderCB->set_active(bool(nInsTableFlags & SwInsertTableFlags::Headline));
- m_xHeaderCB->set_sensitive(!officecfg::Office::Writer::Insert::Table::Header::isReadOnly());
- m_xHeaderImg->set_visible(officecfg::Office::Writer::Insert::Table::Header::isReadOnly());
+ m_xHeaderCB->set_sensitive(!bReadOnly);
+ m_xHeaderImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Insert::Table::RepeatHeader::isReadOnly();
m_xRepeatHeaderCB->set_active((!m_bHTMLMode) && (aInsOpts.mnRowsToRepeat > 0));
- m_xRepeatHeaderCB->set_sensitive(!officecfg::Office::Writer::Insert::Table::RepeatHeader::isReadOnly());
- m_xRepeatHeaderImg->set_visible(officecfg::Office::Writer::Insert::Table::RepeatHeader::isReadOnly());
+ m_xRepeatHeaderCB->set_sensitive(!bReadOnly);
+ m_xRepeatHeaderImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Insert::Table::Split::isReadOnly();
m_xDontSplitCB->set_active(!(nInsTableFlags & SwInsertTableFlags::SplitLayout));
- m_xDontSplitCB->set_sensitive(!officecfg::Office::Writer::Insert::Table::Split::isReadOnly());
- m_xDontSplitImg->set_visible(officecfg::Office::Writer::Insert::Table::Split::isReadOnly());
+ m_xDontSplitCB->set_sensitive(!bReadOnly);
+ m_xDontSplitImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Insert::Table::Border::isReadOnly() :
+ officecfg::Office::WriterWeb::Insert::Table::Border::isReadOnly();
m_xBorderCB->set_active(bool(nInsTableFlags & SwInsertTableFlags::DefaultBorder));
- m_xBorderCB->set_sensitive(!officecfg::Office::Writer::Insert::Table::Border::isReadOnly());
- m_xBorderImg->set_visible(officecfg::Office::Writer::Insert::Table::Border::isReadOnly());
+ m_xBorderCB->set_sensitive(!bReadOnly);
+ m_xBorderImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Input::NumberRecognition::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Input::NumberRecognition::isReadOnly();
m_xNumFormattingCB->set_active(pModOpt->IsInsTableFormatNum(m_bHTMLMode));
- m_xNumFormattingCB->set_sensitive(!officecfg::Office::Writer::Table::Input::NumberRecognition::isReadOnly());
- m_xNumFormattingImg->set_visible(officecfg::Office::Writer::Table::Input::NumberRecognition::isReadOnly());
+ m_xNumFormattingCB->set_sensitive(!bReadOnly);
+ m_xNumFormattingImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Input::NumberFormatRecognition::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Input::NumberFormatRecognition::isReadOnly();
m_xNumFormatFormattingCB->set_active(pModOpt->IsInsTableChangeNumFormat(m_bHTMLMode));
- m_xNumFormatFormattingCB->set_sensitive(!officecfg::Office::Writer::Table::Input::NumberFormatRecognition::isReadOnly());
- m_xNumFormatFormattingImg->set_visible(officecfg::Office::Writer::Table::Input::NumberFormatRecognition::isReadOnly());
+ m_xNumFormatFormattingCB->set_sensitive(!bReadOnly);
+ m_xNumFormatFormattingImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Input::Alignment::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Input::Alignment::isReadOnly();
m_xNumAlignmentCB->set_active(pModOpt->IsInsTableAlignNum(m_bHTMLMode));
- m_xNumAlignmentCB->set_sensitive(!officecfg::Office::Writer::Table::Input::Alignment::isReadOnly());
- m_xNumAlignmentImg->set_visible(officecfg::Office::Writer::Table::Input::Alignment::isReadOnly());
+ m_xNumAlignmentCB->set_sensitive(!bReadOnly);
+ m_xNumAlignmentImg->set_visible(bReadOnly);
m_xHeaderCB->save_state();
m_xRepeatHeaderCB->save_state();
@@ -1569,12 +1592,16 @@ void SwTableOptionsTabPage::Reset( const SfxItemSet* rSet)
IMPL_LINK_NOARG(SwTableOptionsTabPage, CheckBoxHdl, weld::Toggleable&, void)
{
- m_xNumFormatFormattingCB->set_sensitive(m_xNumFormattingCB->get_active() &&
- !officecfg::Office::Writer::Table::Input::NumberFormatRecognition::isReadOnly());
- m_xNumAlignmentCB->set_sensitive(m_xNumFormattingCB->get_active() &&
- !officecfg::Office::Writer::Table::Input::Alignment::isReadOnly());
- m_xRepeatHeaderCB->set_sensitive(m_xHeaderCB->get_active() &&
- !officecfg::Office::Writer::Insert::Table::RepeatHeader::isReadOnly());
+ bool bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Input::NumberFormatRecognition::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Input::NumberFormatRecognition::isReadOnly();
+ m_xNumFormatFormattingCB->set_sensitive(m_xNumFormattingCB->get_active() && !bReadOnly);
+
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Table::Input::Alignment::isReadOnly() :
+ officecfg::Office::WriterWeb::Table::Input::Alignment::isReadOnly();
+ m_xNumAlignmentCB->set_sensitive(m_xNumFormattingCB->get_active() && !bReadOnly);
+
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Insert::Table::RepeatHeader::isReadOnly() : false;
+ m_xRepeatHeaderCB->set_sensitive(m_xHeaderCB->get_active() && !bReadOnly);
}
void SwTableOptionsTabPage::PageCreated( const SfxAllItemSet& aSet)