cui/source/options/opthtml.cxx          |   89 ++++---
 dbaccess/source/ui/misc/TokenWriter.cxx |    3 
 include/svtools/htmlcfg.hxx             |   58 ----
 sc/source/filter/html/htmlexp.cxx       |    8 
 sc/source/filter/html/htmlpars.cxx      |   11 
 sc/source/filter/rtf/eeimpars.cxx       |    4 
 svtools/source/config/htmlcfg.cxx       |  406 ++++----------------------------
 sw/qa/extras/htmlexport/htmlexport.cxx  |    7 
 sw/source/filter/html/swhtml.cxx        |   20 -
 sw/source/filter/html/wrthtml.cxx       |   27 +-
 sw/source/ui/chrdlg/pardlg.cxx          |    3 
 sw/source/ui/dbui/mmresultdialogs.cxx   |    3 
 sw/source/ui/dialog/uiregionsw.cxx      |    6 
 sw/source/ui/fmtui/tmpdlg.cxx           |    3 
 sw/source/ui/table/tabledlg.cxx         |    3 
 sw/source/uibase/app/docsh.cxx          |    5 
 sw/source/uibase/app/docsh2.cxx         |    4 
 sw/source/uibase/app/docst.cxx          |    3 
 sw/source/uibase/config/viewopt.cxx     |    3 
 sw/source/uibase/dbui/dbmgr.cxx         |    3 
 sw/source/uibase/shells/textsh.cxx      |    6 
 sw/source/uibase/uiview/srcview.cxx     |    6 
 22 files changed, 176 insertions(+), 505 deletions(-)

New commits:
commit da9bba7cc3c243e936daea689fea64ecaf110f35
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Mon Jul 26 10:10:17 2021 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Jul 26 15:12:40 2021 +0200

    use officecfg for SvxHtmlOptions
    
    Change-Id: Ie7db7d20509e45fd87d8460c7fae6c0131e0a1f0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119494
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/cui/source/options/opthtml.cxx b/cui/source/options/opthtml.cxx
index 7c9e15aa8704..5fb93652b9a9 100644
--- a/cui/source/options/opthtml.cxx
+++ b/cui/source/options/opthtml.cxx
@@ -19,6 +19,8 @@
 
 #include <svtools/langtab.hxx>
 #include <svtools/htmlcfg.hxx>
+#include <comphelper/configuration.hxx>
+#include <officecfg/Office/Common.hxx>
 #include "opthtml.hxx"
 
 
@@ -72,68 +74,83 @@ std::unique_ptr<SfxTabPage> OfaHtmlTabPage::Create( 
weld::Container* pPage, weld
 
 bool OfaHtmlTabPage::FillItemSet( SfxItemSet* )
 {
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
+    std::shared_ptr<comphelper::ConfigurationChanges> xChanges = 
comphelper::ConfigurationChanges::create();
     if(m_xSize1NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(0, 
static_cast<sal_uInt16>(m_xSize1NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::set(
+            static_cast<sal_uInt16>(m_xSize1NF->get_value()), xChanges);
     if(m_xSize2NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(1, 
static_cast<sal_uInt16>(m_xSize2NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::set(
+            static_cast<sal_uInt16>(m_xSize2NF->get_value()), xChanges);
     if(m_xSize3NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(2, 
static_cast<sal_uInt16>(m_xSize3NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::set(
+            static_cast<sal_uInt16>(m_xSize3NF->get_value()), xChanges);
     if(m_xSize4NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(3, 
static_cast<sal_uInt16>(m_xSize4NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::set(
+            static_cast<sal_uInt16>(m_xSize4NF->get_value()), xChanges);
     if(m_xSize5NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(4, 
static_cast<sal_uInt16>(m_xSize5NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::set(
+            static_cast<sal_uInt16>(m_xSize5NF->get_value()), xChanges);
     if(m_xSize6NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(5, 
static_cast<sal_uInt16>(m_xSize6NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::set(
+            static_cast<sal_uInt16>(m_xSize6NF->get_value()), xChanges);
     if(m_xSize7NF->get_value_changed_from_saved())
-        rHtmlOpt.SetFontSize(6, 
static_cast<sal_uInt16>(m_xSize7NF->get_value()));
+        officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::set(
+            static_cast<sal_uInt16>(m_xSize7NF->get_value()), xChanges);
 
     if(m_xNumbersEnglishUSCB->get_state_changed_from_saved())
-        rHtmlOpt.SetNumbersEnglishUS(m_xNumbersEnglishUSCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Import::NumbersEnglishUS::set(
+            m_xNumbersEnglishUSCB->get_active(), xChanges);
 
     if(m_xUnknownTagCB->get_state_changed_from_saved())
-        rHtmlOpt.SetImportUnknown(m_xUnknownTagCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Import::UnknownTag::set(
+            m_xUnknownTagCB->get_active(), xChanges);
 
     if(m_xIgnoreFontNamesCB->get_state_changed_from_saved())
-        rHtmlOpt.SetIgnoreFontFamily(m_xIgnoreFontNamesCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Import::FontSetting::set(
+            m_xIgnoreFontNamesCB->get_active(), xChanges);
 
     if(m_xStarBasicCB->get_state_changed_from_saved())
-        rHtmlOpt.SetStarBasic(m_xStarBasicCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Export::Basic::set(
+            m_xStarBasicCB->get_active(), xChanges);
 
     if(m_xStarBasicWarningCB->get_state_changed_from_saved())
-        rHtmlOpt.SetStarBasicWarning(m_xStarBasicWarningCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Export::Warning::set(
+            m_xStarBasicWarningCB->get_active(), xChanges);
 
     if(m_xSaveGrfLocalCB->get_state_changed_from_saved())
-        rHtmlOpt.SetSaveGraphicsLocal(m_xSaveGrfLocalCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Export::LocalGraphic::set(
+            m_xSaveGrfLocalCB->get_active(), xChanges);
 
     if(m_xPrintExtensionCB->get_state_changed_from_saved())
-        rHtmlOpt.SetPrintLayoutExtension(m_xPrintExtensionCB->get_active());
+        officecfg::Office::Common::Filter::HTML::Export::PrintLayout::set(
+            m_xPrintExtensionCB->get_active(), xChanges);
 
-    if( m_xCharSetLB->GetSelectTextEncoding() != rHtmlOpt.GetTextEncoding() )
-        rHtmlOpt.SetTextEncoding( m_xCharSetLB->GetSelectTextEncoding() );
+    if( m_xCharSetLB->GetSelectTextEncoding() != 
SvxHtmlOptions::GetTextEncoding() )
+        officecfg::Office::Common::Filter::HTML::Export::Encoding::set(
+            m_xCharSetLB->GetSelectTextEncoding(), xChanges );
 
+    xChanges->commit();
     return false;
 }
 
 void OfaHtmlTabPage::Reset( const SfxItemSet* )
 {
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-    m_xSize1NF->set_value(rHtmlOpt.GetFontSize(0));
-    m_xSize2NF->set_value(rHtmlOpt.GetFontSize(1));
-    m_xSize3NF->set_value(rHtmlOpt.GetFontSize(2));
-    m_xSize4NF->set_value(rHtmlOpt.GetFontSize(3));
-    m_xSize5NF->set_value(rHtmlOpt.GetFontSize(4));
-    m_xSize6NF->set_value(rHtmlOpt.GetFontSize(5));
-    m_xSize7NF->set_value(rHtmlOpt.GetFontSize(6));
-    m_xNumbersEnglishUSCB->set_active(rHtmlOpt.IsNumbersEnglishUS());
-    m_xUnknownTagCB->set_active(rHtmlOpt.IsImportUnknown());
-    m_xIgnoreFontNamesCB->set_active(rHtmlOpt.IsIgnoreFontFamily());
-
-    m_xStarBasicCB->set_active(rHtmlOpt.IsStarBasic());
-    m_xStarBasicWarningCB->set_active(rHtmlOpt.IsStarBasicWarning());
+    
m_xSize1NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::get());
+    
m_xSize2NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::get());
+    
m_xSize3NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::get());
+    
m_xSize4NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::get());
+    
m_xSize5NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::get());
+    
m_xSize6NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::get());
+    
m_xSize7NF->set_value(officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::get());
+    
m_xNumbersEnglishUSCB->set_active(officecfg::Office::Common::Filter::HTML::Import::NumbersEnglishUS::get());
+    
m_xUnknownTagCB->set_active(officecfg::Office::Common::Filter::HTML::Import::UnknownTag::get());
+    
m_xIgnoreFontNamesCB->set_active(officecfg::Office::Common::Filter::HTML::Import::FontSetting::get());
+
+    
m_xStarBasicCB->set_active(officecfg::Office::Common::Filter::HTML::Export::Basic::get());
+    
m_xStarBasicWarningCB->set_active(officecfg::Office::Common::Filter::HTML::Export::Warning::get());
     m_xStarBasicWarningCB->set_sensitive(!m_xStarBasicCB->get_active());
-    m_xSaveGrfLocalCB->set_active(rHtmlOpt.IsSaveGraphicsLocal());
-    m_xPrintExtensionCB->set_active(rHtmlOpt.IsPrintLayoutExtension());
+    
m_xSaveGrfLocalCB->set_active(officecfg::Office::Common::Filter::HTML::Export::LocalGraphic::get());
+    m_xPrintExtensionCB->set_active(SvxHtmlOptions::IsPrintLayoutExtension());
 
     m_xPrintExtensionCB->save_state();
     m_xStarBasicCB->save_state();
@@ -150,9 +167,9 @@ void OfaHtmlTabPage::Reset( const SfxItemSet* )
     m_xUnknownTagCB->save_state();
     m_xIgnoreFontNamesCB->save_state();
 
-    if( !rHtmlOpt.IsDefaultTextEncoding() &&
-        m_xCharSetLB->GetSelectTextEncoding() != rHtmlOpt.GetTextEncoding() )
-        m_xCharSetLB->SelectTextEncoding( rHtmlOpt.GetTextEncoding() );
+    if( !SvxHtmlOptions::IsDefaultTextEncoding() &&
+        m_xCharSetLB->GetSelectTextEncoding() != 
SvxHtmlOptions::GetTextEncoding() )
+        m_xCharSetLB->SelectTextEncoding( SvxHtmlOptions::GetTextEncoding() );
 }
 
 IMPL_LINK(OfaHtmlTabPage, CheckBoxHdl_Impl, weld::Toggleable&, rBox, void)
diff --git a/dbaccess/source/ui/misc/TokenWriter.cxx 
b/dbaccess/source/ui/misc/TokenWriter.cxx
index 174a2d4e4ea7..52a222ebe797 100644
--- a/dbaccess/source/ui/misc/TokenWriter.cxx
+++ b/dbaccess/source/ui/misc/TokenWriter.cxx
@@ -585,8 +585,7 @@ OHTMLImportExport::OHTMLImportExport(const 
svx::ODataAccessDescriptor& _aDataDes
 #endif
 {
     // set HTML configuration
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-    m_eDestEnc = rHtmlOptions.GetTextEncoding();
+    m_eDestEnc = SvxHtmlOptions::GetTextEncoding();
     strncpy( sIndent, sIndentSource 
,std::min(sizeof(sIndent),sizeof(sIndentSource)));
     sIndent[0] = 0;
 }
diff --git a/include/svtools/htmlcfg.hxx b/include/svtools/htmlcfg.hxx
index e9189574cec6..19baf09e656d 100644
--- a/include/svtools/htmlcfg.hxx
+++ b/include/svtools/htmlcfg.hxx
@@ -18,66 +18,30 @@
  */
 #pragma once
 
-#include <unotools/configitem.hxx>
 #include <svtools/svtdllapi.h>
-#include <memory>
+#include <rtl/textenc.h>
 
 #define HTML_FONT_COUNT 7
 
 // !!!be aware!!!: the following defines are _not_ used as values in the 
configuration file
 //                  this is because of compatibility reasons
-#define HTML_CFG_MSIE       1   // Internet Explorer
-#define HTML_CFG_WRITER     2   // Writer
-#define HTML_CFG_NS40       3   // Netscape 4.0
+#define HTML_CFG_MSIE 1 // Internet Explorer
+#define HTML_CFG_WRITER 2 // Writer
+#define HTML_CFG_NS40 3 // Netscape 4.0
 
 #define HTML_CFG_MAX HTML_CFG_NS40
 
-struct HtmlOptions_Impl;
-
-class SVT_DLLPUBLIC SvxHtmlOptions final : public utl::ConfigItem
+namespace SvxHtmlOptions
 {
-    std::unique_ptr<HtmlOptions_Impl>   pImpl;
-    static const css::uno::Sequence<OUString>& GetPropertyNames();
-    void Load( const css::uno::Sequence< OUString >& rPropertyNames );
-
-    virtual void    ImplCommit() override;
-
-public:
-    SvxHtmlOptions();
-    virtual ~SvxHtmlOptions() override;
-
-    virtual void Notify( const css::uno::Sequence< OUString >& 
_rPropertyNames) override;
-
-    sal_uInt16      GetFontSize(sal_uInt16 nPos) const;
-    void        SetFontSize(sal_uInt16 nPos, sal_uInt16 nSize);
-
-    bool        IsImportUnknown() const;
-    void        SetImportUnknown(bool bSet);
-
-    sal_uInt16  GetExportMode() const;
-
-    bool        IsStarBasic() const;
-    void        SetStarBasic(bool bSet);
-
-    bool        IsStarBasicWarning() const;
-    void        SetStarBasicWarning(bool bSet);
-
-    bool        IsSaveGraphicsLocal() const;
-    void        SetSaveGraphicsLocal(bool bSet);
-
-    bool        IsPrintLayoutExtension() const;
-    void        SetPrintLayoutExtension(bool bSet);
+SVT_DLLPUBLIC sal_uInt16 GetFontSize(sal_uInt16 nPos);
 
-    bool        IsIgnoreFontFamily() const;
-    void        SetIgnoreFontFamily(bool bSet);
+SVT_DLLPUBLIC sal_uInt16 GetExportMode();
 
-    bool        IsDefaultTextEncoding() const;
-    rtl_TextEncoding GetTextEncoding() const;
-    void        SetTextEncoding( rtl_TextEncoding );
-    static SvxHtmlOptions& Get();
+SVT_DLLPUBLIC bool IsPrintLayoutExtension();
 
-    bool        IsNumbersEnglishUS() const;
-    void        SetNumbersEnglishUS(bool bSet);
+SVT_DLLPUBLIC bool IsDefaultTextEncoding();
+SVT_DLLPUBLIC rtl_TextEncoding GetTextEncoding();
+SVT_DLLPUBLIC void SetTextEncoding(rtl_TextEncoding);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/html/htmlexp.cxx 
b/sc/source/filter/html/htmlexp.cxx
index de0f438d2640..d48598fd47c4 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -82,6 +82,7 @@
 #include <com/sun/star/document/XDocumentProperties.hpp>
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <rtl/strbuf.hxx>
+#include <officecfg/Office/Common.hxx>
 
 using ::editeng::SvxBorderLine;
 using namespace ::com::sun::star;
@@ -213,9 +214,8 @@ ScHTMLExport::ScHTMLExport( SvStream& rStrmP, const 
OUString& rBaseURL, ScDocume
     sIndent[0] = 0;
 
     // set HTML configuration
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-    eDestEnc = (pDoc->IsClipOrUndo() ? RTL_TEXTENCODING_UTF8 : 
rHtmlOptions.GetTextEncoding());
-    bCopyLocalFileToINet = rHtmlOptions.IsSaveGraphicsLocal();
+    eDestEnc = (pDoc->IsClipOrUndo() ? RTL_TEXTENCODING_UTF8 : 
SvxHtmlOptions::GetTextEncoding());
+    bCopyLocalFileToINet = 
officecfg::Office::Common::Filter::HTML::Export::LocalGraphic::get();
 
     if (rFilterOptions == u"SkipImages")
     {
@@ -228,7 +228,7 @@ ScHTMLExport::ScHTMLExport( SvStream& rStrmP, const 
OUString& rBaseURL, ScDocume
 
     for ( sal_uInt16 j=0; j < SC_HTML_FONTSIZES; j++ )
     {
-        sal_uInt16 nSize = rHtmlOptions.GetFontSize( j );
+        sal_uInt16 nSize = SvxHtmlOptions::GetFontSize( j );
         // remember in Twips, like our SvxFontHeightItem
         if ( nSize )
             nFontSize[j] = nSize * 20;
diff --git a/sc/source/filter/html/htmlpars.cxx 
b/sc/source/filter/html/htmlpars.cxx
index e320269352ed..774de028c1da 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -63,6 +63,7 @@
 #include <com/sun/star/frame/XModel.hpp>
 #include <numeric>
 #include <utility>
+#include <officecfg/Office/Common.hxx>
 
 using ::editeng::SvxBorderLine;
 using namespace ::com::sun::star;
@@ -186,9 +187,13 @@ ScHTMLParser::ScHTMLParser( EditEngine* pEditEngine, 
ScDocument* pDoc ) :
     ScEEParser( pEditEngine ),
     mpDoc( pDoc )
 {
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-    for( sal_uInt16 nIndex = 0; nIndex < SC_HTML_FONTSIZES; ++nIndex )
-        maFontHeights[ nIndex ] = rHtmlOptions.GetFontSize( nIndex ) * 20;
+    maFontHeights[0] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::get();
+    maFontHeights[1] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::get();
+    maFontHeights[2] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::get();
+    maFontHeights[3] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::get();
+    maFontHeights[4] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::get();
+    maFontHeights[5] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::get();
+    maFontHeights[6] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::get();
 }
 
 ScHTMLParser::~ScHTMLParser()
diff --git a/sc/source/filter/rtf/eeimpars.cxx 
b/sc/source/filter/rtf/eeimpars.cxx
index b4aee6644918..20857fe88350 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -35,6 +35,7 @@
 #include <unotools/charclass.hxx>
 #include <comphelper/string.hxx>
 #include <osl/diagnose.h>
+#include <officecfg/Office/Common.hxx>
 
 #include <eeimport.hxx>
 #include <global.hxx>
@@ -137,8 +138,7 @@ void ScEEImport::WriteToDocument( bool bSizeColsRows, 
double nOutputFactor, SvNu
     if (pFormatter->GetLanguage() == LANGUAGE_SYSTEM)
     {
         // Automatic language option selected.  Check for the global 'use US 
English' option.
-        SvxHtmlOptions aOpt;
-        bNumbersEnglishUS = aOpt.IsNumbersEnglishUS();
+        bNumbersEnglishUS = 
officecfg::Office::Common::Filter::HTML::Import::NumbersEnglishUS::get();
     }
     ScDocumentPool* pDocPool = mpDoc->GetPool();
     ScRangeName* pRangeNames = mpDoc->GetRangeName();
diff --git a/svtools/source/config/htmlcfg.cxx 
b/svtools/source/config/htmlcfg.cxx
index fbd7f57e282f..8835b132bf05 100644
--- a/svtools/source/config/htmlcfg.cxx
+++ b/svtools/source/config/htmlcfg.cxx
@@ -19,397 +19,97 @@
 
 #include <sal/config.h>
 
-#include <o3tl/any.hxx>
 #include <osl/thread.h>
 #include <svtools/htmlcfg.hxx>
 #include <svtools/parhtml.hxx>
 #include <unotools/syslocale.hxx>
 #include <tools/debug.hxx>
-#include <rtl/instance.hxx>
-#include <o3tl/typed_flags_set.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
+#include <officecfg/Office/Common.hxx>
 
-namespace {
-
-enum class HtmlCfgFlags {
-    NONE                  = 0x000,
-    UnknownTags           = 0x001,
-    StarBasic             = 0x008,
-    LocalGrf              = 0x010,
-    PrintLayoutExtension  = 0x020,
-    IgnoreFontFamily      = 0x040,
-    IsBasicWarning        = 0x080,
-    NumbersEnglishUS      = 0x100,
-};
-
-}
-
-namespace o3tl {
-    template<> struct typed_flags<HtmlCfgFlags> : is_typed_flags<HtmlCfgFlags, 
0x1f9> {};
-}
-
-using namespace utl;
-using namespace com::sun::star::uno;
-
-
-struct HtmlOptions_Impl
+namespace SvxHtmlOptions
 {
-    HtmlCfgFlags nFlags;
-    sal_Int32    nExportMode;
-    sal_Int32    aFontSizeArr[HTML_FONT_COUNT];
-    sal_Int32    eEncoding;
-    bool         bIsEncodingDefault;
-
-    HtmlOptions_Impl() :
-        nFlags(HtmlCfgFlags::LocalGrf|HtmlCfgFlags::IsBasicWarning),
-        nExportMode(HTML_CFG_NS40),
-        eEncoding( osl_getThreadTextEncoding() ),
-        bIsEncodingDefault(true)
-    {
-        aFontSizeArr[0] = HTMLFONTSZ1_DFLT;
-        aFontSizeArr[1] = HTMLFONTSZ2_DFLT;
-        aFontSizeArr[2] = HTMLFONTSZ3_DFLT;
-        aFontSizeArr[3] = HTMLFONTSZ4_DFLT;
-        aFontSizeArr[4] = HTMLFONTSZ5_DFLT;
-        aFontSizeArr[5] = HTMLFONTSZ6_DFLT;
-        aFontSizeArr[6] = HTMLFONTSZ7_DFLT;
-    }
-};
-
-const Sequence<OUString>& SvxHtmlOptions::GetPropertyNames()
+sal_uInt16 GetFontSize(sal_uInt16 nPos)
 {
-    static Sequence<OUString> const aNames
+    switch (nPos)
     {
-            "Import/UnknownTag",                    //  0
-            "Import/FontSetting",                   //  1
-            "Import/FontSize/Size_1",               //  2
-            "Import/FontSize/Size_2",               //  3
-            "Import/FontSize/Size_3",               //  4
-            "Import/FontSize/Size_4",               //  5
-            "Import/FontSize/Size_5",               //  6
-            "Import/FontSize/Size_6",               //  7
-            "Import/FontSize/Size_7",               //  8
-            "Export/Browser",                       //  9
-            "Export/Basic",                         //  0
-            "Export/PrintLayout",                   // 11
-            "Export/LocalGraphic",                  // 12
-            "Export/Warning",                       // 13
-            "Export/Encoding",                      // 14
-            "Import/NumbersEnglishUS"               // 15
-    };
-    return aNames;
-}
-
-SvxHtmlOptions::SvxHtmlOptions() :
-    ConfigItem("Office.Common/Filter/HTML"),
-    pImpl( new HtmlOptions_Impl )
-{
-    Load( GetPropertyNames() );
-}
-
-
-SvxHtmlOptions::~SvxHtmlOptions()
-{
-}
-
-void SvxHtmlOptions::Load( const Sequence< OUString >& aNames )
-{
-    Sequence<Any> aValues = GetProperties(aNames);
-    const Any* pValues = aValues.getConstArray();
-    DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties 
failed");
-    if(aValues.getLength() != aNames.getLength())
-        return;
-
-    pImpl->nFlags = HtmlCfgFlags::NONE;
-    for(int nProp = 0; nProp < aNames.getLength(); nProp++)
-    {
-        if(pValues[nProp].hasValue())
-        {
-            switch(nProp)
-            {
-                case  0:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::UnknownTags;
-                break;//"Import/UnknownTag",
-                case  1:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::IgnoreFontFamily;
-                break;//"Import/FontSetting",
-                case  2: pValues[nProp] >>= pImpl->aFontSizeArr[0]; 
break;//"Import/FontSize/Size_1",
-                case  3: pValues[nProp] >>= pImpl->aFontSizeArr[1]; 
break;//"Import/FontSize/Size_2",
-                case  4: pValues[nProp] >>= pImpl->aFontSizeArr[2]; 
break;//"Import/FontSize/Size_3",
-                case  5: pValues[nProp] >>= pImpl->aFontSizeArr[3]; 
break;//"Import/FontSize/Size_4",
-                case  6: pValues[nProp] >>= pImpl->aFontSizeArr[4]; 
break;//"Import/FontSize/Size_5",
-                case  7: pValues[nProp] >>= pImpl->aFontSizeArr[5]; 
break;//"Import/FontSize/Size_6",
-                case  8: pValues[nProp] >>= pImpl->aFontSizeArr[6]; 
break;//"Import/FontSize/Size_7",
-                case  9://"Export/Browser",
-                    {
-                        sal_Int32 nExpMode = 0;
-                        pValues[nProp] >>= nExpMode;
-                        switch( nExpMode )
-                        {
-                            case 1:     nExpMode = HTML_CFG_MSIE;    break;
-                            case 3:     nExpMode = HTML_CFG_WRITER;     break;
-                            case 4:     nExpMode = HTML_CFG_NS40;       break;
-                            default:    nExpMode = HTML_CFG_NS40;       break;
-                        }
-
-                        pImpl->nExportMode = nExpMode;
-                    }
-                    break;
-                case 10:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::StarBasic;
-                break;//"Export/Basic",
-                case 11:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::PrintLayoutExtension;
-                break;//"Export/PrintLayout",
-                case 12:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::LocalGrf;
-                break;//"Export/LocalGraphic",
-                case 13:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::IsBasicWarning;
-                break;//"Export/Warning"
-
-                case 14: pValues[nProp] >>= pImpl->eEncoding;
-                         pImpl->bIsEncodingDefault = false;
-                break;//"Export/Encoding"
-
-                case 15:
-                    if(*o3tl::doAccess<bool>(pValues[nProp]))
-                        pImpl->nFlags |= HtmlCfgFlags::NumbersEnglishUS;
-                break;//"Import/NumbersEnglishUS"
-            }
-        }
+        case 0:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::get();
+        case 1:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::get();
+        case 2:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::get();
+        case 3:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::get();
+        case 4:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::get();
+        case 5:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::get();
+        case 6:
+            return 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::get();
     }
-}
-
-
-void    SvxHtmlOptions::ImplCommit()
-{
-    const Sequence<OUString>& aNames = GetPropertyNames();
-
-    Sequence<Any> aValues(aNames.getLength());
-    Any* pValues = aValues.getArray();
-
-    for(int nProp = 0; nProp < aNames.getLength(); nProp++)
-    {
-        bool bSet = false;
-        switch(nProp)
-        {
-            case  0: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::UnknownTags);break;//"Import/UnknownTag",
-            case  1: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::IgnoreFontFamily);break;//"Import/FontSetting",
-            case  2: pValues[nProp] <<= 
pImpl->aFontSizeArr[0];break;//"Import/FontSize/Size_1",
-            case  3: pValues[nProp] <<= 
pImpl->aFontSizeArr[1];break;//"Import/FontSize/Size_2",
-            case  4: pValues[nProp] <<= 
pImpl->aFontSizeArr[2];break;//"Import/FontSize/Size_3",
-            case  5: pValues[nProp] <<= 
pImpl->aFontSizeArr[3];break;//"Import/FontSize/Size_4",
-            case  6: pValues[nProp] <<= 
pImpl->aFontSizeArr[4];break;//"Import/FontSize/Size_5",
-            case  7: pValues[nProp] <<= 
pImpl->aFontSizeArr[5];break;//"Import/FontSize/Size_6",
-            case  8: pValues[nProp] <<= 
pImpl->aFontSizeArr[6];break;//"Import/FontSize/Size_7",
-            case  9:                //"Export/Browser",
-                {
-                    sal_Int32 nExpMode = pImpl->nExportMode;
-
-                    switch( nExpMode )
-                    {
-                        case HTML_CFG_MSIE:      nExpMode = 1;   break;
-                        case HTML_CFG_WRITER:       nExpMode = 3;   break;
-                        case HTML_CFG_NS40:         nExpMode = 4;   break;
-                        default:                    nExpMode = 4;   break;  // 
NS40
-                    }
-
-                    pValues[nProp] <<= nExpMode;
-                    break;
-                }
-            case 10: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::StarBasic);break;//"Export/Basic",
-            case 11: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::PrintLayoutExtension);break;//"Export/PrintLayout",
-            case 12: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::LocalGrf);break;//"Export/LocalGraphic",
-            case 13: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::IsBasicWarning);break;//"Export/Warning"
-            case 14:
-                if(!pImpl->bIsEncodingDefault)
-                    pValues[nProp] <<= pImpl->eEncoding;
-                break;//"Export/Encoding",
-            case 15: bSet = bool(pImpl->nFlags & 
HtmlCfgFlags::NumbersEnglishUS);break;//"Import/NumbersEnglishUS"
-        }
-        if(nProp < 2 || ( nProp > 9 && nProp < 14 ) || nProp == 15)
-            pValues[nProp] <<= bSet;
-    }
-    PutProperties(aNames, aValues);
-}
-
-void SvxHtmlOptions::Notify( const css::uno::Sequence< OUString >& )
-{
-    Load( GetPropertyNames() );
-}
-
-
-sal_uInt16  SvxHtmlOptions::GetFontSize(sal_uInt16 nPos) const
-{
-    if(nPos < HTML_FONT_COUNT)
-        return static_cast<sal_uInt16>(pImpl->aFontSizeArr[nPos]);
+    assert(false);
     return 0;
 }
 
-void SvxHtmlOptions::SetFontSize(sal_uInt16 nPos, sal_uInt16 nSize)
+sal_uInt16 GetExportMode()
 {
-    if(nPos < HTML_FONT_COUNT)
+    sal_Int32 nExpMode = 
officecfg::Office::Common::Filter::HTML::Export::Browser::get();
+    switch (nExpMode)
     {
-        pImpl->aFontSizeArr[nPos] = nSize;
-        SetModified();
+        case 1:
+            nExpMode = HTML_CFG_MSIE;
+            break;
+        case 3:
+            nExpMode = HTML_CFG_WRITER;
+            break;
+        case 4:
+            nExpMode = HTML_CFG_NS40;
+            break;
+        default:
+            nExpMode = HTML_CFG_NS40;
+            break;
     }
+    return nExpMode;
 }
 
-
-bool SvxHtmlOptions::IsImportUnknown() const
+bool IsPrintLayoutExtension()
 {
-    return bool(pImpl->nFlags & HtmlCfgFlags::UnknownTags) ;
-}
-
-
-void SvxHtmlOptions::SetImportUnknown(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |= HtmlCfgFlags::UnknownTags;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::UnknownTags;
-    SetModified();
-}
-
-
-sal_uInt16  SvxHtmlOptions::GetExportMode() const
-{
-    return static_cast<sal_uInt16>(pImpl->nExportMode);
-}
-
-
-bool SvxHtmlOptions::IsStarBasic() const
-{
-    return bool(pImpl->nFlags & HtmlCfgFlags::StarBasic) ;
-}
-
-
-void SvxHtmlOptions::SetStarBasic(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::StarBasic;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::StarBasic;
-    SetModified();
-}
-
-bool SvxHtmlOptions::IsSaveGraphicsLocal() const
-{
-    return bool(pImpl->nFlags & HtmlCfgFlags::LocalGrf) ;
-}
-
-void SvxHtmlOptions::SetSaveGraphicsLocal(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::LocalGrf;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::LocalGrf;
-    SetModified();
-}
-
-bool SvxHtmlOptions::IsPrintLayoutExtension() const
-{
-    bool bRet(pImpl->nFlags & HtmlCfgFlags::PrintLayoutExtension);
-    switch( pImpl->nExportMode )
+    bool bRet = 
officecfg::Office::Common::Filter::HTML::Export::PrintLayout::get();
+    switch (GetExportMode())
     {
         case HTML_CFG_MSIE:
-        case HTML_CFG_NS40  :
-        case HTML_CFG_WRITER :
-        break;
+        case HTML_CFG_NS40:
+        case HTML_CFG_WRITER:
+            break;
         default:
             bRet = false;
     }
     return bRet;
 }
 
-void    SvxHtmlOptions::SetPrintLayoutExtension(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::PrintLayoutExtension;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::PrintLayoutExtension;
-    SetModified();
-}
-
-bool SvxHtmlOptions::IsIgnoreFontFamily() const
-{
-    return bool(pImpl->nFlags & HtmlCfgFlags::IgnoreFontFamily) ;
-}
-
-void SvxHtmlOptions::SetIgnoreFontFamily(bool bSet)
+bool IsDefaultTextEncoding()
 {
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::IgnoreFontFamily;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::IgnoreFontFamily;
-    SetModified();
+    std::optional<sal_Int32> x = 
officecfg::Office::Common::Filter::HTML::Export::Encoding::get();
+    return bool(x);
 }
-
-bool SvxHtmlOptions::IsStarBasicWarning() const
-{
-    return bool(pImpl->nFlags & HtmlCfgFlags::IsBasicWarning) ;
-}
-
-void SvxHtmlOptions::SetStarBasicWarning(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::IsBasicWarning;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::IsBasicWarning;
-    SetModified();
-}
-
-rtl_TextEncoding SvxHtmlOptions::GetTextEncoding() const
+rtl_TextEncoding GetTextEncoding()
 {
+    std::optional<sal_Int32> x = 
officecfg::Office::Common::Filter::HTML::Export::Encoding::get();
     rtl_TextEncoding eRet;
-    if(pImpl->bIsEncodingDefault)
+    if (!x)
         eRet = SvtSysLocale::GetBestMimeEncoding();
     else
-        eRet = static_cast<rtl_TextEncoding>(pImpl->eEncoding);
+        eRet = static_cast<rtl_TextEncoding>(*x);
     return eRet;
 }
 
-void SvxHtmlOptions::SetTextEncoding( rtl_TextEncoding eEnc )
-{
-    pImpl->eEncoding = eEnc;
-    pImpl->bIsEncodingDefault = false;
-    SetModified();
-}
-
-bool SvxHtmlOptions::IsDefaultTextEncoding() const
-{
-    return pImpl->bIsEncodingDefault;
-}
-
-namespace
-{
-    class theSvxHtmlOptions : public rtl::Static<SvxHtmlOptions, 
theSvxHtmlOptions> {};
-}
-
-SvxHtmlOptions& SvxHtmlOptions::Get()
+void SetTextEncoding( rtl_TextEncoding eEnc )
 {
-    return theSvxHtmlOptions::get();
+    std::shared_ptr<comphelper::ConfigurationChanges> 
batch(comphelper::ConfigurationChanges::create());
+    officecfg::Office::Common::Filter::HTML::Export::Encoding::set(eEnc, 
batch);
+    batch->commit();
 }
 
-bool SvxHtmlOptions::IsNumbersEnglishUS() const
-{
-    return bool(pImpl->nFlags & HtmlCfgFlags::NumbersEnglishUS) ;
-}
-
-void SvxHtmlOptions::SetNumbersEnglishUS(bool bSet)
-{
-    if(bSet)
-        pImpl->nFlags |=  HtmlCfgFlags::NumbersEnglishUS;
-    else
-        pImpl->nFlags &= ~HtmlCfgFlags::NumbersEnglishUS;
-    SetModified();
-}
+} // namespace SvxHtmlOptions
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index b4f307131e8f..76f27831ec10 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -1099,9 +1099,8 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testChinese)
     mxComponent = loadFromDesktop(aURL, "com.sun.star.text.TextDocument", {});
 
     // Prevent parseXmlStream guess incompatible encoding and complaint.
-    SvxHtmlOptions& rOptions = SvxHtmlOptions::Get();
-    rtl_TextEncoding eOldEncoding = rOptions.GetTextEncoding();
-    rOptions.SetTextEncoding(RTL_TEXTENCODING_UTF8);
+    rtl_TextEncoding eOldEncoding = SvxHtmlOptions::GetTextEncoding();
+    SvxHtmlOptions::SetTextEncoding(RTL_TEXTENCODING_UTF8);
 
     // Export it.
     ExportToReqif();
@@ -1112,7 +1111,7 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testChinese)
     // Without the accompanying fix in place, this test would have failed as 
the output was not
     // well-formed.
     CPPUNIT_ASSERT(pDoc);
-    rOptions.SetTextEncoding(eOldEncoding);
+    SvxHtmlOptions::SetTextEncoding(eOldEncoding);
 }
 
 CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifComment)
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 70b68e4e1df1..ffed09c38cca 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -117,6 +117,7 @@
 #include <officecfg/Office/Writer.hxx>
 #include <comphelper/sequenceashashmap.hxx>
 #include <comphelper/sequence.hxx>
+#include <officecfg/Office/Common.hxx>
 
 #include <swerror.h>
 #include <ndole.hxx>
@@ -327,16 +328,15 @@ SwHTMLParser::SwHTMLParser( SwDoc* pD, SwPaM& rCursor, 
SvStream& rIn,
     memset(m_xAttrTab.get(), 0, sizeof(HTMLAttrTable));
 
     // Read the font sizes 1-7 from the INI file
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-    m_aFontHeights[0] = rHtmlOptions.GetFontSize( 0 ) * 20;
-    m_aFontHeights[1] = rHtmlOptions.GetFontSize( 1 ) * 20;
-    m_aFontHeights[2] = rHtmlOptions.GetFontSize( 2 ) * 20;
-    m_aFontHeights[3] = rHtmlOptions.GetFontSize( 3 ) * 20;
-    m_aFontHeights[4] = rHtmlOptions.GetFontSize( 4 ) * 20;
-    m_aFontHeights[5] = rHtmlOptions.GetFontSize( 5 ) * 20;
-    m_aFontHeights[6] = rHtmlOptions.GetFontSize( 6 ) * 20;
+    m_aFontHeights[0] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::get() * 20;
+    m_aFontHeights[1] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::get() * 20;
+    m_aFontHeights[2] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::get() * 20;
+    m_aFontHeights[3] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::get() * 20;
+    m_aFontHeights[4] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::get() * 20;
+    m_aFontHeights[5] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::get() * 20;
+    m_aFontHeights[6] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::get() * 20;
 
-    m_bKeepUnknown = rHtmlOptions.IsImportUnknown();
+    m_bKeepUnknown = 
officecfg::Office::Common::Filter::HTML::Import::UnknownTag::get();
 
     if(bReadNewDoc)
     {
@@ -359,7 +359,7 @@ SwHTMLParser::SwHTMLParser( SwDoc* pD, SwPaM& rCursor, 
SvStream& rIn,
     m_xDoc->getIDocumentSettingAccess().set(DocumentSettingId::HTML_MODE, 
true);
 
     m_pCSS1Parser.reset(new SwCSS1Parser(m_xDoc.get(), *this, m_aFontHeights, 
m_sBaseURL, IsNewDoc()));
-    m_pCSS1Parser->SetIgnoreFontFamily( rHtmlOptions.IsIgnoreFontFamily() );
+    m_pCSS1Parser->SetIgnoreFontFamily( 
officecfg::Office::Common::Filter::HTML::Import::FontSetting::get() );
 
     if( bReadUTF8 )
     {
diff --git a/sw/source/filter/html/wrthtml.cxx 
b/sw/source/filter/html/wrthtml.cxx
index ebe0918750a9..49993c7bc684 100644
--- a/sw/source/filter/html/wrthtml.cxx
+++ b/sw/source/filter/html/wrthtml.cxx
@@ -82,6 +82,7 @@
 #include <comphelper/scopeguard.hxx>
 #include <unotools/tempfile.hxx>
 #include <comphelper/sequenceashashmap.hxx>
+#include <officecfg/Office/Common.hxx>
 
 #define MAX_INDENT_LEVEL 20
 
@@ -273,20 +274,18 @@ ErrCode SwHTMLWriter::WriteStream()
     }
     comphelper::ScopeGuard g([this, pOldPasteStream] { 
this->SetStream(pOldPasteStream); });
 
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-
     // font heights 1-7
-    m_aFontHeights[0] = rHtmlOptions.GetFontSize( 0 ) * 20;
-    m_aFontHeights[1] = rHtmlOptions.GetFontSize( 1 ) * 20;
-    m_aFontHeights[2] = rHtmlOptions.GetFontSize( 2 ) * 20;
-    m_aFontHeights[3] = rHtmlOptions.GetFontSize( 3 ) * 20;
-    m_aFontHeights[4] = rHtmlOptions.GetFontSize( 4 ) * 20;
-    m_aFontHeights[5] = rHtmlOptions.GetFontSize( 5 ) * 20;
-    m_aFontHeights[6] = rHtmlOptions.GetFontSize( 6 ) * 20;
+    m_aFontHeights[0] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_1::get() * 20;
+    m_aFontHeights[1] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_2::get() * 20;
+    m_aFontHeights[2] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_3::get() * 20;
+    m_aFontHeights[3] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_4::get() * 20;
+    m_aFontHeights[4] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_5::get() * 20;
+    m_aFontHeights[5] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_6::get() * 20;
+    m_aFontHeights[6] = 
officecfg::Office::Common::Filter::HTML::Import::FontSize::Size_7::get() * 20;
 
     // output styles anyway
     // (then also top and bottom paragraph spacing)
-    m_nExportMode = rHtmlOptions.GetExportMode();
+    m_nExportMode = SvxHtmlOptions::GetExportMode();
     m_nHTMLMode = GetHtmlMode(nullptr);
 
     if( HTML_CFG_WRITER == m_nExportMode || HTML_CFG_NS40 == m_nExportMode )
@@ -321,19 +320,19 @@ ErrCode SwHTMLWriter::WriteStream()
     m_eCSS1Unit = SW_MOD()->GetMetric( 
m_pDoc->getIDocumentSettingAccess().get(DocumentSettingId::HTML_MODE) );
 
     bool bWriteUTF8 = m_bWriteClipboardDoc;
-    m_eDestEnc = bWriteUTF8 ? RTL_TEXTENCODING_UTF8 : 
rHtmlOptions.GetTextEncoding();
+    m_eDestEnc = bWriteUTF8 ? RTL_TEXTENCODING_UTF8 : 
SvxHtmlOptions::GetTextEncoding();
     const char *pCharSet = rtl_getBestMimeCharsetFromTextEncoding( m_eDestEnc 
);
     m_eDestEnc = rtl_getTextEncodingFromMimeCharset( pCharSet );
 
     // Only for the MS-IE we favour the export of styles.
     m_bCfgPreferStyles = HTML_CFG_MSIE == m_nExportMode;
 
-    m_bCfgStarBasic = rHtmlOptions.IsStarBasic();
+    m_bCfgStarBasic = 
officecfg::Office::Common::Filter::HTML::Export::Basic::get();
 
     m_bCfgFormFeed = !IsHTMLMode(HTMLMODE_PRINT_EXT);
-    m_bCfgCpyLinkedGrfs = rHtmlOptions.IsSaveGraphicsLocal();
+    m_bCfgCpyLinkedGrfs = 
officecfg::Office::Common::Filter::HTML::Export::LocalGraphic::get();
 
-    m_bCfgPrintLayout = rHtmlOptions.IsPrintLayoutExtension();
+    m_bCfgPrintLayout = SvxHtmlOptions::IsPrintLayoutExtension();
 
     // get HTML template
     bool bOldHTMLMode = false;
diff --git a/sw/source/ui/chrdlg/pardlg.cxx b/sw/source/ui/chrdlg/pardlg.cxx
index ad6670d14d87..225c0472de9c 100644
--- a/sw/source/ui/chrdlg/pardlg.cxx
+++ b/sw/source/ui/chrdlg/pardlg.cxx
@@ -73,8 +73,7 @@ SwParaDlg::SwParaDlg(weld::Window *pParent,
     AddTabPage("labelTP_PARA_ALIGN", 
pFact->GetTabPageCreatorFunc(RID_SVXPAGE_ALIGN_PARAGRAPH),
                                       
pFact->GetTabPageRangesFunc(RID_SVXPAGE_ALIGN_PARAGRAPH));
 
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-    if (!bDrawParaDlg && (!bHtmlMode || rHtmlOpt.IsPrintLayoutExtension()))
+    if (!bDrawParaDlg && (!bHtmlMode || 
SvxHtmlOptions::IsPrintLayoutExtension()))
     {
         OSL_ENSURE(pFact->GetTabPageCreatorFunc(RID_SVXPAGE_EXT_PARAGRAPH), 
"GetTabPageCreatorFunc fail!");
         OSL_ENSURE(pFact->GetTabPageRangesFunc(RID_SVXPAGE_EXT_PARAGRAPH), 
"GetTabPageRangesFunc fail!");
diff --git a/sw/source/ui/dbui/mmresultdialogs.cxx 
b/sw/source/ui/dbui/mmresultdialogs.cxx
index 6e081c68a9a1..cc659cbebd74 100644
--- a/sw/source/ui/dbui/mmresultdialogs.cxx
+++ b/sw/source/ui/dbui/mmresultdialogs.cxx
@@ -969,8 +969,7 @@ IMPL_LINK_NOARG(SwMMResultEmailDialog, 
SendDocumentsHdl_Impl, weld::Button&, voi
         case MM_DOCTYPE_HTML:
         {
             bAsBody = true;
-            SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-            eEncoding = rHtmlOptions.GetTextEncoding();
+            eEncoding = SvxHtmlOptions::GetTextEncoding();
         }
         break;
         case MM_DOCTYPE_TEXT:
diff --git a/sw/source/ui/dialog/uiregionsw.cxx 
b/sw/source/ui/dialog/uiregionsw.cxx
index edc96fa6ba13..288fe0d1e5e2 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -1361,8 +1361,7 @@ SwInsertSectionTabDialog::SwInsertSectionTabDialog(
     AddTabPage("notes", SwSectionFootnoteEndTabPage::Create, nullptr);
     AddTabPage("indents", SwSectionIndentTabPage::Create, nullptr);
 
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-    tools::Long nHtmlMode = rHtmlOpt.GetExportMode();
+    tools::Long nHtmlMode = SvxHtmlOptions::GetExportMode();
 
     bool bWeb = dynamic_cast<SwWebDocShell*>( rSh.GetView().GetDocShell()  ) 
!= nullptr ;
     if(bWeb)
@@ -1997,8 +1996,7 @@ SwSectionPropertyTabDialog::SwSectionPropertyTabDialog(
     AddTabPage("notes", SwSectionFootnoteEndTabPage::Create, nullptr);
     AddTabPage("indents", SwSectionIndentTabPage::Create, nullptr);
 
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-    tools::Long nHtmlMode = rHtmlOpt.GetExportMode();
+    tools::Long nHtmlMode = SvxHtmlOptions::GetExportMode();
     bool bWeb = dynamic_cast<SwWebDocShell*>( rSh.GetView().GetDocShell()  ) 
!= nullptr ;
     if(bWeb)
     {
diff --git a/sw/source/ui/fmtui/tmpdlg.cxx b/sw/source/ui/fmtui/tmpdlg.cxx
index 08e52b4d8400..2062b69bee45 100644
--- a/sw/source/ui/fmtui/tmpdlg.cxx
+++ b/sw/source/ui/fmtui/tmpdlg.cxx
@@ -148,8 +148,7 @@ 
SwTemplateDlgController::SwTemplateDlgController(weld::Window* pParent,
             SvtCJKOptions aCJKOptions;
             if(nHtmlMode & HTMLMODE_ON)
             {
-                SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-                if (!rHtmlOpt.IsPrintLayoutExtension())
+                if (!SvxHtmlOptions::IsPrintLayoutExtension())
                     RemoveTabPage("textflow");
                 RemoveTabPage("asiantypo");
                 RemoveTabPage("tabs");
diff --git a/sw/source/ui/table/tabledlg.cxx b/sw/source/ui/table/tabledlg.cxx
index 36964d4f10fe..a797a69f1af2 100644
--- a/sw/source/ui/table/tabledlg.cxx
+++ b/sw/source/ui/table/tabledlg.cxx
@@ -1428,8 +1428,7 @@ bool  SwTextFlowPage::FillItemSet( SfxItemSet* rSet )
 void   SwTextFlowPage::Reset( const SfxItemSet* rSet )
 {
     const SfxPoolItem* pItem;
-    SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-    bool bFlowAllowed = !bHtmlMode || rHtmlOpt.IsPrintLayoutExtension();
+    bool bFlowAllowed = !bHtmlMode || SvxHtmlOptions::IsPrintLayoutExtension();
     if(bFlowAllowed)
     {
         //Inserting of the existing page templates in the list box
diff --git a/sw/source/uibase/app/docsh.cxx b/sw/source/uibase/app/docsh.cxx
index aeb593036e30..80029f5535c1 100644
--- a/sw/source/uibase/app/docsh.cxx
+++ b/sw/source/uibase/app/docsh.cxx
@@ -633,8 +633,9 @@ bool SwDocShell::ConvertTo( SfxMedium& rMedium )
     if( pFlt->GetUserData() == "HTML" )
     {
 #if HAVE_FEATURE_SCRIPTING
-        SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-        if( !rHtmlOpt.IsStarBasic() && rHtmlOpt.IsStarBasicWarning() && 
HasBasic() )
+        if( !officecfg::Office::Common::Filter::HTML::Export::Basic::get()
+            && officecfg::Office::Common::Filter::HTML::Export::Warning::get()
+            && HasBasic() )
         {
             uno::Reference< XLibraryContainer > xLibCont = GetBasicContainer();
             uno::Reference< XNameAccess > xLib;
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index 52fe3223a9b7..8e297f06298f 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -107,6 +107,7 @@
 #include <com/sun/star/script/vba/VBAEventId.hpp>
 #include <editeng/acorrcfg.hxx>
 #include <officecfg/Office/Security.hxx>
+#include <officecfg/Office/Common.hxx>
 
 #include <sfx2/fcontnr.hxx>
 #include <svx/ClassificationDialog.hxx>
@@ -1452,11 +1453,10 @@ void SwDocShell::ReloadFromHtml( const OUString& 
rStreamName, SwSrcView* pSrcVie
     // A EnterBasicCall is not needed here, because nothing is called and
     // there can't be any Dok-Basic, that has not yet been loaded inside
     // of an HTML document.
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
     //#59620# HasBasic() shows, that there already is a BasicManager at the 
DocShell.
     //          That was always generated in HTML-Import, when there are
     //          Macros in the source code.
-    if( rHtmlOptions.IsStarBasic() && HasBasic())
+    if( officecfg::Office::Common::Filter::HTML::Export::Basic::get() && 
HasBasic())
     {
         BasicManager *pBasicMan = GetBasicManager();
         if( pBasicMan && (pBasicMan != SfxApplication::GetBasicManager()) )
diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx
index 0f196fcdf0a7..86cbd0291d1e 100644
--- a/sw/source/uibase/app/docst.cxx
+++ b/sw/source/uibase/app/docst.cxx
@@ -203,8 +203,7 @@ void  SwDocShell::StateStyleSheet(SfxItemSet& rSet, 
SwWrtShell* pSh)
 
             case SID_STYLE_FAMILY4:
             {
-                SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-                if 
(m_xDoc->getIDocumentSettingAccess().get(DocumentSettingId::HTML_MODE) && 
!rHtmlOpt.IsPrintLayoutExtension())
+                if 
(m_xDoc->getIDocumentSettingAccess().get(DocumentSettingId::HTML_MODE) && 
!SvxHtmlOptions::IsPrintLayoutExtension())
                     rSet.DisableItem( nWhich );
                 else
                 {
diff --git a/sw/source/uibase/config/viewopt.cxx 
b/sw/source/uibase/config/viewopt.cxx
index f36530c355ad..66ea4daa05f4 100644
--- a/sw/source/uibase/config/viewopt.cxx
+++ b/sw/source/uibase/config/viewopt.cxx
@@ -357,8 +357,7 @@ sal_uInt16      GetHtmlMode(const SwDocShell* pShell)
     if(!pShell || dynamic_cast<const SwWebDocShell*>( pShell) )
     {
         nRet = HTMLMODE_ON | HTMLMODE_SOME_STYLES;
-        SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-        switch ( rHtmlOpt.GetExportMode() )
+        switch ( SvxHtmlOptions::GetExportMode() )
         {
             case HTML_CFG_MSIE:
                 nRet |= HTMLMODE_FULL_STYLES;
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx
index 132743c030fd..f1cad9f7cb52 100644
--- a/sw/source/uibase/dbui/dbmgr.cxx
+++ b/sw/source/uibase/dbui/dbmgr.cxx
@@ -1122,8 +1122,7 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell,
             {
                 sMailBodyMimeType = "text/html; charset=" + 
OUString::createFromAscii(
                                     rtl_getBestMimeCharsetFromTextEncoding( 
sMailEncoding ));
-                SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
-                sMailEncoding = rHtmlOptions.GetTextEncoding();
+                sMailEncoding = SvxHtmlOptions::GetTextEncoding();
             }
             else
                 sMailBodyMimeType = "text/plain; charset=UTF-8; format=flowed";
diff --git a/sw/source/uibase/shells/textsh.cxx 
b/sw/source/uibase/shells/textsh.cxx
index 0f19e33153d9..af3fc2e21494 100644
--- a/sw/source/uibase/shells/textsh.cxx
+++ b/sw/source/uibase/shells/textsh.cxx
@@ -427,8 +427,7 @@ void SwTextShell::ExecInsert(SfxRequest &rReq)
         bool bSingleCol = false;
         if( nullptr!= dynamic_cast< SwWebDocShell*>( GetView().GetDocShell()) )
         {
-            SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-            if( HTML_CFG_MSIE == rHtmlOpt.GetExportMode() )
+            if( HTML_CFG_MSIE == SvxHtmlOptions::GetExportMode() )
             {
                 bSingleCol = true;
             }
@@ -613,8 +612,7 @@ void SwTextShell::StateInsert( SfxItemSet &rSet )
                     }
                     else if(SID_INSERT_FLOATINGFRAME == nWhich && bHtmlModeOn)
                     {
-                        SvxHtmlOptions& rHtmlOpt = SvxHtmlOptions::Get();
-                        const sal_uInt16 nExport = rHtmlOpt.GetExportMode();
+                        const sal_uInt16 nExport = 
SvxHtmlOptions::GetExportMode();
                         if(HTML_CFG_MSIE != nExport && HTML_CFG_WRITER != 
nExport )
                             rSet.DisableItem(nWhich);
                     }
diff --git a/sw/source/uibase/uiview/srcview.cxx 
b/sw/source/uibase/uiview/srcview.cxx
index 1a7816c33223..e7b2059a1ec0 100644
--- a/sw/source/uibase/uiview/srcview.cxx
+++ b/sw/source/uibase/uiview/srcview.cxx
@@ -159,9 +159,8 @@ static rtl_TextEncoding 
lcl_GetStreamCharSet(rtl_TextEncoding eLoadEncoding)
     rtl_TextEncoding eRet = eLoadEncoding;
     if(RTL_TEXTENCODING_DONTKNOW == eRet)
     {
-        SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
         const char *pCharSet =
-            rtl_getBestMimeCharsetFromTextEncoding( 
rHtmlOptions.GetTextEncoding() );
+            rtl_getBestMimeCharsetFromTextEncoding( 
SvxHtmlOptions::GetTextEncoding() );
         eRet = rtl_getTextEncodingFromMimeCharset( pCharSet );
     }
     return eRet;
@@ -752,9 +751,8 @@ void SwSrcView::Notify( SfxBroadcaster& rBC, const SfxHint& 
rHint )
 
 void SwSrcView::Load(SwDocShell* pDocShell)
 {
-    SvxHtmlOptions& rHtmlOptions = SvxHtmlOptions::Get();
     const char *pCharSet =
-        rtl_getBestMimeCharsetFromTextEncoding( rHtmlOptions.GetTextEncoding() 
);
+        rtl_getBestMimeCharsetFromTextEncoding( 
SvxHtmlOptions::GetTextEncoding() );
     rtl_TextEncoding eDestEnc = rtl_getTextEncodingFromMimeCharset( pCharSet );
 
     aEditWin->SetReadonly(pDocShell->IsReadOnly());
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to