summaryrefslogtreecommitdiff
path: root/sfx2/source/dialog/versdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/dialog/versdlg.cxx')
-rw-r--r--sfx2/source/dialog/versdlg.cxx59
1 files changed, 30 insertions, 29 deletions
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx
index fa20b7dbb1..9ae9c09e76 100644
--- a/sfx2/source/dialog/versdlg.cxx
+++ b/sfx2/source/dialog/versdlg.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -28,7 +29,6 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
#include <unotools/localedatawrapper.hxx>
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
#endif
#include <svl/eitem.hxx>
@@ -54,8 +54,10 @@
#include <sfx2/request.hxx>
#include <sfx2/sfxuno.hxx>
+#include <vector>
using namespace com::sun::star;
+using ::std::vector;
// **************************************************************************
struct SfxVersionInfo
@@ -78,16 +80,15 @@ struct SfxVersionInfo
return *this;
}
};
-DECLARE_LIST( _SfxVersionTable, SfxVersionInfo* )
-class SfxVersionTableDtor : public _SfxVersionTable
+
+typedef vector< SfxVersionInfo* > _SfxVersionTable;
+
+class SfxVersionTableDtor
{
+private:
+ _SfxVersionTable aTableList;
public:
- SfxVersionTableDtor( const sal_uInt16 nInitSz=0, const sal_uInt16 nReSz=1 )
- : _SfxVersionTable( nInitSz, nReSz )
- {}
-
- SfxVersionTableDtor( const SfxVersionTableDtor &rCpy ) :
- _SfxVersionTable( rCpy )
+ SfxVersionTableDtor( const SfxVersionTableDtor &rCpy )
{ *this = rCpy; }
SfxVersionTableDtor( const uno::Sequence < util::RevisionTag >& rInfo );
@@ -100,6 +101,12 @@ public:
SvStream& Read( SvStream & );
SvStream& Write( SvStream & ) const;
SvStringsDtor* GetVersions() const;
+
+ size_t size() const
+ { return aTableList.size(); }
+
+ SfxVersionInfo* at( size_t i ) const
+ { return aTableList[ i ]; }
};
SfxVersionTableDtor::SfxVersionTableDtor( const uno::Sequence < util::RevisionTag >& rInfo )
@@ -111,34 +118,28 @@ SfxVersionTableDtor::SfxVersionTableDtor( const uno::Sequence < util::RevisionTa
pInfo->aComment = rInfo[n].Comment;
pInfo->aAuthor = rInfo[n].Author;
- Date aDate ( rInfo[n].TimeStamp.Day, rInfo[n].TimeStamp.Month, rInfo[n].TimeStamp.Year );
+ Date aDate ( rInfo[n].TimeStamp.Day, rInfo[n].TimeStamp.Month, rInfo[n].TimeStamp.Year );
Time aTime ( rInfo[n].TimeStamp.Hours, rInfo[n].TimeStamp.Minutes, rInfo[n].TimeStamp.Seconds, rInfo[n].TimeStamp.HundredthSeconds );
pInfo->aCreationDate = DateTime( aDate, aTime );
- Insert( pInfo, Count() );
+ aTableList.push_back( pInfo );
}
}
void SfxVersionTableDtor::DelDtor()
{
- SfxVersionInfo* pTmp = First();
- while( pTmp )
- {
- delete pTmp;
- pTmp = Next();
- }
- Clear();
+ for ( size_t i = 0, n = aTableList.size(); i < n; ++i )
+ delete aTableList[ i ];
+ aTableList.clear();
}
SfxVersionTableDtor& SfxVersionTableDtor::operator=( const SfxVersionTableDtor& rTbl )
{
DelDtor();
- SfxVersionInfo* pTmp = ((SfxVersionTableDtor&)rTbl).First();
- while( pTmp )
+ for ( size_t i = 0, n = rTbl.size(); i < n; ++i )
{
- SfxVersionInfo *pNew = new SfxVersionInfo( *pTmp );
- Insert( pNew, LIST_APPEND );
- pTmp = ((SfxVersionTableDtor&)rTbl).Next();
+ SfxVersionInfo* pNew = new SfxVersionInfo( *(rTbl.at( i )) );
+ aTableList.push_back( pNew );
}
return *this;
}
@@ -162,17 +163,16 @@ static String ConvertDateTime_Impl(const DateTime& rTime, const LocaleDataWrappe
SvStringsDtor* SfxVersionTableDtor::GetVersions() const
{
SvStringsDtor *pList = new SvStringsDtor;
- SfxVersionInfo* pInfo = ((SfxVersionTableDtor*) this)->First();
LocaleDataWrapper aLocaleWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() );
- while ( pInfo )
+
+ for ( size_t i = 0, n = aTableList.size(); i < n; ++i )
{
+ SfxVersionInfo* pInfo = aTableList[ i ];
String *pString = new String( pInfo->aComment );
(*pString) += DEFINE_CONST_UNICODE( "; " );
(*pString) += ConvertDateTime_Impl( pInfo->aCreationDate, aLocaleWrapper );
pList->Insert( pString, pList->Count() );
- pInfo = ((SfxVersionTableDtor*) this)->Next();
}
-
return pList;
}
@@ -285,9 +285,9 @@ void SfxVersionDialog::Init_Impl()
delete mpTable;
mpTable = new SfxVersionTableDtor( aVersions );
{
- for ( USHORT n = 0; n < mpTable->Count(); ++n )
+ for ( size_t n = 0; n < mpTable->size(); ++n )
{
- SfxVersionInfo *pInfo = mpTable->GetObject(n);
+ SfxVersionInfo *pInfo = mpTable->at( n );
String aEntry = ConvertDateTime_Impl( pInfo->aCreationDate, *mpLocaleWrapper );
aEntry += '\t';
aEntry += pInfo->aAuthor;
@@ -517,3 +517,4 @@ IMPL_LINK( SfxViewVersionDialog_Impl, ButtonHdl, Button*, pButton )
return 0L;
}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */