Kaydet (Commit) f6a4f11a authored tarafından Takeshi Abe's avatar Takeshi Abe Kaydeden (comit) Caolán McNamara

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/15359Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst f6644e9a
......@@ -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;
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment