From 8dd7335a831073464f900ba3ab8136f41683bf26 Mon Sep 17 00:00:00 2001
From: Rafael Dominguez <venccsralph@gmail.com>
Date: Tue, 27 Mar 2012 20:52:02 -0430
Subject: [PATCH 19/31] Replace deprecated List class for std::vector<rtl::OUString>.

---
 sd/source/ui/func/fuinsfil.cxx |   74 ++++++---------------------------------
 1 files changed, 12 insertions(+), 62 deletions(-)

diff --git a/sd/source/ui/func/fuinsfil.cxx b/sd/source/ui/func/fuinsfil.cxx
index 96ecec2..bc9d9dd 100644
--- a/sd/source/ui/func/fuinsfil.cxx
+++ b/sd/source/ui/func/fuinsfil.cxx
@@ -334,9 +334,6 @@ sal_Bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
 {
     sal_Bool bOK = sal_False;
 
-    // Liste mit Seitennamen (wenn NULL, dann alle Seiten)
-    List* pBookmarkList = NULL;
-
     mpDocSh->SetWaitCursor( sal_False );
     SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
     AbstractSdInsertPagesObjsDlg* pDlg = pFact ? pFact->CreateSdInsertPagesObjsDlg( NULL, mpDoc, pMedium, aFile ) : 0;
@@ -357,8 +354,10 @@ sal_Bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
 
     if( nRet == RET_OK )
     {
+        std::vector<rtl::OUString> aBookmarkList;       // Liste mit Seitennamen (wenn NULL, dann alle Seiten)
+
         // Zuerst Seiten einfuegen
-        pBookmarkList = pDlg->GetList( 1 ); // Seiten
+        pDlg->GetList( 1, aBookmarkList ); // Seiten
         sal_Bool bLink = pDlg->IsLink();
         sal_Bool bReplace = sal_False;
         SdPage* pPage = NULL;
@@ -388,84 +387,35 @@ sal_Bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
         }
 
         sal_Bool  bNameOK;
-        List* pObjectBookmarkList = pDlg->GetList( 2 ); // Objekte
-        List* pExchangeList = NULL;
+        std::vector<rtl::OUString> aObjectBookmarkList, aExchangeList;
+        pDlg->GetList( 2, aObjectBookmarkList ); // Objekte
 
         // Es werden ausgewaehlte Seiten und/oder ausgewaehlte Objekte oder
         // alles eingefuegt, wenn pBookmarkList NULL ist!
-        if( pBookmarkList || !pObjectBookmarkList )
+        if( !aBookmarkList.empty() || aObjectBookmarkList.empty() )
         {
             // Um zu gewaehrleisten, dass alle Seitennamen eindeutig sind, werden
             // die einzufuegenden geprueft und gegebenenfalls in einer Ersatzliste
             // aufgenommen
             // bNameOK == sal_False -> Benutzer hat abgebrochen
-            bNameOK = mpView->GetExchangeList( pExchangeList, pBookmarkList, 0 );
+            bNameOK = mpView->GetExchangeList( aExchangeList, aBookmarkList, 0 );
 
             if( bNameOK )
-                bOK = mpDoc->InsertBookmarkAsPage( pBookmarkList, pExchangeList,
+                bOK = mpDoc->InsertBookmarkAsPage( aBookmarkList, aExchangeList,
                                     bLink, bReplace, nPos,
                                     sal_False, NULL, sal_True, sal_True, sal_False );
 
-            // delete the BookmarkList
-            if( pBookmarkList )
-            {
-                String* pString = (String*) pBookmarkList->First();
-                while( pString )
-                {
-                    delete pString;
-                    pString = (String*) pBookmarkList->Next();
-                }
-                delete pBookmarkList;
-                pBookmarkList = NULL;
-            }
-            // delete the ExchangeList
-            if( pExchangeList )
-            {
-                String* pString = (String*) pExchangeList->First();
-                while( pString )
-                {
-                    delete pString;
-                    pString = (String*) pExchangeList->Next();
-                }
-                delete pExchangeList;
-                pExchangeList = NULL;
-            }
+            aBookmarkList.clear();
+            aExchangeList.clear();
         }
-        // Dann Objekte einfuegen
-        pBookmarkList = pObjectBookmarkList;
 
         // Um zu gewaehrleisten... (s.o.)
-        bNameOK = mpView->GetExchangeList( pExchangeList, pBookmarkList, 1 );
+        bNameOK = mpView->GetExchangeList( aExchangeList, aObjectBookmarkList, 1 );
 
         if( bNameOK )
-            bOK = mpDoc->InsertBookmarkAsObject( pBookmarkList, pExchangeList,
+            bOK = mpDoc->InsertBookmarkAsObject( aObjectBookmarkList, aExchangeList,
                                 bLink, NULL, NULL);
 
-        // delete the BookmarkList
-        if( pBookmarkList )
-        {
-            String* pString = (String*) pBookmarkList->First();
-            while( pString )
-            {
-                delete pString;
-                pString = (String*) pBookmarkList->Next();
-            }
-            delete pBookmarkList;
-            pBookmarkList = NULL;
-        }
-        // delete the ExchangeList
-        if( pExchangeList )
-        {
-            String* pString = (String*) pExchangeList->First();
-            while( pString )
-            {
-                delete pString;
-                pString = (String*) pExchangeList->Next();
-            }
-            delete pExchangeList;
-            pExchangeList = NULL;
-        }
-
         if( pDlg->IsRemoveUnnessesaryMasterPages() )
             mpDoc->RemoveUnnecessaryMasterPages();
     }
-- 
1.7.3.4

