Kaydet (Commit) ac010423 authored tarafından Michael Stahl's avatar Michael Stahl

sw: clean up SwDoc::maPatternNms nonsense

Change-Id: I0a166d1b58b23cac96ae27d446d6d8ed2442df8e
üst 20bd0a2e
...@@ -263,7 +263,7 @@ class SW_DLLPUBLIC SwDoc : ...@@ -263,7 +263,7 @@ class SW_DLLPUBLIC SwDoc :
Idle maOLEModifiedIdle; //< Timer for update modified OLE-Objects Idle maOLEModifiedIdle; //< Timer for update modified OLE-Objects
SwDBData maDBData; //< database descriptor SwDBData maDBData; //< database descriptor
OUString msTOIAutoMarkURL; //< URL of table of index AutoMark file OUString msTOIAutoMarkURL; //< URL of table of index AutoMark file
boost::ptr_vector< boost::nullable<OUString> > maPatternNms; // Array for names of document-templates std::vector<OUString> m_PatternNames; //< Array for names of document-templates
com::sun::star::uno::Reference<com::sun::star::container::XNameContainer> com::sun::star::uno::Reference<com::sun::star::container::XNameContainer>
mxXForms; //< container with XForms models mxXForms; //< container with XForms models
mutable com::sun::star::uno::Reference< com::sun::star::linguistic2::XProofreadingIterator > m_xGCIterator; mutable com::sun::star::uno::Reference< com::sun::star::linguistic2::XProofreadingIterator > m_xGCIterator;
...@@ -907,17 +907,10 @@ public: ...@@ -907,17 +907,10 @@ public:
static bool IsUsed( const SwNumRule& ); static bool IsUsed( const SwNumRule& );
// Set name of newly loaded document template. // Set name of newly loaded document template.
sal_uInt16 SetDocPattern( const OUString& rPatternName ); size_t SetDocPattern(const OUString& rPatternName);
// @return name of document template. Can be 0! // @return name of document template. Can be 0!
const OUString* GetDocPattern( sal_uInt16 nPos ) const const OUString* GetDocPattern(size_t nPos) const;
{
if(nPos >= maPatternNms.size())
return NULL;
if(boost::is_null(maPatternNms.begin() + nPos))
return NULL;
return &(maPatternNms[nPos]);
}
// Query / connect current document with glossary document. // Query / connect current document with glossary document.
void SetGlossaryDoc( SwDoc* pDoc ) { mpGlossaryDoc = pDoc; } void SetGlossaryDoc( SwDoc* pDoc ) { mpGlossaryDoc = pDoc; }
......
...@@ -131,28 +131,31 @@ bool SwDoc::IsUsed( const SwNumRule& rRule ) ...@@ -131,28 +131,31 @@ bool SwDoc::IsUsed( const SwNumRule& rRule )
return bUsed; return bUsed;
} }
const OUString* SwDoc::GetDocPattern(size_t const nPos) const
{
if (nPos >= m_PatternNames.size())
return nullptr;
return &m_PatternNames[nPos];
}
// Look for the style name's position. If it doesn't exist, // Look for the style name's position. If it doesn't exist,
// insert a anew // insert a anew
sal_uInt16 SwDoc::SetDocPattern( const OUString& rPatternName ) size_t SwDoc::SetDocPattern(const OUString& rPatternName)
{ {
OSL_ENSURE( !rPatternName.isEmpty(), "no Document style name" ); OSL_ENSURE( !rPatternName.isEmpty(), "no Document style name" );
size_t nNewPos = maPatternNms.size(); auto const iter(
for(size_t n = 0; n < maPatternNms.size(); ++n) std::find(m_PatternNames.begin(), m_PatternNames.end(), rPatternName));
if( boost::is_null(maPatternNms.begin() + n) ) if (iter != m_PatternNames.end())
{ {
if( nNewPos == maPatternNms.size() ) return std::distance(m_PatternNames.begin(), iter);
nNewPos = n;
} }
else if( rPatternName == maPatternNms[n] ) else
return n; {
m_PatternNames.push_back(rPatternName);
if( nNewPos < maPatternNms.size() )
maPatternNms.erase(maPatternNms.begin() + nNewPos); // Free space again
maPatternNms.insert(maPatternNms.begin() + nNewPos, new OUString(rPatternName));
getIDocumentState().SetModified(); getIDocumentState().SetModified();
return nNewPos; return m_PatternNames.size() - 1;
}
} }
sal_uInt16 GetPoolParent( sal_uInt16 nId ) sal_uInt16 GetPoolParent( sal_uInt16 nId )
......
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