summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-08-22 17:45:18 +0100
committerFridrich Strba <fridrich@documentfoundation.org>2013-08-24 04:26:36 +0000
commit4205ca8003bc5c62a10620c7e54bdf9afb9d86bf (patch)
tree0973ce2edc3fd6f71e3d17cf10318e0451ff241c
parente680d71b75f18be9b99b13a3a2f63e5f54e42d3f (diff)
fdo#39484 - don't loose outlines while trying to undo formulae changes.
Change-Id: Ib3b2bab5beffb8164a8cd2c0b4db4c97f427507e Reviewed-on: https://gerrit.libreoffice.org/5592 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
-rw-r--r--sc/inc/global.hxx9
-rw-r--r--sc/source/core/data/table2.cxx3
-rw-r--r--sc/source/ui/view/viewfun3.cxx2
3 files changed, 8 insertions, 6 deletions
diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index 476f0ba4bc2e..69c33d76dbb1 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -187,12 +187,13 @@ const sal_uInt16 IDF_HARDATTR = 0x0020; /// Hard cell attributes.
const sal_uInt16 IDF_STYLES = 0x0040; /// Cell styles.
const sal_uInt16 IDF_OBJECTS = 0x0080; /// Drawing objects.
const sal_uInt16 IDF_EDITATTR = 0x0100; /// Rich-text attributes.
-const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000;
-const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES;
-const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA;
-const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS;
+const sal_uInt16 IDF_OUTLINE = 0x0800; /// Sheet / outlining (grouping) information
const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes.
const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes.
+const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000;
+const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES | IDF_OUTLINE;
+const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE;
+const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS;
/// Copy flags for auto/series fill functions: do not touch notes and drawing objects.
const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS);
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index d9a5bafa66fb..220211c77acb 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -1164,7 +1164,8 @@ void ScTable::CopyToTable(
pDestTab->CopyConditionalFormat(nCol1, nRow1, nCol2, nRow2, 0, 0, this);
}
- pDestTab->SetOutlineTable( pOutlineTable ); // auch nur wenn bColRowFlags
+ if(nFlags & IDF_OUTLINE) // also only when bColRowFlags
+ pDestTab->SetOutlineTable( pOutlineTable );
}
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index 9f091a656406..ef6b07c4e43e 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -1161,7 +1161,7 @@ bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc,
// all sheets - CopyToDocument skips those that don't exist in pUndoDoc
SCTAB nTabCount = pDoc->GetTableCount();
pDoc->CopyToDocument( nStartCol, nStartRow, 0, nUndoEndCol, nUndoEndRow, nTabCount-1,
- nUndoFlags, false, pUndoDoc );
+ nUndoFlags, false, pUndoDoc );
if ( bCutMode )
{