diff --git a/framework/source/dispatch/loaddispatcher.cxx b/framework/source/dispatch/loaddispatcher.cxx index f5d9d1465a37..b04a4caf41cd 100644 --- a/framework/source/dispatch/loaddispatcher.cxx +++ b/framework/source/dispatch/loaddispatcher.cxx @@ -106,7 +106,7 @@ css::uno::Any LoadDispatcher::impl_dispatch( const css::util::URL& rURL, css::uno::Reference< css::lang::XComponent > xComponent; try { - m_aLoader.initializeLoading( rURL.Complete, lArguments, xBaseFrame, m_sTarget, m_nSearchFlags, (LoadEnv::EFeature)(LoadEnv::E_ALLOW_CONTENTHANDLER | LoadEnv::E_WORK_WITH_UI)); + m_aLoader.initializeLoading( rURL.Complete, lArguments, xBaseFrame, m_sTarget, m_nSearchFlags, LoadEnvFeatures::AllowContentHandler | LoadEnvFeatures::WorkWithUI); m_aLoader.startLoading(); m_aLoader.waitWhileLoading(); // wait for ever! xComponent = m_aLoader.getTargetComponent(); diff --git a/framework/source/inc/loadenv/loadenv.hxx b/framework/source/inc/loadenv/loadenv.hxx index 3597547675c1..288da8f8a1bc 100644 --- a/framework/source/inc/loadenv/loadenv.hxx +++ b/framework/source/inc/loadenv/loadenv.hxx @@ -35,6 +35,33 @@ #include #include #include +#include + + +/** @short enable/disable special features + of a load request. + + @desrc Such features must outcome without + any special parameters. + To make enabling/disabling of + features very easy (e.g. at the ctor of + this class) these values must be combinable + as flags. That means: its values must be in + range of [2^n]! + */ +enum class LoadEnvFeatures +{ + /// we should be informed, if no feature is enabled :-) + NONE = 0, + /// enable using of UI elements during loading (means progress, interaction handler etcpp.) + WorkWithUI = 1, + /// enable loading of resources, which are not related to a target frame! (see concept of ContentHandler) + AllowContentHandler = 2 +}; +namespace o3tl { + template<> struct typed_flags : is_typed_flags {}; +} + namespace framework { @@ -51,28 +78,6 @@ class QuietInteraction; class LoadEnv { public: - - /** @short enable/disable special features - of a load request. - - @desrc Such features must outcome without - any special parameters. - To make enabling/disabling of - features very easy (e.g. at the ctor of - this class) these values must be combinable - as flags. That means: its values must be in - range of [2^n]! - */ - enum EFeature - { - /// we should be informed, if no feature is enabled :-) - E_NO_FEATURE = 0, - /// enable using of UI elements during loading (means progress, interaction handler etcpp.) - E_WORK_WITH_UI = 1, - /// enable loading of resources, which are not related to a target frame! (see concept of ContentHandler) - E_ALLOW_CONTENTHANDLER = 2 - }; - /** @short classify a content. @descr The load environment must know, if a content @@ -153,7 +158,7 @@ private: css::util::URL m_aURL; /** @short enable/disable special features of a load request. */ - EFeature m_eFeature; + LoadEnvFeatures m_eFeature; /** @short classify the content, which should be loaded by this instance. */ EContentType m_eContentType; @@ -264,7 +269,7 @@ public: const css::uno::Reference< css::frame::XFrame >& xBaseFrame , const OUString& sTarget , sal_Int32 nSearchFlags , - EFeature eFeature = E_NO_FEATURE); + LoadEnvFeatures eFeature = LoadEnvFeatures::NONE); /** @short start loading of the resource represented by this loadenv instance. diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx index c98fb8bcbba9..99dbb690afb6 100644 --- a/framework/source/loadenv/loadenv.cxx +++ b/framework/source/loadenv/loadenv.cxx @@ -123,7 +123,7 @@ class LoadEnvListener : public ::cppu::WeakImplHelper< css::frame::XLoadEventLis LoadEnv::LoadEnv(const css::uno::Reference< css::uno::XComponentContext >& xContext) : m_xContext(xContext) , m_nSearchFlags(0) - , m_eFeature(E_NO_FEATURE) + , m_eFeature(LoadEnvFeatures::NONE) , m_eContentType(E_UNSUPPORTED_CONTENT) , m_bCloseFrameOnError(false) , m_bReactivateControllerOnError(false) @@ -213,7 +213,7 @@ utl::MediaDescriptor addModelArgs(const uno::Sequence& rDe void LoadEnv::initializeLoading(const OUString& sURL, const uno::Sequence& lMediaDescriptor, const uno::Reference& xBaseFrame, const OUString& sTarget, - sal_Int32 nSearchFlags, EFeature eFeature) + sal_Int32 nSearchFlags, LoadEnvFeatures eFeature) { osl::MutexGuard g(m_mutex); @@ -269,7 +269,7 @@ void LoadEnv::initializeLoading(const OUString& sURL, const uno::Sequence