sc/source/core/data/column.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
New commits: commit 23b581c56f84824f07244107792d062b6b777cf2 Author: Laurent Godard <lgodard.li...@laposte.net> Date: Fri Sep 20 15:16:57 2013 +0200 Notes are hard copied on paste special "as link" Change-Id: Ie5fb136f151396faeb386ce40e9bee473f491841 diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index 08d1a6e..aea68e0 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -1597,13 +1597,10 @@ void ScColumn::CopyCellToDocument( SCROW nSrcRow, SCROW nDestRow, ScColumn& rDes if (bSet) { rDestCol.maCellTextAttrs.set(nDestRow, maCellTextAttrs.get<sc::CellTextAttr>(nSrcRow)); - ScPostIt* pPostIt = maCellNotes.get<ScPostIt*>(nSrcRow); - rDestCol.maCellNotes.set(nDestRow, pPostIt); } else { rDestCol.maCellTextAttrs.set_empty(nDestRow, nDestRow); - rDestCol.maCellNotes.set_empty(nDestRow, nDestRow); } rDestCol.CellStorageModified(); @@ -1666,8 +1663,9 @@ class CopyAsLinkHandler setDefaultAttrsToDest(nTopRow, nDataSize); } - void linkNotes(SCROW nStartRow, size_t nDataSize ) // TODO : notes suboptimal + void duplicateNotes(SCROW nStartRow, size_t nDataSize ) // TODO : notes suboptimal { + // the link status is only for cell content as it is not possible to un-link a note sc::CellNoteStoreType maSrcCellNotes = mrSrcCol.GetCellNoteStore(); SCROW nRowMax = nStartRow + nDataSize; @@ -1677,8 +1675,11 @@ class CopyAsLinkHandler if (pSrcNote) { ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nRow, mrDestCol.GetTab()); + ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nRow, mrSrcCol.GetTab() ), + mrDestCol.GetDoc(), + aDestPos, true ); mrDestCol.GetDoc().ReleaseNote(aDestPos); - mrDestCol.GetDoc().SetNote(aDestPos, pSrcNote); + mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote); } } } @@ -1701,8 +1702,8 @@ public: { size_t nRow = aNode.position + nOffset; - if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) // - linkNotes(nRow, nDataSize ); // TODO : notes not actually working + if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) + duplicateNotes(nRow, nDataSize ); switch (aNode.type) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits