[Libreoffice-commits] core.git: sc/source
Noel Grandin
noel.grandin at collabora.co.uk
Wed Jul 11 06:08:08 UTC 2018
sc/source/ui/dbgui/PivotLayoutDialog.cxx | 3
sc/source/ui/inc/tabvwsh.hxx | 52 ++++++++--------
sc/source/ui/view/cellsh1.cxx | 7 +-
sc/source/ui/view/tabvwsh4.cxx | 98 ++++++++++++++-----------------
sc/source/ui/view/tabvwsh8.cxx | 12 +--
sc/source/ui/view/tabvwshc.cxx | 2
sc/source/ui/view/tabvwshe.cxx | 2
sc/source/ui/view/tabvwshh.cxx | 2
8 files changed, 86 insertions(+), 92 deletions(-)
New commits:
commit 877362dadf34c910365490ce53b2dcf902dab8cc
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date: Tue Jul 10 14:06:47 2018 +0200
loplugin:useuniqueptr in ScTabViewShell
Change-Id: I35061f62244ea40ce66bbb0ba09edf9b45d62742
Reviewed-on: https://gerrit.libreoffice.org/57244
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/sc/source/ui/dbgui/PivotLayoutDialog.cxx b/sc/source/ui/dbgui/PivotLayoutDialog.cxx
index 70f436c0396e..e12be901ba99 100644
--- a/sc/source/ui/dbgui/PivotLayoutDialog.cxx
+++ b/sc/source/ui/dbgui/PivotLayoutDialog.cxx
@@ -13,6 +13,7 @@
#include <PivotLayoutDialog.hxx>
#include <reffact.hxx>
#include <svtools/treelistentry.hxx>
+#include <o3tl/make_unique.hxx>
#include <rangeutl.hxx>
#include <uiitems.hxx>
@@ -503,7 +504,7 @@ void ScPivotLayoutDialog::ApplyChanges()
sal_uInt16 nWhichPivot = SC_MOD()->GetPool().GetWhich(SID_PIVOT_TABLE);
ScPivotItem aPivotItem(nWhichPivot, &aSaveData, &aDestinationRange, bToNewSheet);
- mpViewData->GetViewShell()->SetDialogDPObject(&maPivotTableObject);
+ mpViewData->GetViewShell()->SetDialogDPObject(o3tl::make_unique<ScDPObject>(maPivotTableObject));
SfxDispatcher* pDispatcher = GetBindings().GetDispatcher();
diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx
index a59a0ae265ac..fd531de17a8b 100644
--- a/sc/source/ui/inc/tabvwsh.hxx
+++ b/sc/source/ui/inc/tabvwsh.hxx
@@ -99,26 +99,26 @@ private:
sal_uInt16 nDrawSfxId;
sal_uInt16 nFormSfxId;
OUString sDrawCustom; // current custom shape type
- ScDrawShell* pDrawShell;
- ScDrawTextObjectBar* pDrawTextShell;
- ScEditShell* pEditShell;
- ScPivotShell* pPivotShell;
- ScAuditingShell* pAuditingShell;
- ScDrawFormShell* pDrawFormShell;
- ScCellShell* pCellShell;
- ScOleObjectShell* pOleObjectShell;
- ScChartShell* pChartShell;
- ScGraphicShell* pGraphicShell;
- ScMediaShell* pMediaShell;
- ScPageBreakShell* pPageBreakShell;
- svx::ExtrusionBar* pExtrusionBarShell;
- svx::FontworkBar* pFontworkBarShell;
-
- FmFormShell* pFormShell;
+ std::unique_ptr<ScDrawShell> pDrawShell;
+ std::unique_ptr<ScDrawTextObjectBar> pDrawTextShell;
+ std::unique_ptr<ScEditShell> pEditShell;
+ std::unique_ptr<ScPivotShell> pPivotShell;
+ std::unique_ptr<ScAuditingShell> pAuditingShell;
+ std::unique_ptr<ScDrawFormShell> pDrawFormShell;
+ std::unique_ptr<ScCellShell> pCellShell;
+ std::unique_ptr<ScOleObjectShell> pOleObjectShell;
+ std::unique_ptr<ScChartShell> pChartShell;
+ std::unique_ptr<ScGraphicShell> pGraphicShell;
+ std::unique_ptr<ScMediaShell> pMediaShell;
+ std::unique_ptr<ScPageBreakShell> pPageBreakShell;
+ std::unique_ptr<svx::ExtrusionBar> pExtrusionBarShell;
+ std::unique_ptr<svx::FontworkBar> pFontworkBarShell;
+
+ std::unique_ptr<FmFormShell> pFormShell;
std::unique_ptr<ScInputHandler, o3tl::default_delete<ScInputHandler>> mpInputHandler; // for OLE input cell
- ::editeng::SvxBorderLine* pCurFrameLine;
+ std::unique_ptr<::editeng::SvxBorderLine> pCurFrameLine;
css::uno::Reference< css::frame::XDispatchProviderInterceptor >
xDisProvInterceptor;
@@ -126,10 +126,10 @@ private:
Point aWinPos;
ScTabViewTarget aTarget;
- ScArea* pPivotSource;
- ScDPObject* pDialogDPObject;
+ std::unique_ptr<ScArea> pPivotSource;
+ std::unique_ptr<ScDPObject> pDialogDPObject;
- ScNavigatorSettings* pNavSettings;
+ std::unique_ptr<ScNavigatorSettings> pNavSettings;
// used in first Activate
bool bFirstActivate;
@@ -159,7 +159,7 @@ private:
sal_uInt16 nCurRefDlgId;
- SfxBroadcaster* pAccessibilityBroadcaster;
+ std::unique_ptr<SfxBroadcaster> pAccessibilityBroadcaster;
// ugly hack for Add button in ScNameDlg
std::map<OUString, std::unique_ptr<ScRangeName>> m_RangeMap;
@@ -240,7 +240,7 @@ public:
void SetActive();
- ::editeng::SvxBorderLine* GetDefaultFrameLine() const { return pCurFrameLine; }
+ ::editeng::SvxBorderLine* GetDefaultFrameLine() const { return pCurFrameLine.get(); }
void SetDefaultFrameLine(const ::editeng::SvxBorderLine* pLine );
void Execute( SfxRequest& rReq );
@@ -279,8 +279,8 @@ public:
void SetDrawTextShell( bool bActive );
void SetPivotShell( bool bActive );
- void SetDialogDPObject( const ScDPObject* pObj );
- const ScDPObject* GetDialogDPObject() const { return pDialogDPObject; }
+ void SetDialogDPObject( std::unique_ptr<ScDPObject> pObj );
+ const ScDPObject* GetDialogDPObject() const { return pDialogDPObject.get(); }
void SetDontSwitch(bool bFlag){bDontSwitch=bFlag;}
@@ -333,8 +333,8 @@ public:
void UpdateOleZoom();
- virtual const FmFormShell* GetFormShell() const override { return pFormShell; }
- virtual FmFormShell* GetFormShell() override { return pFormShell; }
+ virtual const FmFormShell* GetFormShell() const override { return pFormShell.get(); }
+ virtual FmFormShell* GetFormShell() override { return pFormShell.get(); }
void InsertURL( const OUString& rName, const OUString& rURL, const OUString& rTarget,
sal_uInt16 nMode );
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index be04ff40351b..400a0273c9dd 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -2758,7 +2758,7 @@ void ScCellShell::ExecuteDataPilotDialog()
ScViewData* pData = GetViewData();
ScDocument* pDoc = pData->GetDocument();
- std::unique_ptr<ScDPObject> pNewDPObject(nullptr);
+ std::unique_ptr<ScDPObject> pNewDPObject;
// ScPivot is no longer used...
ScDPObject* pDPObj = pDoc->GetDPAtCursor(
@@ -2917,8 +2917,9 @@ void ScCellShell::ExecuteDataPilotDialog()
pNewDPObject->SetOutRange( aDestPos );
}
- pTabViewShell->SetDialogDPObject( pNewDPObject.get() ); // is copied
- if ( pNewDPObject )
+ bool bHadNewDPObject = pNewDPObject != nullptr;
+ pTabViewShell->SetDialogDPObject( std::move(pNewDPObject) );
+ if ( bHadNewDPObject )
{
// start layout dialog
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 6012975b26a6..7490a92c7e7d 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -747,7 +747,7 @@ void ScTabViewShell::SetEditShell(EditView* pView, bool bActive )
if (pEditShell)
pEditShell->SetEditView( pView );
else
- pEditShell = new ScEditShell( pView, &GetViewData() );
+ pEditShell.reset( new ScEditShell( pView, &GetViewData() ) );
SetCurSubShell(OST_Editing);
}
@@ -767,7 +767,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if(!pCellShell) // is anyway always used
{
- pCellShell = new ScCellShell( &GetViewData(), GetFrameWin() );
+ pCellShell.reset( new ScCellShell( &GetViewData(), GetFrameWin() ) );
pCellShell->SetRepeatTarget( &aTarget );
}
@@ -775,7 +775,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if(bPgBrk && !pPageBreakShell)
{
- pPageBreakShell = new ScPageBreakShell( this );
+ pPageBreakShell.reset( new ScPageBreakShell( this ) );
pPageBreakShell->SetRepeatTarget( &aTarget );
}
@@ -814,7 +814,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pDrawTextShell )
{
pDocSh->MakeDrawLayer();
- pDrawTextShell = new ScDrawTextObjectBar( &GetViewData() );
+ pDrawTextShell.reset( new ScDrawTextObjectBar( &GetViewData() ) );
}
AddSubShell(*pDrawTextShell);
}
@@ -824,21 +824,21 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if (svx::checkForSelectedCustomShapes(
GetScDrawView(), true /* bOnlyExtruded */ )) {
if (pExtrusionBarShell == nullptr)
- pExtrusionBarShell = new svx::ExtrusionBar(this);
+ pExtrusionBarShell.reset( new svx::ExtrusionBar(this) );
AddSubShell( *pExtrusionBarShell );
}
sal_uInt32 nCheckStatus = 0;
if (svx::checkForSelectedFontWork(
GetScDrawView(), nCheckStatus )) {
if (pFontworkBarShell == nullptr)
- pFontworkBarShell = new svx::FontworkBar(this);
+ pFontworkBarShell.reset( new svx::FontworkBar(this) );
AddSubShell( *pFontworkBarShell );
}
if ( !pDrawShell )
{
pDocSh->MakeDrawLayer();
- pDrawShell = new ScDrawShell( &GetViewData() );
+ pDrawShell.reset( new ScDrawShell( &GetViewData() ) );
pDrawShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pDrawShell);
@@ -851,7 +851,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pDrawFormShell )
{
pDocSh->MakeDrawLayer();
- pDrawFormShell = new ScDrawFormShell( &GetViewData() );
+ pDrawFormShell.reset( new ScDrawFormShell( &GetViewData() ) );
pDrawFormShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pDrawFormShell);
@@ -864,7 +864,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pChartShell )
{
pDocSh->MakeDrawLayer();
- pChartShell = new ScChartShell( &GetViewData() );
+ pChartShell.reset( new ScChartShell( &GetViewData() ) );
pChartShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pChartShell);
@@ -877,7 +877,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pOleObjectShell )
{
pDocSh->MakeDrawLayer();
- pOleObjectShell = new ScOleObjectShell( &GetViewData() );
+ pOleObjectShell.reset( new ScOleObjectShell( &GetViewData() ) );
pOleObjectShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pOleObjectShell);
@@ -890,7 +890,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pGraphicShell)
{
pDocSh->MakeDrawLayer();
- pGraphicShell = new ScGraphicShell( &GetViewData() );
+ pGraphicShell.reset( new ScGraphicShell( &GetViewData() ) );
pGraphicShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pGraphicShell);
@@ -903,7 +903,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pMediaShell)
{
pDocSh->MakeDrawLayer();
- pMediaShell = new ScMediaShell( &GetViewData() );
+ pMediaShell.reset( new ScMediaShell( &GetViewData() ) );
pMediaShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pMediaShell);
@@ -917,7 +917,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
if ( !pPivotShell )
{
- pPivotShell = new ScPivotShell( this );
+ pPivotShell.reset( new ScPivotShell( this ) );
pPivotShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pPivotShell);
@@ -933,7 +933,7 @@ void ScTabViewShell::SetCurSubShell(ObjectSelectionType eOST, bool bForce)
{
pDocSh->MakeDrawLayer(); // the waiting time rather now as on the click
- pAuditingShell = new ScAuditingShell( &GetViewData() );
+ pAuditingShell.reset( new ScAuditingShell( &GetViewData() ) );
pAuditingShell->SetRepeatTarget( &aTarget );
}
AddSubShell(*pAuditingShell);
@@ -985,10 +985,10 @@ SfxShell* ScTabViewShell::GetMySubShell() const
SfxShell* pSub = const_cast<ScTabViewShell*>(this)->GetSubShell(nPos);
while (pSub)
{
- if ( pSub == pDrawShell || pSub == pDrawTextShell || pSub == pEditShell ||
- pSub == pPivotShell || pSub == pAuditingShell || pSub == pDrawFormShell ||
- pSub == pCellShell || pSub == pOleObjectShell|| pSub == pChartShell ||
- pSub == pGraphicShell || pSub == pMediaShell || pSub == pPageBreakShell)
+ if ( pSub == pDrawShell.get() || pSub == pDrawTextShell.get() || pSub == pEditShell.get() ||
+ pSub == pPivotShell.get() || pSub == pAuditingShell.get() || pSub == pDrawFormShell.get() ||
+ pSub == pCellShell.get() || pSub == pOleObjectShell.get() || pSub == pChartShell.get() ||
+ pSub == pGraphicShell.get() || pSub == pMediaShell.get() || pSub == pPageBreakShell.get())
return pSub; // found
pSub = const_cast<ScTabViewShell*>(this)->GetSubShell(++nPos);
@@ -998,12 +998,12 @@ SfxShell* ScTabViewShell::GetMySubShell() const
bool ScTabViewShell::IsDrawTextShell() const
{
- return ( pDrawTextShell && ( GetMySubShell() == pDrawTextShell ) );
+ return ( pDrawTextShell && ( GetMySubShell() == pDrawTextShell.get() ) );
}
bool ScTabViewShell::IsAuditShell() const
{
- return ( pAuditingShell && ( GetMySubShell() == pAuditingShell ) );
+ return ( pAuditingShell && ( GetMySubShell() == pAuditingShell.get() ) );
}
void ScTabViewShell::SetDrawTextUndo( ::svl::IUndoManager* pNewUndoMgr )
@@ -1441,8 +1441,8 @@ void ScTabViewShell::Construct( TriState nForceDesignMode )
SetPool( &SC_MOD()->GetPool() );
SetWindow( GetActiveWin() );
- pCurFrameLine = new ::editeng::SvxBorderLine(&aColBlack, 20, SvxBorderLineStyle::SOLID);
- pPivotSource = new ScArea;
+ pCurFrameLine.reset( new ::editeng::SvxBorderLine(&aColBlack, 20, SvxBorderLineStyle::SOLID) );
+ pPivotSource.reset( new ScArea );
StartListening(*GetViewData().GetDocShell(), DuplicateHandling::Prevent);
StartListening(*GetViewFrame(), DuplicateHandling::Prevent);
StartListening(*pSfxApp, DuplicateHandling::Prevent); // #i62045# #i62046# application is needed for Calc's own hints
@@ -1499,7 +1499,7 @@ void ScTabViewShell::Construct( TriState nForceDesignMode )
// create FormShell before MakeDrawView, so that DrawView can be registered at the
// FormShell in every case
// the FormShell is pushed in the first activate
- pFormShell = new FmFormShell(this);
+ pFormShell.reset( new FmFormShell(this) );
pFormShell->SetControlActivationHandler( LINK( this, ScTabViewShell, FormControlActivated ) );
// DrawView must not be created in TabView - ctor,
@@ -1783,37 +1783,33 @@ ScTabViewShell::~ScTabViewShell()
RemoveSubShell(); // all
SetWindow(nullptr);
- DELETEZ(pFontworkBarShell);
- DELETEZ(pExtrusionBarShell);
- DELETEZ(pCellShell);
- DELETEZ(pPageBreakShell);
- DELETEZ(pDrawShell);
- DELETEZ(pDrawFormShell);
- DELETEZ(pOleObjectShell);
- DELETEZ(pChartShell);
- DELETEZ(pGraphicShell);
- DELETEZ(pMediaShell);
- DELETEZ(pDrawTextShell);
- DELETEZ(pEditShell);
- DELETEZ(pPivotShell);
- DELETEZ(pAuditingShell);
- DELETEZ(pCurFrameLine);
+ pFontworkBarShell.reset();
+ pExtrusionBarShell.reset();
+ pCellShell.reset();
+ pPageBreakShell.reset();
+ pDrawShell.reset();
+ pDrawFormShell.reset();
+ pOleObjectShell.reset();
+ pChartShell.reset();
+ pGraphicShell.reset();
+ pMediaShell.reset();
+ pDrawTextShell.reset();
+ pEditShell.reset();
+ pPivotShell.reset();
+ pAuditingShell.reset();
+ pCurFrameLine.reset();
mpInputHandler.reset();
- DELETEZ(pPivotSource);
- DELETEZ(pDialogDPObject);
- DELETEZ(pNavSettings);
+ pPivotSource.reset();
+ pDialogDPObject.reset();
+ pNavSettings.reset();
- DELETEZ(pFormShell);
- DELETEZ(pAccessibilityBroadcaster);
+ pFormShell.reset();
+ pAccessibilityBroadcaster.reset();
}
-void ScTabViewShell::SetDialogDPObject( const ScDPObject* pObj )
+void ScTabViewShell::SetDialogDPObject( std::unique_ptr<ScDPObject> pObj )
{
- delete pDialogDPObject;
- if (pObj)
- pDialogDPObject = new ScDPObject( *pObj );
- else
- pDialogDPObject = nullptr;
+ pDialogDPObject = std::move(pObj);
}
void ScTabViewShell::FillFieldData( ScHeaderFieldData& rData )
@@ -1845,8 +1841,8 @@ void ScTabViewShell::FillFieldData( ScHeaderFieldData& rData )
ScNavigatorSettings* ScTabViewShell::GetNavigatorSettings()
{
if( !pNavSettings )
- pNavSettings = new ScNavigatorSettings;
- return pNavSettings;
+ pNavSettings.reset(new ScNavigatorSettings);
+ return pNavSettings.get();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/view/tabvwsh8.cxx b/sc/source/ui/view/tabvwsh8.cxx
index bc83876ab6c3..3672d819be55 100644
--- a/sc/source/ui/view/tabvwsh8.cxx
+++ b/sc/source/ui/view/tabvwsh8.cxx
@@ -27,16 +27,12 @@ void ScTabViewShell::SetDefaultFrameLine( const ::editeng::SvxBorderLine* pLine
{
if ( pLine )
{
- delete pCurFrameLine;
- pCurFrameLine = new ::editeng::SvxBorderLine( &pLine->GetColor(),
+ pCurFrameLine.reset( new ::editeng::SvxBorderLine( &pLine->GetColor(),
pLine->GetWidth(),
- pLine->GetBorderLineStyle() );
- }
- else if ( pCurFrameLine )
- {
- delete pCurFrameLine;
- pCurFrameLine = nullptr;
+ pLine->GetBorderLineStyle() ) );
}
+ else
+ pCurFrameLine.reset();
}
bool ScTabViewShell::HasSelection( bool bText ) const
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index c3d4516c5d3e..85f7dba8d8ca 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -419,7 +419,7 @@ VclPtr<SfxModelessDialog> ScTabViewShell::CreateRefDialog(
ScViewData& rViewData = GetViewData();
rViewData.SetRefTabNo( rViewData.GetTabNo() );
ScDPObject* pObj = pDoc->GetDPAtCursor(rViewData.GetCurX(), rViewData.GetCurY(), rViewData.GetTabNo());
- pResult = VclPtr<ScPivotLayoutDialog>::Create(pB, pCW, pParent, &rViewData, pDialogDPObject, pObj == nullptr);
+ pResult = VclPtr<ScPivotLayoutDialog>::Create(pB, pCW, pParent, &rViewData, pDialogDPObject.get(), pObj == nullptr);
}
}
break;
diff --git a/sc/source/ui/view/tabvwshe.cxx b/sc/source/ui/view/tabvwshe.cxx
index d7cac6b903b0..0059534c22dd 100644
--- a/sc/source/ui/view/tabvwshe.cxx
+++ b/sc/source/ui/view/tabvwshe.cxx
@@ -46,7 +46,7 @@ OUString ScTabViewShell::GetSelectionText( bool bWholeWord )
{
OUString aStrSelection;
- if ( pEditShell && pEditShell == GetMySubShell() )
+ if ( pEditShell && pEditShell.get() == GetMySubShell() )
{
aStrSelection = pEditShell->GetSelectionText( bWholeWord );
}
diff --git a/sc/source/ui/view/tabvwshh.cxx b/sc/source/ui/view/tabvwshh.cxx
index ae6215d04cea..aebcfee4c932 100644
--- a/sc/source/ui/view/tabvwshh.cxx
+++ b/sc/source/ui/view/tabvwshh.cxx
@@ -208,7 +208,7 @@ void ScTabViewShell::GetObjectState( SfxItemSet& rSet )
void ScTabViewShell::AddAccessibilityObject( SfxListener& rObject )
{
if (!pAccessibilityBroadcaster)
- pAccessibilityBroadcaster = new SfxBroadcaster;
+ pAccessibilityBroadcaster.reset( new SfxBroadcaster );
rObject.StartListening( *pAccessibilityBroadcaster );
ScDocument* pDoc = GetViewData().GetDocument();
More information about the Libreoffice-commits
mailing list