summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2015-04-17 11:56:07 +0900
committerCaolán McNamara <caolanm@redhat.com>2015-04-20 10:29:48 +0000
commitf6a4f11afb7c4dcd72b52892f2e449478a3d7017 (patch)
treeeaa2498cb4c3e007402f18acbfe97a6c7b7b8380 /starmath
parentf6644e9a446773a5cb4f528d891a44a76c561dec (diff)
Make use of std::unique_ptr<> to simplify ctor and dtor
This also renames member variables with the m prefix, drops a couple of private functions which were called only for lazy construction, and stops persisting in futile const-ness. Change-Id: Ia4d1aded294f6b22a25a7cf40eb37418d45c9f0b Reviewed-on: https://gerrit.libreoffice.org/15359 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'starmath')
-rw-r--r--starmath/inc/smmod.hxx32
-rw-r--r--starmath/source/smmod.cxx72
2 files changed, 43 insertions, 61 deletions
diff --git a/starmath/inc/smmod.hxx b/starmath/inc/smmod.hxx
index 7d26cd9d8425..e324fe8fb15f 100644
--- a/starmath/inc/smmod.hxx
+++ b/starmath/inc/smmod.hxx
@@ -31,6 +31,7 @@
#include "starmath.hrc"
#include <unotools/options.hxx>
+#include <memory>
class SfxObjectFactory;
class SmConfig;
@@ -86,14 +87,11 @@ public:
class SmModule : public SfxModule, utl::ConfigurationListener
{
- svtools::ColorConfig *pColorConfig;
- SmConfig *pConfig;
- SmLocalizedSymbolData *pLocSymbolData;
- SvtSysLocale *pSysLocale;
- VirtualDevice *pVirtualDev;
-
- void _CreateSysLocale() const;
- void _CreateVirtualDev() const;
+ std::unique_ptr<svtools::ColorConfig> mpColorConfig;
+ std::unique_ptr<SmConfig> mpConfig;
+ std::unique_ptr<SmLocalizedSymbolData> mpLocSymbolData;
+ std::unique_ptr<SvtSysLocale> mpSysLocale;
+ std::unique_ptr<VirtualDevice> mpVirtualDev;
void ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg );
@@ -116,23 +114,13 @@ public:
SmConfig * GetConfig();
SmSymbolManager & GetSymbolManager();
- SmLocalizedSymbolData & GetLocSymbolData() const;
+ SmLocalizedSymbolData & GetLocSymbolData();
void GetState(SfxItemSet&);
- const SvtSysLocale& GetSysLocale() const
- {
- if( !pSysLocale )
- _CreateSysLocale();
- return *pSysLocale;
- }
-
- VirtualDevice & GetDefaultVirtualDev()
- {
- if (!pVirtualDev)
- _CreateVirtualDev();
- return *pVirtualDev;
- }
+ const SvtSysLocale& GetSysLocale();
+
+ VirtualDevice & GetDefaultVirtualDev();
//virtual methods for options dialog
virtual SfxItemSet* CreateItemSet( sal_uInt16 nId ) SAL_OVERRIDE;
diff --git a/starmath/source/smmod.cxx b/starmath/source/smmod.cxx
index e6b12c44401e..4c0e5e104f5d 100644
--- a/starmath/source/smmod.cxx
+++ b/starmath/source/smmod.cxx
@@ -163,12 +163,7 @@ void SmModule::InitInterface_Impl()
}
SmModule::SmModule(SfxObjectFactory* pObjFact) :
- SfxModule(ResMgr::CreateResMgr("sm"), false, pObjFact, NULL),
- pColorConfig( 0 ),
- pConfig( 0 ),
- pLocSymbolData( 0 ),
- pSysLocale( 0 ),
- pVirtualDev( 0 )
+ SfxModule(ResMgr::CreateResMgr("sm"), false, pObjFact, nullptr)
{
SetName(OUString("StarMath"));
@@ -177,26 +172,8 @@ SmModule::SmModule(SfxObjectFactory* pObjFact) :
SmModule::~SmModule()
{
- delete pConfig;
- if (pColorConfig)
- pColorConfig->RemoveListener(this);
- delete pColorConfig;
- delete pLocSymbolData;
- delete pSysLocale;
- delete pVirtualDev;
-}
-
-void SmModule::_CreateSysLocale() const
-{
- SmModule* pThis = const_cast<SmModule*>(this);
- pThis->pSysLocale = new SvtSysLocale;
-}
-
-void SmModule::_CreateVirtualDev() const
-{
- SmModule* pThis = const_cast<SmModule*>(this);
- pThis->pVirtualDev = new VirtualDevice;
- pThis->pVirtualDev->SetReferenceDevice( VirtualDevice::REFDEV_MODE_MSO1 );
+ if (mpColorConfig)
+ mpColorConfig->RemoveListener(this);
}
void SmModule::ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg )
@@ -220,25 +197,25 @@ void SmModule::ApplyColorConfigValues( const svtools::ColorConfig &rColorCfg )
svtools::ColorConfig & SmModule::GetColorConfig()
{
- if(!pColorConfig)
+ if(!mpColorConfig)
{
- pColorConfig = new svtools::ColorConfig;
- ApplyColorConfigValues( *pColorConfig );
- pColorConfig->AddListener(this);
+ mpColorConfig.reset(new svtools::ColorConfig);
+ ApplyColorConfigValues( *mpColorConfig );
+ mpColorConfig->AddListener(this);
}
- return *pColorConfig;
+ return *mpColorConfig;
}
void SmModule::ConfigurationChanged( utl::ConfigurationBroadcaster*, sal_uInt32 )
{
- ApplyColorConfigValues(*pColorConfig);
+ ApplyColorConfigValues(*mpColorConfig);
}
SmConfig * SmModule::GetConfig()
{
- if(!pConfig)
- pConfig = new SmConfig;
- return pConfig;
+ if(!mpConfig)
+ mpConfig.reset(new SmConfig);
+ return mpConfig.get();
}
SmSymbolManager & SmModule::GetSymbolManager()
@@ -246,11 +223,28 @@ SmSymbolManager & SmModule::GetSymbolManager()
return GetConfig()->GetSymbolManager();
}
-SmLocalizedSymbolData & SmModule::GetLocSymbolData() const
+SmLocalizedSymbolData & SmModule::GetLocSymbolData()
+{
+ if (!mpLocSymbolData)
+ mpLocSymbolData.reset(new SmLocalizedSymbolData);
+ return *mpLocSymbolData;
+}
+
+const SvtSysLocale& SmModule::GetSysLocale()
{
- if (!pLocSymbolData)
- const_cast<SmModule *>(this)->pLocSymbolData = new SmLocalizedSymbolData;
- return *pLocSymbolData;
+ if( !mpSysLocale )
+ mpSysLocale.reset(new SvtSysLocale);
+ return *mpSysLocale;
+}
+
+VirtualDevice &SmModule::GetDefaultVirtualDev()
+{
+ if (!mpVirtualDev)
+ {
+ mpVirtualDev.reset(new VirtualDevice);
+ mpVirtualDev->SetReferenceDevice( VirtualDevice::REFDEV_MODE_MSO1 );
+ }
+ return *mpVirtualDev;
}
void SmModule::GetState(SfxItemSet &rSet)