[Libreoffice-commits] core.git: cui/source include/unotools sfx2/source solenv/clang-format unotools/Library_utl.mk unotools/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Jul 29 15:42:14 UTC 2020


 cui/source/options/optlingu.cxx                    |    8 
 include/unotools/extendedsecurityoptions.hxx       |   67 ------
 include/unotools/itemholderbase.hxx                |    1 
 sfx2/source/appl/appopen.cxx                       |    4 
 solenv/clang-format/excludelist                    |    1 
 unotools/Library_utl.mk                            |    1 
 unotools/source/config/extendedsecurityoptions.cxx |  226 ---------------------
 unotools/source/config/itemholder1.cxx             |    5 
 8 files changed, 15 insertions(+), 298 deletions(-)

New commits:
commit b6f03ac06ba7eac8ca1e2ab1c3d885525cd7519c
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Jul 29 14:24:51 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Jul 29 17:41:33 2020 +0200

    replace and drop SvtExtendedSecurityOptions class
    
    Change-Id: Ibe3443531c83eb44080217b61f5746be9cce9c49
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99695
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cui/source/options/optlingu.cxx b/cui/source/options/optlingu.cxx
index ada93128e6e1..8d099ad0c884 100644
--- a/cui/source/options/optlingu.cxx
+++ b/cui/source/options/optlingu.cxx
@@ -21,6 +21,7 @@
 #include <vcl/weld.hxx>
 #include <i18nlangtag/languagetag.hxx>
 #include <i18nlangtag/mslangid.hxx>
+#include <officecfg/Office/Security.hxx>
 #include <unotools/lingucfg.hxx>
 #include <unotools/linguprops.hxx>
 #include <editeng/unolingu.hxx>
