[Libreoffice-commits] core.git: starmath/inc starmath/source

Takeshi Abe tabe at fixedpoint.jp
Mon Apr 20 03:32:15 PDT 2015


 starmath/inc/smmod.hxx    |   32 ++++++--------------
 starmath/source/smmod.cxx |   72 +++++++++++++++++++++-------------------------
 2 files changed, 43 insertions(+), 61 deletions(-)

New commits:
commit f6a4f11afb7c4dcd72b52892f2e449478a3d7017
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date:   Fri Apr 17 11:56:07 2015 +0900

    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 at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/starmath/inc/smmod.hxx b/starmath/inc/smmod.hxx
index 7d26cd9..e324fe8 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 e6b12c4..4c0e5e1 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)


More information about the Libreoffice-commits mailing list