Kaydet (Commit) 00da9792 authored tarafından Noel Grandin's avatar Noel Grandin

simplify SfxEventNamesList

no need to store elements of vector on the heap

Change-Id: I314372b8f81b117c07676263c0c3481b51374f33
Reviewed-on: https://gerrit.libreoffice.org/67397
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 3be2a53e
......@@ -197,8 +197,8 @@ void SfxMacroTabPage::PageCreated(const SfxAllItemSet& aSet)
const SfxEventNamesList& rList = static_cast<const SfxEventNamesItem*>(pEventsItem)->GetEvents();
for ( size_t nNo = 0, nCnt = rList.size(); nNo < nCnt; ++nNo )
{
const SfxEventName *pOwn = rList.at(nNo);
AddEvent( pOwn->maUIName, pOwn->mnId );
const SfxEventName &rOwn = rList.at(nNo);
AddEvent( rOwn.maUIName, rOwn.mnId );
}
}
}
......@@ -216,8 +216,8 @@ void SfxMacroTabPage::Reset( const SfxItemSet* rSet )
const SfxEventNamesList& rList = static_cast<const SfxEventNamesItem*>(pEventsItem)->GetEvents();
for ( size_t nNo = 0, nCnt = rList.size(); nNo < nCnt; ++nNo )
{
const SfxEventName *pOwn = rList.at(nNo);
AddEvent( pOwn->maUIName, pOwn->mnId );
const SfxEventName &rOwn = rList.at(nNo);
AddEvent( rOwn.maUIName, rOwn.mnId );
}
}
......
......@@ -35,9 +35,9 @@ class SvxMacroTableDtor;
struct SFX2_DLLPUBLIC SfxEventName
{
SvMacroItemId const mnId;
OUString const maEventName;
OUString const maUIName;
SvMacroItemId mnId;
OUString maEventName;
OUString maUIName;
SfxEventName( SvMacroItemId nId,
const OUString& rEventName,
......@@ -50,7 +50,7 @@ struct SFX2_DLLPUBLIC SfxEventName
class SFX2_DLLPUBLIC SfxEventNamesList
{
private:
::std::vector< std::unique_ptr<SfxEventName> > aEventNamesList;
::std::vector< SfxEventName > aEventNamesList;
public:
SfxEventNamesList() {}
......@@ -60,10 +60,10 @@ public:
size_t size() const { return aEventNamesList.size(); };
SfxEventName* at( size_t Index ) const
{ return Index < aEventNamesList.size() ? aEventNamesList[ Index ].get() : nullptr; }
SfxEventName& at( size_t Index ) { return aEventNamesList[ Index ]; }
SfxEventName const & at( size_t Index ) const { return aEventNamesList[ Index ]; }
void push_back( std::unique_ptr<SfxEventName> Item ) { aEventNamesList.push_back( std::move(Item) ); }
void push_back( SfxEventName Item ) { aEventNamesList.push_back( std::move(Item) ); }
};
class SFX2_DLLPUBLIC SfxEventNamesItem : public SfxPoolItem
......
......@@ -49,17 +49,7 @@
using namespace com::sun::star;
SfxEventNamesList& SfxEventNamesList::operator=( const SfxEventNamesList& rTbl )
{
aEventNamesList.clear();
for ( size_t i = 0, n = rTbl.size(); i < n; ++i )
{
SfxEventName* pTmp = rTbl.at( i );
std::unique_ptr<SfxEventName> pNew(new SfxEventName( *pTmp ));
aEventNamesList.push_back( std::move(pNew) );
}
return *this;
}
SfxEventNamesList& SfxEventNamesList::operator=( const SfxEventNamesList& ) = default;
SfxEventNamesList::~SfxEventNamesList()
{
......@@ -77,11 +67,11 @@ bool SfxEventNamesItem::operator==( const SfxPoolItem& rAttr ) const
for ( size_t nNo = 0, nCnt = rOwn.size(); nNo < nCnt; ++nNo )
{
const SfxEventName *pOwn = rOwn.at( nNo );
const SfxEventName *pOther = rOther.at( nNo );
if ( pOwn->mnId != pOther->mnId ||
pOwn->maEventName != pOther->maEventName ||
pOwn->maUIName != pOther->maUIName )
const SfxEventName &rOwnEvent = rOwn.at( nNo );
const SfxEventName &rOtherEvent = rOther.at( nNo );
if ( rOwnEvent.mnId != rOtherEvent.mnId ||
rOwnEvent.maEventName != rOtherEvent.maEventName ||
rOwnEvent.maUIName != rOtherEvent.maUIName )
return false;
}
......@@ -112,7 +102,7 @@ sal_uInt16 SfxEventNamesItem::GetVersion( sal_uInt16 ) const
void SfxEventNamesItem::AddEvent( const OUString& rName, const OUString& rUIName, SvMacroItemId nID )
{
aEventsList.push_back( std::unique_ptr<SfxEventName>(new SfxEventName( nID, rName, !rUIName.isEmpty() ? rUIName : rName )) );
aEventsList.push_back( SfxEventName( nID, rName, !rUIName.isEmpty() ? rUIName : rName ) );
}
......
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