@@ -870,7 +871,7 @@ SvxLinguTabPage::SvxLinguTabPage(weld::Container* pPage, weld::DialogController*
     m_xLinguOptionsCLB->connect_changed( LINK( this, SvxLinguTabPage, SelectHdl_Impl ));
     m_xLinguOptionsCLB->connect_row_activated(LINK(this, SvxLinguTabPage, BoxDoubleClickHdl_Impl));
 
-    if ( SvtExtendedSecurityOptions().GetOpenHyperlinkMode() == SvtExtendedSecurityOptions::OPEN_NEVER )
+    if (officecfg::Office::Security::Hyperlinks::Open::get() == SvtExtendedSecurityOptions::OPEN_NEVER)
         m_xMoreDictsLink->hide();
 
     xProp = LinguMgr::GetLinguPropertySet();
@@ -1527,8 +1528,7 @@ void SvxLinguTabPage::HideGroups( sal_uInt16 nGrp )
         m_xLinguModulesCLB->hide();
         m_xLinguModulesEditPB->hide();
 
-        if ( SvtExtendedSecurityOptions().GetOpenHyperlinkMode()
-                != SvtExtendedSecurityOptions::OPEN_NEVER )
+        if (officecfg::Office::Security::Hyperlinks::Open::get() != SvtExtendedSecurityOptions::OPEN_NEVER)
         {
             m_xMoreDictsLink->show();
         }
@@ -1568,7 +1568,7 @@ SvxEditModulesDlg::SvxEditModulesDlg(weld::Window* pParent, SvxLinguData_Impl& r
     m_xPrioUpPB->set_sensitive( false );
     m_xPrioDownPB->set_sensitive( false );
 
-    if ( SvtExtendedSecurityOptions().GetOpenHyperlinkMode() == SvtExtendedSecurityOptions::OPEN_NEVER )
+    if (officecfg::Office::Security::Hyperlinks::Open::get() == SvtExtendedSecurityOptions::OPEN_NEVER)
         m_xMoreDictsLink->hide();
 
     // set that we want the checkbox shown if spellchecking is available
diff --git a/include/unotools/extendedsecurityoptions.hxx b/include/unotools/extendedsecurityoptions.hxx
index 533cc8894890..4a2b493e8d46 100644
--- a/include/unotools/extendedsecurityoptions.hxx
+++ b/include/unotools/extendedsecurityoptions.hxx
@@ -16,66 +16,17 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
-#ifndef INCLUDED_UNOTOOLS_EXTENDEDSECURITYOPTIONS_HXX
-#define INCLUDED_UNOTOOLS_EXTENDEDSECURITYOPTIONS_HXX
 
-#include <unotools/unotoolsdllapi.h>
-#include <sal/types.h>
-#include <unotools/options.hxx>
-#include <memory>
+#pragma once
 
-namespace osl { class Mutex; }
-
-/*-************************************************************************************************************
-    @short          forward declaration to our private date container implementation
-    @descr          We use these class as internal member to support small memory requirements.
-                    You can create the container if it is necessary. The class which use these mechanism
-                    is faster and smaller then a complete implementation!
-*//*-*************************************************************************************************************/
-
-class SvtExtendedSecurityOptions_Impl;
-
-/*-************************************************************************************************************
-    @short          collect information about security features
-    @ATTENTION      This class is partially threadsafe.
-
-    @devstatus      ready to use
-*//*-*************************************************************************************************************/
-
-class SAL_WARN_UNUSED UNOTOOLS_DLLPUBLIC SvtExtendedSecurityOptions final : public utl::detail::Options
+namespace SvtExtendedSecurityOptions
 {
-    public:
-        // Must be zero based!
-        enum OpenHyperlinkMode
-        {
-            OPEN_NEVER                  = 0,
-            OPEN_WITHSECURITYCHECK,
-        };
-
-         SvtExtendedSecurityOptions();
-        virtual ~SvtExtendedSecurityOptions() override;
-
-        OpenHyperlinkMode                               GetOpenHyperlinkMode() const;
-
-    private:
-
-        /*-****************************************************************************************************
-            @short      return a reference to a static mutex
-            @descr      These class is partially threadsafe (for de-/initialization only).
-                        All access methods aren't safe!
-                        We create a static mutex only for one ime and use at different times.
-            @return     A reference to a static mutex member.
-        *//*-*****************************************************************************************************/
-
-        UNOTOOLS_DLLPRIVATE static ::osl::Mutex& GetInitMutex();
-
-    //  private member
-
-    private:
-        std::shared_ptr<SvtExtendedSecurityOptions_Impl> m_pImpl;
-
-};      // class SvtExtendedSecurityOptions
-
-#endif // INCLUDED_UNOTOOLS_EXTENDEDSECURITYOPTIONS_HXX
+    // Must be zero based!
+    enum OpenHyperlinkMode
+    {
+        OPEN_NEVER                  = 0,
+        OPEN_WITHSECURITYCHECK,
+    };
+}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/unotools/itemholderbase.hxx b/include/unotools/itemholderbase.hxx
index 22bbc4efddd2..1c496667681e 100644
--- a/include/unotools/itemholderbase.hxx
+++ b/include/unotools/itemholderbase.hxx
@@ -43,7 +43,6 @@ enum class EItem
     DynamicMenuOptions            ,
 
     EventConfig                   ,
-    ExtendedSecurityOptions       ,
 
     HelpOptions                   ,   // 2
     HistoryOptions                ,
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index f888ebf1981b..e59e58b08033 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -86,6 +86,7 @@
 #include <openuriexternally.hxx>
 
 #include <officecfg/Office/ProtocolHandler.hxx>
+#include <officecfg/Office/Security.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::beans;
@@ -827,8 +828,7 @@ void SfxApplication::OpenDocExec_Impl( SfxRequest& rReq )
             xTrans->parseStrict( aURL );
 
             INetProtocol aINetProtocol = INetURLObject( aURL.Complete ).GetProtocol();
-            SvtExtendedSecurityOptions aExtendedSecurityOptions;
-            SvtExtendedSecurityOptions::OpenHyperlinkMode eMode = aExtendedSecurityOptions.GetOpenHyperlinkMode();
+            auto eMode = officecfg::Office::Security::Hyperlinks::Open::get();
 
             if ( eMode == SvtExtendedSecurityOptions::OPEN_NEVER && aINetProtocol != INetProtocol::VndSunStarHelp )
             {
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 2f21632f4c31..b51a643f84ac 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -16266,7 +16266,6 @@ unotools/source/config/defaultoptions.cxx
 unotools/source/config/docinfohelper.cxx
 unotools/source/config/dynamicmenuoptions.cxx
 unotools/source/config/eventcfg.cxx
-unotools/source/config/extendedsecurityoptions.cxx
 unotools/source/config/fltrcfg.cxx
 unotools/source/config/fontcfg.cxx
 unotools/source/config/historyoptions.cxx
diff --git a/unotools/Library_utl.mk b/unotools/Library_utl.mk
index 4838371364f8..e0059567baa4 100644
--- a/unotools/Library_utl.mk
+++ b/unotools/Library_utl.mk
@@ -68,7 +68,6 @@ $(eval $(call gb_Library_add_exception_objects,utl,\
     unotools/source/config/docinfohelper \
     unotools/source/config/dynamicmenuoptions \
     unotools/source/config/eventcfg \
-    unotools/source/config/extendedsecurityoptions \
     unotools/source/config/fltrcfg \
     unotools/source/config/fontcfg \
     unotools/source/config/historyoptions \
diff --git a/unotools/source/config/extendedsecurityoptions.cxx b/unotools/source/config/extendedsecurityoptions.cxx
deleted file mode 100644
index 2d57ab4230a2..000000000000
--- a/unotools/source/config/extendedsecurityoptions.cxx
+++ /dev/null
@@ -1,226 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <sal/config.h>
-
-#include <unotools/extendedsecurityoptions.hxx>
-#include <unotools/configitem.hxx>
-#include <tools/debug.hxx>
-#include <com/sun/star/uno/Any.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <osl/diagnose.h>
-
-#include "itemholder1.hxx"
-
-#include <unordered_map>
-
-using namespace ::utl;
-using namespace ::osl;
-using namespace ::com::sun::star::uno;
-
-#define ROOTNODE_SECURITY               "Office.Security"
-
-#define SECURE_EXTENSIONS_SET           OUString("SecureExtensions")
-
-#define PROPERTYNAME_HYPERLINKS_OPEN    OUString("Hyperlinks/Open")
-
-#define PROPERTYHANDLE_HYPERLINKS_OPEN  0
-
-#define PROPERTYCOUNT                   1
-
-typedef std::unordered_map<OUString, sal_Int32>
-    ExtensionHashMap;
-
-class SvtExtendedSecurityOptions_Impl : public ConfigItem
-{
-    public:
-         SvtExtendedSecurityOptions_Impl();
-        virtual ~SvtExtendedSecurityOptions_Impl() override;
-
-        /*-****************************************************************************************************
-            @short      called for notify of configmanager
-            @descr      This method is called from the ConfigManager before the application ends or from the
-                        PropertyChangeListener if the sub tree broadcasts changes. You must update your
-                        internal values.
-
-            @seealso    baseclass ConfigItem
-
-            @param      "seqPropertyNames" is the list of properties which should be updated.
-        *//*-*****************************************************************************************************/
-
-        virtual void Notify( const Sequence< OUString >& seqPropertyNames ) override;
-
-        SvtExtendedSecurityOptions::OpenHyperlinkMode   GetOpenHyperlinkMode() const { return m_eOpenHyperlinkMode;}
-
-    private:
-        virtual void ImplCommit() override;
-
-        /*-****************************************************************************************************
-            @short      return list of key names of our configuration management which represent our module tree
-            @descr      This method returns a static const list of key names. We need it to get needed values from our
-                        configuration management.
-            @return     A list of needed configuration keys is returned.
-        *//*-*****************************************************************************************************/
-
-        static Sequence< OUString > GetPropertyNames();
-
-        SvtExtendedSecurityOptions::OpenHyperlinkMode   m_eOpenHyperlinkMode;
-};
-
-//  constructor
-
-SvtExtendedSecurityOptions_Impl::SvtExtendedSecurityOptions_Impl()
-    // Init baseclasses first
-    :   ConfigItem          ( ROOTNODE_SECURITY         )
-    , m_eOpenHyperlinkMode(SvtExtendedSecurityOptions::OPEN_NEVER)
-    // Init member then.
-{
-    Sequence< OUString >    seqNames    = GetPropertyNames();
-    Sequence< Any >         seqValues   = GetProperties( seqNames );
-
-    sal_Int32 nPropertyCount = seqValues.getLength();
-    for( sal_Int32 nProperty=0; nProperty<nPropertyCount; ++nProperty )
-    {
-        // Safe impossible cases.
-        // Check any for valid value.
-        DBG_ASSERT( seqValues[nProperty].hasValue(), "SvtExtendedSecurityOptions_Impl::SvtExtendedSecurityOptions_Impl()\nInvalid property value detected!\n" );
-        switch( nProperty )
-        {
-            case PROPERTYHANDLE_HYPERLINKS_OPEN:
-            {
-                DBG_ASSERT( ( seqValues[nProperty].getValueTypeClass() == TypeClass_LONG ), "SvtExtendedSecurityOptions_Impl::SvtExtendedSecurityOptions_Impl()\nWho has changed the value type of 'Hyperlink/Open'?" );
-
-                sal_Int32 nMode = SvtExtendedSecurityOptions::OPEN_WITHSECURITYCHECK;
-                if ( seqValues[nProperty] >>= nMode )
-                    m_eOpenHyperlinkMode = static_cast<SvtExtendedSecurityOptions::OpenHyperlinkMode>(nMode);
-                else {
-                    OSL_FAIL("Wrong type for Open mode!");
-                }
-            }
-            break;
-        }
-    }
-
-    // Enable notification mechanism of our baseclass.
-    // We need it to get information about changes outside these class on our used configuration keys!
-    Sequence<OUString> seqNotifyNames { SECURE_EXTENSIONS_SET };
-    EnableNotification( seqNotifyNames );
-}
-
-//  destructor
-
-SvtExtendedSecurityOptions_Impl::~SvtExtendedSecurityOptions_Impl()
-{
-    assert(!IsModified()); // should have been committed
-}
-
-//  public method
-
-void SvtExtendedSecurityOptions_Impl::Notify( const Sequence< OUString >& )
-{
-    // Not implemented
-}
-
-//  public method
-
-void SvtExtendedSecurityOptions_Impl::ImplCommit()
-{
-    // Get names of supported properties, create a list for values and copy current values to it.
-    Sequence< OUString >    seqNames    = GetPropertyNames  ();
-    sal_Int32               nCount      = seqNames.getLength();
-    Sequence< Any >         seqValues   ( nCount );
-    for( sal_Int32 nProperty=0; nProperty<nCount; ++nProperty )
-    {
-        switch( nProperty )
-        {
-            case PROPERTYHANDLE_HYPERLINKS_OPEN:    {
-                                                        seqValues[nProperty] <<= static_cast<sal_Int32>(m_eOpenHyperlinkMode);
-                                                    }
-                                                    break;
-        }
-    }
-
-    // Set properties in configuration.
-    PutProperties( seqNames, seqValues );
-}
-
-//  private method (currently not used)
-
-Sequence< OUString > SvtExtendedSecurityOptions_Impl::GetPropertyNames()
-{
-    // Build list of configuration key names.
-    const OUString pProperties[] =
-    {
-        PROPERTYNAME_HYPERLINKS_OPEN
-    };
-    // Initialize return sequence with these list ...
-    const Sequence< OUString > seqPropertyNames( pProperties, PROPERTYCOUNT );
-    // ... and return it.
-    return seqPropertyNames;
-}
-
-namespace {
-
-std::weak_ptr<SvtExtendedSecurityOptions_Impl> g_pExtendedSecurityOptions;
-
-}
-
-SvtExtendedSecurityOptions::SvtExtendedSecurityOptions()
-{
-    // Global access, must be guarded (multithreading!).
-    MutexGuard aGuard( GetInitMutex() );
-
-    m_pImpl = g_pExtendedSecurityOptions.lock();
-    if( !m_pImpl )
-    {
-        m_pImpl = std::make_shared<SvtExtendedSecurityOptions_Impl>();
-        g_pExtendedSecurityOptions = m_pImpl;
-        ItemHolder1::holdConfigItem(EItem::ExtendedSecurityOptions);
-    }
-}
-
-SvtExtendedSecurityOptions::~SvtExtendedSecurityOptions()
-{
-    // Global access, must be guarded (multithreading!)
-    MutexGuard aGuard( GetInitMutex() );
-
-    m_pImpl.reset();
-}
-
-//  public method
-
-SvtExtendedSecurityOptions::OpenHyperlinkMode SvtExtendedSecurityOptions::GetOpenHyperlinkMode() const
-{
-    MutexGuard aGuard( GetInitMutex() );
-    return m_pImpl->GetOpenHyperlinkMode();
-}
-
-namespace
-{
-    class theExtendedSecurityOptionsMutex : public rtl::Static<osl::Mutex, theExtendedSecurityOptionsMutex>{};
-}
-
-//  private method
-
-Mutex& SvtExtendedSecurityOptions::GetInitMutex()
-{
-    return theExtendedSecurityOptionsMutex::get();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotools/source/config/itemholder1.cxx b/unotools/source/config/itemholder1.cxx
index 90d1690ac6ef..f24af51db595 100644
--- a/unotools/source/config/itemholder1.cxx
+++ b/unotools/source/config/itemholder1.cxx
@@ -28,7 +28,6 @@
 #include <unotools/compatibility.hxx>
 #include <unotools/defaultoptions.hxx>
 #include <unotools/dynamicmenuoptions.hxx>
-#include <unotools/extendedsecurityoptions.hxx>
 #include <unotools/historyoptions.hxx>
 #include <unotools/lingucfg.hxx>
 #include <unotools/moduleoptions.hxx>
@@ -138,10 +137,6 @@ void ItemHolder1::impl_newItem(TItemInfo& rItem)
             //rItem.pItem.reset( new GlobalEventConfig() );
             break;
 
-        case EItem::ExtendedSecurityOptions :
-            rItem.pItem.reset( new SvtExtendedSecurityOptions() );
-            break;
-
         case EItem::HistoryOptions :
             rItem.pItem.reset( new SvtHistoryOptions() );
             break;


More information about the Libreoffice-commits mailing list