summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-08-22 17:45:18 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-08-22 17:48:59 +0100
commite851ea0ed30e9bb95c273a29aeab7f48f606145f (patch)
treee5b34bcd060e1051e27032167f1c78da073ada0a
parent3f8c36caef76ee1f688d35d39ac5bffe5d0f8319 (diff)
fdo#39484 - don't loose outlines while trying to undo formulae changes.
Change-Id: Ib3b2bab5beffb8164a8cd2c0b4db4c97f427507e
-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 69e22f530f79..405834fd855a 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 349f9ac2444e..da3d42317669 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -1265,7 +1265,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 afc2831dd798..ec7497044331 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 )
{