Kaydet (Commit) 77f8397f authored tarafından Rafael Dominguez's avatar Rafael Dominguez Kaydeden (comit) Luboš Luňák

Overload SdDrawDocument::InsertBookmark to use vector instead of List.

üst 6a0ca287
......@@ -273,6 +273,12 @@ public:
::sd::DrawDocShell* pBookmarkDocSh, sal_Bool bCopy,
Point* pObjPos);
sal_Bool InsertBookmark(const std::vector<rtl::OUString> &rBookmarkList,
std::vector<rtl::OUString> &rExchangeList, sal_Bool bLink,
sal_Bool bReplace, sal_uInt16 nPgPos, sal_Bool bNoDialogs,
::sd::DrawDocShell* pBookmarkDocSh, sal_Bool bCopy,
Point* pObjPos);
bool IsStartWithPresentation() const;
void SetStartWithPresentation( bool bStartWithPresentation );
......
......@@ -437,6 +437,81 @@ sal_Bool SdDrawDocument::InsertBookmark(
return bOK;
}
sal_Bool SdDrawDocument::InsertBookmark(
const std::vector<rtl::OUString> &rBookmarkList, // Liste der Namen der einzufuegenden Bookmarks
std::vector<rtl::OUString> &rExchangeList, // Liste der zu verwendenen Namen
sal_Bool bLink, // Bookmarks sollen als Verknuepfung eingefuegt werden
sal_Bool bReplace, // Aktuellen Seiten (Standard&Notiz) werden ersetzt
sal_uInt16 nInsertPos, // Einfuegeposition fuer Seiten
sal_Bool bNoDialogs, // Keine Dialoge anzeigen
::sd::DrawDocShell* pBookmarkDocSh, // Wenn gesetzt, so ist dieses das Source-Dokument
sal_Bool bCopy, // Seiten werden kopiert
Point* pObjPos) // Einfuegeposition fuer Objekte
{
sal_Bool bOK = sal_True;
sal_Bool bInsertPages = sal_False;
if (rBookmarkList.empty())
{
/**********************************************************************
* Alle Seiten werden eingefuegt
**********************************************************************/
bInsertPages = sal_True;
}
else
{
SdDrawDocument* pBookmarkDoc = NULL;
String aBookmarkName;
if (pBookmarkDocSh)
{
pBookmarkDoc = pBookmarkDocSh->GetDoc();
aBookmarkName = pBookmarkDocSh->GetMedium()->GetName();
}
else if ( mxBookmarkDocShRef.Is() )
{
pBookmarkDoc = mxBookmarkDocShRef->GetDoc();
aBookmarkName = maBookmarkFile;
}
else
bOK = sal_False;
std::vector<rtl::OUString>::const_iterator pIter;
for ( pIter = rBookmarkList.begin(); bOK && pIter != rBookmarkList.end() && !bInsertPages; ++pIter )
{
/******************************************************************
* Gibt es in der Bookmark-Liste einen Seitennamen?
******************************************************************/
String aBMPgName(*pIter);
sal_Bool bIsMasterPage;
if( pBookmarkDoc->GetPageByName( aBMPgName, bIsMasterPage ) != SDRPAGE_NOTFOUND )
{
// Seite gefunden
bInsertPages = sal_True;
}
}
}
sal_Bool bCalcObjCount = !rExchangeList.empty();
if ( bOK && bInsertPages )
{
// Zuerst werden alle Seiten-Bookmarks eingefuegt
bOK = InsertBookmarkAsPage(rBookmarkList, rExchangeList, bLink, bReplace,
nInsertPos, bNoDialogs, pBookmarkDocSh, bCopy, sal_True, sal_False);
}
if ( bOK && !rBookmarkList.empty() )
{
// Es werden alle Objekt-Bookmarks eingefuegt
bOK = InsertBookmarkAsObject(rBookmarkList, rExchangeList, bLink,
pBookmarkDocSh, pObjPos, bCalcObjCount);
}
return bOK;
}
sal_Bool SdDrawDocument::InsertBookmarkAsPage(
List* pBookmarkList,
List* pExchangeList, // Liste der zu verwendenen Namen
......
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