summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 16:31:00 +0100
committerBalazs Varga <balazs.varga.extern@allotropia.de>2023-11-21 21:04:01 +0100
commit1f94a89429c665104bdf21b5ac48171850fa5afb (patch)
treed723018f81de61a196636fd7ef0248ef0d40c688 /sw
parentb4350fd9c3f1873ead892c6baeb7f7c0fc1c7d80 (diff)
tdf#158144 - UI: Part 36 - Unify lockdown behavior of Options dialog
for Writer/Web - Print Page. Change-Id: I1fb2f52966843297fcb415c02946d7ce38097332 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159788 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/config/optpage.cxx97
-rw-r--r--sw/source/uibase/inc/optpage.hxx1
2 files changed, 63 insertions, 35 deletions
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 7062a68716c8..063d353da0ee 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -415,6 +415,7 @@ SwAddPrinterTabPage::SwAddPrinterTabPage(weld::Container* pPage, weld::DialogCon
, m_sNone(SwResId(SW_STR_NONE))
, m_bAttrModified(false)
, m_bPreview(false)
+ , m_bHTMLMode(false)
, m_xGrfCB(m_xBuilder->weld_check_button("graphics"))
, m_xGrfImg(m_xBuilder->weld_widget("lockgraphics"))
, m_xCtrlFieldCB(m_xBuilder->weld_check_button("formcontrols"))
@@ -473,6 +474,7 @@ SwAddPrinterTabPage::SwAddPrinterTabPage(weld::Container* pPage, weld::DialogCon
const SfxUInt16Item* pItem = rCoreSet.GetItemIfSet(SID_HTML_MODE, false );
if(pItem && pItem->GetValue() & HTMLMODE_ON)
{
+ m_bHTMLMode = true;
m_xLeftPageCB->hide();
m_xRightPageCB->hide();
m_xPrintHiddenTextCB->hide();
@@ -577,56 +579,76 @@ bool SwAddPrinterTabPage::FillItemSet( SfxItemSet* rCoreSet )
void SwAddPrinterTabPage::Reset( const SfxItemSet* )
{
const SfxItemSet& rSet = GetItemSet();
+ bool bReadOnly = false;
if( const SwAddPrinterItem* pAddPrinterAttr = rSet.GetItemIfSet( FN_PARAM_ADDPRINTER , false ) )
{
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Content::Graphic::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Content::Graphic::isReadOnly();
m_xGrfCB->set_active(pAddPrinterAttr->m_bPrintGraphic || pAddPrinterAttr->m_bPrintDraw);
- m_xGrfCB->set_sensitive(!officecfg::Office::Writer::Print::Content::Graphic::isReadOnly());
- m_xGrfImg->set_visible(officecfg::Office::Writer::Print::Content::Graphic::isReadOnly());
+ m_xGrfCB->set_sensitive(!bReadOnly);
+ m_xGrfImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Content::Control::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Content::Control::isReadOnly();
m_xCtrlFieldCB->set_active( pAddPrinterAttr->m_bPrintControl);
- m_xCtrlFieldCB->set_sensitive(!officecfg::Office::Writer::Print::Content::Control::isReadOnly());
- m_xCtrlFieldImg->set_visible(officecfg::Office::Writer::Print::Content::Control::isReadOnly());
+ m_xCtrlFieldCB->set_sensitive(!bReadOnly);
+ m_xCtrlFieldImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Content::Background::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Content::Background::isReadOnly();
m_xBackgroundCB->set_active( pAddPrinterAttr->m_bPrintPageBackground);
- m_xBackgroundCB->set_sensitive(!officecfg::Office::Writer::Print::Content::Background::isReadOnly());
- m_xBackgroundImg->set_visible(officecfg::Office::Writer::Print::Content::Background::isReadOnly());
+ m_xBackgroundCB->set_sensitive(!bReadOnly);
+ m_xBackgroundImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Content::PrintBlack::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Content::PrintBlack::isReadOnly();
m_xBlackFontCB->set_active( pAddPrinterAttr->m_bPrintBlackFont);
- m_xBlackFontCB->set_sensitive(!officecfg::Office::Writer::Print::Content::PrintBlack::isReadOnly());
- m_xBlackFontImg->set_visible(officecfg::Office::Writer::Print::Content::PrintBlack::isReadOnly());
+ m_xBlackFontCB->set_sensitive(!bReadOnly);
+ m_xBlackFontImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Print::Content::PrintHiddenText::isReadOnly();
m_xPrintHiddenTextCB->set_active( pAddPrinterAttr->m_bPrintHiddenText);
- m_xPrintHiddenTextCB->set_sensitive(!officecfg::Office::Writer::Print::Content::PrintHiddenText::isReadOnly());
- m_xPrintHiddenTextImg->set_visible(officecfg::Office::Writer::Print::Content::PrintHiddenText::isReadOnly());
+ m_xPrintHiddenTextCB->set_sensitive(!bReadOnly);
+ m_xPrintHiddenTextImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Print::Content::PrintPlaceholders::isReadOnly();
m_xPrintTextPlaceholderCB->set_active(pAddPrinterAttr->m_bPrintTextPlaceholder);
- m_xPrintTextPlaceholderCB->set_sensitive(!officecfg::Office::Writer::Print::Content::PrintPlaceholders::isReadOnly());
- m_xPrintTextPlaceholderImg->set_visible(officecfg::Office::Writer::Print::Content::PrintPlaceholders::isReadOnly());
+ m_xPrintTextPlaceholderCB->set_sensitive(!bReadOnly);
+ m_xPrintTextPlaceholderImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Print::Page::LeftPage::isReadOnly();
m_xLeftPageCB->set_active( pAddPrinterAttr->m_bPrintLeftPages);
- m_xLeftPageCB->set_sensitive(!officecfg::Office::Writer::Print::Page::LeftPage::isReadOnly());
- m_xLeftPageImg->set_visible(officecfg::Office::Writer::Print::Page::LeftPage::isReadOnly());
+ m_xLeftPageCB->set_sensitive(!bReadOnly);
+ m_xLeftPageImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Print::Page::RightPage::isReadOnly();
m_xRightPageCB->set_active( pAddPrinterAttr->m_bPrintRightPages);
- m_xRightPageCB->set_sensitive(!officecfg::Office::Writer::Print::Page::RightPage::isReadOnly());
- m_xRightPageImg->set_visible(officecfg::Office::Writer::Print::Page::RightPage::isReadOnly());
+ m_xRightPageCB->set_sensitive(!bReadOnly);
+ m_xRightPageImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Papertray::FromPrinterSetup::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Papertray::FromPrinterSetup::isReadOnly();
m_xPaperFromSetupCB->set_active(pAddPrinterAttr->m_bPaperFromSetup);
- m_xPaperFromSetupCB->set_sensitive(!officecfg::Office::Writer::Print::Papertray::FromPrinterSetup::isReadOnly());
- m_xPaperFromSetupImg->set_visible(officecfg::Office::Writer::Print::Papertray::FromPrinterSetup::isReadOnly());
+ m_xPaperFromSetupCB->set_sensitive(!bReadOnly);
+ m_xPaperFromSetupImg->set_visible(bReadOnly);
+ bReadOnly = officecfg::Office::Writer::Print::EmptyPages::isReadOnly();
m_xPrintEmptyPagesCB->set_active(pAddPrinterAttr->m_bPrintEmptyPages);
- m_xPrintEmptyPagesCB->set_sensitive(!officecfg::Office::Writer::Print::EmptyPages::isReadOnly());
- m_xPrintEmptyPagesImg->set_visible(officecfg::Office::Writer::Print::EmptyPages::isReadOnly());
+ m_xPrintEmptyPagesCB->set_sensitive(!bReadOnly);
+ m_xPrintEmptyPagesImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Page::Brochure::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Page::Brochure::isReadOnly();
m_xProspectCB->set_active( pAddPrinterAttr->m_bPrintProspect);
- m_xProspectCB->set_sensitive(!officecfg::Office::Writer::Print::Page::Brochure::isReadOnly());
- m_xProspectImg->set_visible(officecfg::Office::Writer::Print::Page::Brochure::isReadOnly());
+ m_xProspectCB->set_sensitive(!bReadOnly);
+ m_xProspectImg->set_visible(bReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Page::BrochureRightToLeft::isReadOnly();
m_xProspectCB_RTL->set_active( pAddPrinterAttr->m_bPrintProspectRTL);
- m_xProspectCB_RTL->set_sensitive(!officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly());
- m_xProspectImg_RTL->set_visible(officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly());
+ m_xProspectCB_RTL->set_sensitive(!bReadOnly);
+ m_xProspectImg_RTL->set_visible(bReadOnly);
m_xNoRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::NONE ) ;
m_xOnlyRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::Only ) ;
@@ -634,13 +656,14 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet* )
m_xEndPageRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::EndPage ) ;
m_xInMarginsRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::InMargins ) ;
- bool bNotesReadOnly = officecfg::Office::Writer::Print::Content::Note::isReadOnly();
- m_xNoRB->set_sensitive(!bNotesReadOnly);
- m_xOnlyRB->set_sensitive(!bNotesReadOnly);
- m_xEndRB->set_sensitive(!bNotesReadOnly);
- m_xEndPageRB->set_sensitive(!bNotesReadOnly);
- m_xInMarginsRB->set_sensitive(!bNotesReadOnly);
- m_xMarginsImg->set_visible(bNotesReadOnly);
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Content::Note::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Content::Note::isReadOnly();
+ m_xNoRB->set_sensitive(!bReadOnly);
+ m_xOnlyRB->set_sensitive(!bReadOnly);
+ m_xEndRB->set_sensitive(!bReadOnly);
+ m_xEndPageRB->set_sensitive(!bReadOnly);
+ m_xInMarginsRB->set_sensitive(!bReadOnly);
+ m_xMarginsImg->set_visible(bReadOnly);
auto nFound = m_xFaxLB->find_text(pAddPrinterAttr->m_sFaxName);
if (nFound != -1)
@@ -648,12 +671,16 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet* )
else if (m_xFaxLB->get_count())
m_xFaxLB->set_active(0);
- m_xFaxLB->set_sensitive(!officecfg::Office::Writer::Print::Output::Fax::isReadOnly());
- m_xFaxImg->set_visible(officecfg::Office::Writer::Print::Output::Fax::isReadOnly());
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Output::Fax::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Output::Fax::isReadOnly();
+ m_xFaxLB->set_sensitive(!bReadOnly);
+ m_xFaxImg->set_visible(bReadOnly);
}
+ bReadOnly = !m_bHTMLMode ? officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly() :
+ officecfg::Office::WriterWeb::Print::Page::BrochureRightToLeft::isReadOnly();
if (m_xProspectCB->get_active())
{
- m_xProspectCB_RTL->set_sensitive(!officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly());
+ m_xProspectCB_RTL->set_sensitive(!bReadOnly);
m_xNoRB->set_sensitive( false );
m_xOnlyRB->set_sensitive( false );
m_xEndRB->set_sensitive( false );
@@ -662,7 +689,7 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet* )
else
m_xProspectCB_RTL->set_sensitive( false );
- m_xProspectImg_RTL->set_visible(officecfg::Office::Writer::Print::Page::BrochureRightToLeft::isReadOnly());
+ m_xProspectImg_RTL->set_visible(bReadOnly);
}
IMPL_LINK_NOARG(SwAddPrinterTabPage, AutoClickHdl, weld::Toggleable&, void)
diff --git a/sw/source/uibase/inc/optpage.hxx b/sw/source/uibase/inc/optpage.hxx
index 949861f37101..e2641fd7fc2b 100644
--- a/sw/source/uibase/inc/optpage.hxx
+++ b/sw/source/uibase/inc/optpage.hxx
@@ -95,6 +95,7 @@ class SwAddPrinterTabPage final : public SfxTabPage
OUString m_sNone;
bool m_bAttrModified;
bool m_bPreview;
+ bool m_bHTMLMode;
std::unique_ptr<weld::CheckButton> m_xGrfCB;
std::unique_ptr<weld::Widget> m_xGrfImg;