[Libreoffice-commits] core.git: Branch 'feature/sc-notes-storage' - sc/source

Laurent Godard lgodard.libre at laposte.net
Tue Sep 17 03:58:31 PDT 2013


 sc/source/core/data/column.cxx  |    9 ++++++--
 sc/source/core/data/column3.cxx |   41 ++++++++++++++++++++++++++++------------
 2 files changed, 36 insertions(+), 14 deletions(-)

New commits:
commit 0a09abdf5f33b9d4a283af26b00c8ee8ad8dde14
Author: Laurent Godard <lgodard.libre at laposte.net>
Date:   Tue Sep 17 12:57:13 2013 +0200

    notes & clipboard
    
    a note is now copied, but at wrong line
    
    Change-Id: Idc3f4ec64007ba4b8430353c0e33c1d8fdbc1b96

diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 1ade76b..18592fd 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -1430,9 +1430,14 @@ public:
                 {
                     ScPostIt* pSrcNote = maSrcCellNotes.get<ScPostIt*>(nTopRow);
                     if (pSrcNote)
-                        pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nTopRow, mrSrcCol.GetTab() ),
+                    {
+                        ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nTopRow, mrDestCol.GetTab());
+                        ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nTopRow, mrSrcCol.GetTab() ),
                                          mrDestCol.GetDoc(),
-                                         ScAddress(mrDestCol.GetCol(), nTopRow, mrDestCol.GetTab()), true );
+                                         aDestPos, true );
+                        mrDestCol.GetDoc().ReleaseNote(aDestPos);
+                        mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote);
+                    }
                 }
             }
         }
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index d7a6014..19f2aa7 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -769,14 +769,19 @@ public:
                         {
                             ScPostIt* pSrcNote = maCellNotesSrc.get<ScPostIt*>(nSrcRow);
                             if (pSrcNote)
-                                pSrcNote->Clone( ScAddress(mnSrcCol, nSrcRow, mnSrcTab ),
+                            {
+                                ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nSrcRow, mrDestCol.GetTab());
+                                ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nSrcRow, mrSrcCol.GetTab() ),
                                                  mrDestCol.GetDoc(),
-                                                 ScAddress(mnCol , nSrcRow, mnTab),
-                                                 true );
+                                                 aDestPos, true );
+                                mrDestCol.GetDoc().ReleaseNote(aDestPos);
+                                mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote);
+                            }
                         }
                     }
                 }
             }
+
             break;
             case sc::element_type_string:
             {
@@ -803,10 +808,14 @@ public:
                         {
                             ScPostIt* pSrcNote = maCellNotesSrc.get<ScPostIt*>(nSrcRow);
                             if (pSrcNote)
-                                pSrcNote->Clone( ScAddress(mnSrcCol, nSrcRow, mnSrcTab ),
+                            {
+                                ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nSrcRow, mrDestCol.GetTab());
+                                ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nSrcRow, mrSrcCol.GetTab() ),
                                                  mrDestCol.GetDoc(),
-                                                 ScAddress(mnCol , nSrcRow, mnTab),
-                                                 true );
+                                                 aDestPos, true );
+                                mrDestCol.GetDoc().ReleaseNote(aDestPos);
+                                mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote);
+                            }
                         }
                     }
                 }
@@ -838,10 +847,14 @@ public:
                         {
                             ScPostIt* pSrcNote = maCellNotesSrc.get<ScPostIt*>(nSrcRow);
                             if (pSrcNote)
-                                pSrcNote->Clone( ScAddress(mnSrcCol, nSrcRow, mnSrcTab ),
+                            {
+                                ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nSrcRow, mrDestCol.GetTab());
+                                ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nSrcRow, mrSrcCol.GetTab() ),
                                                  mrDestCol.GetDoc(),
-                                                 ScAddress(mnCol , nSrcRow, mnTab),
-                                                 true );
+                                                 aDestPos, true );
+                                mrDestCol.GetDoc().ReleaseNote(aDestPos);
+                                mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote);
+                            }
                         }
                     }
                 }
@@ -945,10 +958,14 @@ public:
                         {
                             ScPostIt* pSrcNote = maCellNotesSrc.get<ScPostIt*>(nSrcRow);
                             if (pSrcNote)
-                                pSrcNote->Clone( ScAddress(mnSrcCol, nSrcRow, mnSrcTab ),
+                            {
+                                ScAddress aDestPos = ScAddress(mrDestCol.GetCol(), nSrcRow, mrDestCol.GetTab());
+                                ScPostIt* pClonedNote = pSrcNote->Clone( ScAddress(mrSrcCol.GetCol(), nSrcRow, mrSrcCol.GetTab() ),
                                                  mrDestCol.GetDoc(),
-                                                 ScAddress(mnCol , nSrcRow, mnTab),
-                                                 true );
+                                                 aDestPos, true );
+                                mrDestCol.GetDoc().ReleaseNote(aDestPos);
+                                mrDestCol.GetDoc().SetNote(aDestPos, pClonedNote);
+                            }
                         }
                     }
                 }


More information about the Libreoffice-commits mailing list