From eaa34b4e29478770c4707d56aa102491bc8e058a Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 26 Oct 2015 10:19:25 +0200 Subject: convert InsertDeleteFlags to use o3tl::typed_flags Rebased against LibreOffice 5.0.3.2 by Eric Hameleers diff -uar libreoffice-5.0.3.2.orig/sc/inc/global.hxx libreoffice-5.0.3.2/sc/inc/global.hxx --- libreoffice-5.0.3.2.orig/sc/inc/global.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/inc/global.hxx 2015-11-17 16:44:48.912439337 +0100 @@ -147,72 +147,41 @@ const ScBreakType BREAK_PAGE = 1; const ScBreakType BREAK_MANUAL = 2; -// insert/delete flags - typesafe bitfield -struct InsertDeleteFlags SAL_FINAL { -private: - sal_uInt16 v; - // hidden so that it doesn't accidentally get called in constructor initialiser lists - explicit InsertDeleteFlags(sal_uInt16 _v) : v(_v) {} -public: - static InsertDeleteFlags fromInt(sal_uInt16 v) { return InsertDeleteFlags(v); } - operator bool() const { return v != 0; } - sal_uInt16 val() const { return v; } - bool operator ==(const InsertDeleteFlags& other) const { return v == other.v; } - bool operator !=(const InsertDeleteFlags& other) const { return v != other.v; } -private: - // disallow implicit conversion to int - operator int() const { return v; } -}; -// make combining these type-safe -inline InsertDeleteFlags operator| (const InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) -{ - return InsertDeleteFlags::fromInt(lhs.val() | rhs.val()); -} -inline InsertDeleteFlags operator& (const InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) -{ - return InsertDeleteFlags::fromInt(lhs.val() & rhs.val()); -} -inline InsertDeleteFlags& operator|= (InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) +enum class InsertDeleteFlags : sal_uInt16 { lhs = InsertDeleteFlags::fromInt(lhs.val() | rhs.val()); return lhs; } inline InsertDeleteFlags& operator&= (InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) { - lhs = InsertDeleteFlags::fromInt(lhs.val() & rhs.val()); - return lhs; -} - -const InsertDeleteFlags IDF_NONE = InsertDeleteFlags::fromInt(0x0000); -const InsertDeleteFlags IDF_VALUE = InsertDeleteFlags::fromInt(0x0001); /// Numeric values (and numeric results if IDF_FORMULA is not set). -const InsertDeleteFlags IDF_DATETIME = InsertDeleteFlags::fromInt(0x0002); /// Dates, times, datetime values. -const InsertDeleteFlags IDF_STRING = InsertDeleteFlags::fromInt(0x0004); /// Strings (and string results if IDF_FORMULA is not set). -const InsertDeleteFlags IDF_NOTE = InsertDeleteFlags::fromInt(0x0008); /// Cell notes. -const InsertDeleteFlags IDF_FORMULA = InsertDeleteFlags::fromInt(0x0010); /// Formula cells. -const InsertDeleteFlags IDF_HARDATTR = InsertDeleteFlags::fromInt(0x0020); /// Hard cell attributes. -const InsertDeleteFlags IDF_STYLES = InsertDeleteFlags::fromInt(0x0040); /// Cell styles. -const InsertDeleteFlags IDF_OBJECTS = InsertDeleteFlags::fromInt(0x0080); /// Drawing objects. -const InsertDeleteFlags IDF_EDITATTR = InsertDeleteFlags::fromInt(0x0100); /// Rich-text attributes. -const InsertDeleteFlags IDF_OUTLINE = InsertDeleteFlags::fromInt(0x0800); /// Sheet / outlining (grouping) information -const InsertDeleteFlags IDF_NOCAPTIONS = InsertDeleteFlags::fromInt(0x0200); /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. -const InsertDeleteFlags IDF_ADDNOTES = InsertDeleteFlags::fromInt(0x0400); /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. -const InsertDeleteFlags IDF_SPECIAL_BOOLEAN = InsertDeleteFlags::fromInt(0x1000); -const InsertDeleteFlags IDF_FORGETCAPTIONS = InsertDeleteFlags::fromInt(0x2000); /// Internal use only (d&d undo): do not delete caption objects of cell notes. -const InsertDeleteFlags IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; -const InsertDeleteFlags IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE; -const InsertDeleteFlags IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; -const InsertDeleteFlags IDF_ALL_USED_BITS = IDF_ALL | IDF_EDITATTR | IDF_NOCAPTIONS | IDF_ADDNOTES | IDF_SPECIAL_BOOLEAN | IDF_FORGETCAPTIONS; - -inline InsertDeleteFlags operator~ (const InsertDeleteFlags& rhs) + NONE = 0x0000, + VALUE = 0x0001, /// Numeric values (and numeric results if InsertDeleteFlags::FORMULA is not set). + DATETIME = 0x0002, /// Dates, times, datetime values. + STRING = 0x0004, /// Strings (and string results if InsertDeleteFlags::FORMULA is not set). + NOTE = 0x0008, /// Cell notes. + FORMULA = 0x0010, /// Formula cells. + HARDATTR = 0x0020, /// Hard cell attributes. + STYLES = 0x0040, /// Cell styles. + OBJECTS = 0x0080, /// Drawing objects. + EDITATTR = 0x0100, /// Rich-text attributes. + OUTLINE = 0x0800, /// Sheet / outlining (grouping) information + NOCAPTIONS = 0x0200, /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. + ADDNOTES = 0x0400, /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. + SPECIAL_BOOLEAN = 0x1000, + FORGETCAPTIONS = 0x2000, /// Internal use only (d&d undo): do not delete caption objects of cell notes. + ATTRIB = HARDATTR | STYLES, + CONTENTS = VALUE | DATETIME | STRING | NOTE | FORMULA | OUTLINE, + ALL = CONTENTS | ATTRIB | OBJECTS, + ALL_USED_BITS = ALL | EDITATTR | NOCAPTIONS | ADDNOTES | SPECIAL_BOOLEAN | FORGETCAPTIONS, + /// Copy flags for auto/series fill functions: do not touch notes and drawing objects. + AUTOFILL = ALL & ~(NOTE | OBJECTS) +}; +namespace o3tl { - return IDF_ALL_USED_BITS & InsertDeleteFlags::fromInt(~rhs.val()); + template<> struct typed_flags : is_typed_flags {}; } - -// This doesnt work at the moment, perhaps when we have constexpr we can modify InsertDeleteFlags to make it work. -//static_assert((IDF_ATTRIB & IDF_CONTENTS) == IDF_NONE, "these must match"); - -/// Copy flags for auto/series fill functions: do not touch notes and drawing objects. -const InsertDeleteFlags IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); +// This doesn't work at the moment, perhaps when we have constexpr we can modify InsertDeleteFlags to make it work. +//static_assert((InsertDeleteFlags::ATTRIB & InsertDeleteFlags::CONTENTS) == InsertDeleteFlags::NONE, "these must match"); #define PASTE_NOFUNC 0 #define PASTE_ADD 1 diff -uar libreoffice-5.0.3.2.orig/sc/inc/scabstdlg.hxx libreoffice-5.0.3.2/sc/inc/scabstdlg.hxx --- libreoffice-5.0.3.2.orig/sc/inc/scabstdlg.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/inc/scabstdlg.hxx 2015-11-17 15:21:04.746034566 +0100 @@ -363,7 +363,7 @@ ScTabViewShell* pTabViewShell) = 0; virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE) = 0; + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE) = 0; virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( vcl::Window* pParent, ScDocument& rDocument, FillDir eFillDir, @@ -383,7 +383,7 @@ bool bDisallowCellMove = false ) = 0; virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE, + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE, const OUString* pStrTitle = NULL ) = 0; virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData, diff -uar libreoffice-5.0.3.2.orig/sc/qa/unit/copy_paste_test.cxx libreoffice-5.0.3.2/sc/qa/unit/copy_paste_test.cxx --- libreoffice-5.0.3.2.orig/sc/qa/unit/copy_paste_test.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/qa/unit/copy_paste_test.cxx 2015-11-17 15:21:04.746034566 +0100 @@ -116,7 +116,7 @@ CPPUNIT_ASSERT(pViewShell != NULL); // 6. Paste - pViewShell->GetViewData().GetView()->PasteFromClip(IDF_ALL, &aClipDoc); + pViewShell->GetViewData().GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc); xDocSh->DoClose(); } diff -uar libreoffice-5.0.3.2.orig/sc/qa/unit/subsequent_filters-test.cxx libreoffice-5.0.3.2/sc/qa/unit/subsequent_filters-test.cxx --- libreoffice-5.0.3.2.orig/sc/qa/unit/subsequent_filters-test.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/qa/unit/subsequent_filters-test.cxx 2015-11-17 15:21:04.746034566 +0100 @@ -694,7 +694,7 @@ ScMarkData aMark; aMark.SetMarkArea(aRange); aMark.MarkToMulti(); - bool bGood = rFunc.DeleteContents(aMark, IDF_ALL, true, true); + bool bGood = rFunc.DeleteContents(aMark, InsertDeleteFlags::ALL, true, true); CPPUNIT_ASSERT(bGood); CPPUNIT_ASSERT_EQUAL(0.0, rDoc.GetValue(ScAddress(3,1,0))); CPPUNIT_ASSERT_EQUAL(0.0, rDoc.GetValue(ScAddress(3,2,0))); @@ -2577,7 +2577,7 @@ ScRange aDelRange(0,0,0,0,0,0); ScMarkData aMark; aMark.SetMarkArea(aDelRange); - bool bRet = rFunc.DeleteContents( aMark, IDF_ALL, false, true ); + bool bRet = rFunc.DeleteContents( aMark, InsertDeleteFlags::ALL, false, true ); CPPUNIT_ASSERT_MESSAGE("DeleteContents failed", bRet); // get the new height of A1 diff -uar libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc.cxx libreoffice-5.0.3.2/sc/qa/unit/ucalc.cxx --- libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/qa/unit/ucalc.cxx 2015-11-17 16:35:05.230644675 +0100 @@ -266,7 +266,7 @@ ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(ScRange(aPos), IDF_CONTENTS, false, pUndoDoc, &aMark); + m_pDoc->CopyToDocument(ScRange(aPos), InsertDeleteFlags::CONTENTS, false, pUndoDoc, &aMark); // Paste it to A2:A100000, and measure its duration. ScRange aPasteRange(0,1,0,0,99999,0); @@ -274,17 +274,17 @@ { MeasureTimeSwitch aTime(diff); - m_pDoc->CopyFromClip(aPasteRange, aMark, IDF_CONTENTS, pUndoDoc, &aClipDoc); + m_pDoc->CopyFromClip(aPasteRange, aMark, InsertDeleteFlags::CONTENTS, pUndoDoc, &aClipDoc); } PERF_ASSERT(diff, scale, 1500.0, "Pasting a single cell to A2:A100000"); ScDocument* pRedoDoc = new ScDocument(SCDOCMODE_UNDO); pRedoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aPasteRange, IDF_CONTENTS, false, pRedoDoc, &aMark); + m_pDoc->CopyToDocument(aPasteRange, InsertDeleteFlags::CONTENTS, false, pRedoDoc, &aMark); // Create an undo object for this. ScRefUndoData* pRefUndoData = new ScRefUndoData(m_pDoc); - ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, IDF_CONTENTS, pRefUndoData); + ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, InsertDeleteFlags::CONTENTS, pRefUndoData); // Make sure it did what it's supposed to do. CPPUNIT_ASSERT_EQUAL(m_pDoc->GetString(aPos), m_pDoc->GetString(aPasteRange.aStart)); @@ -337,7 +337,7 @@ ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aSrcRange, IDF_CONTENTS, false, pUndoDoc, &aMark); + m_pDoc->CopyToDocument(aSrcRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc, &aMark); // Paste it to A3:A100001, and measure its duration. ScRange aPasteRange(0,2,0,0,100000,0); @@ -345,17 +345,17 @@ { MeasureTimeSwitch aTime(diff); - m_pDoc->CopyFromClip(aPasteRange, aMark, IDF_CONTENTS, pUndoDoc, &aClipDoc); + m_pDoc->CopyFromClip(aPasteRange, aMark, InsertDeleteFlags::CONTENTS, pUndoDoc, &aClipDoc); } PERF_ASSERT(diff, scale, 1000.0, "Pasting A1:A2 to A3:A100001"); ScDocument* pRedoDoc = new ScDocument(SCDOCMODE_UNDO); pRedoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aPasteRange, IDF_CONTENTS, false, pRedoDoc, &aMark); + m_pDoc->CopyToDocument(aPasteRange, InsertDeleteFlags::CONTENTS, false, pRedoDoc, &aMark); // Create an undo object for this. ScRefUndoData* pRefUndoData = new ScRefUndoData(m_pDoc); - ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, IDF_CONTENTS, pRefUndoData); + ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, InsertDeleteFlags::CONTENTS, pRefUndoData); // Make sure it did what it's supposed to do. CPPUNIT_ASSERT_EQUAL(m_pDoc->GetString(aPos), m_pDoc->GetString(aPasteRange.aStart)); @@ -414,7 +414,7 @@ ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aSrcRange, IDF_CONTENTS, false, pUndoDoc, &aMark); + m_pDoc->CopyToDocument(aSrcRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc, &aMark); // Paste it to A3:A50001, and measure its duration. ScRange aPasteRange(0,2,0,0,50000,0); @@ -422,17 +422,17 @@ { MeasureTimeSwitch aTime(diff); - m_pDoc->CopyFromClip(aPasteRange, aMark, IDF_CONTENTS, pUndoDoc, &aClipDoc); + m_pDoc->CopyFromClip(aPasteRange, aMark, InsertDeleteFlags::CONTENTS, pUndoDoc, &aClipDoc); } PERF_ASSERT(diff, scale, 2000.0, "Pasting"); ScDocument* pRedoDoc = new ScDocument(SCDOCMODE_UNDO); pRedoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aPasteRange, IDF_CONTENTS, false, pRedoDoc, &aMark); + m_pDoc->CopyToDocument(aPasteRange, InsertDeleteFlags::CONTENTS, false, pRedoDoc, &aMark); // Create an undo object for this. ScRefUndoData* pRefUndoData = new ScRefUndoData(m_pDoc); - ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, IDF_CONTENTS, pRefUndoData); + ScUndoPaste aUndo(&getDocShell(), aPasteRange, aMark, pUndoDoc, pRedoDoc, InsertDeleteFlags::CONTENTS, pRefUndoData); // Make sure it did what it's supposed to do. CPPUNIT_ASSERT_EQUAL(CELLTYPE_FORMULA, m_pDoc->GetCellType(aPasteRange.aStart)); @@ -3246,7 +3246,7 @@ boost::scoped_ptr pUndo(createUndoPaste(getDocShell(), aRange, pUndoDoc)); ScMarkData aMark; aMark.SetMarkArea(aRange); - m_pDoc->CopyFromClip(aRange, aMark, IDF_ALL, NULL, &aClipDoc); + m_pDoc->CopyFromClip(aRange, aMark, InsertDeleteFlags::ALL, NULL, &aClipDoc); //check values after copying OUString aString; @@ -3329,7 +3329,7 @@ ScMarkData aMark; aMark.SetMarkArea(aRange); // Paste range as link. - m_pDoc->CopyFromClip(aRange, aMark, IDF_CONTENTS, NULL, &aClipDoc, true, true); + m_pDoc->CopyFromClip(aRange, aMark, InsertDeleteFlags::CONTENTS, NULL, &aClipDoc, true, true); // Check pasted content to make sure they reference the correct cells. ScFormulaCell* pFC = m_pDoc->GetFormulaCell(ScAddress(1,1,1)); @@ -3380,13 +3380,13 @@ ::std::unique_ptr pTransClip; pTransClip.reset(new ScDocument(SCDOCMODE_CLIP)); - aNewClipDoc.TransposeClip(pTransClip.get(), IDF_ALL, false); + aNewClipDoc.TransposeClip(pTransClip.get(), InsertDeleteFlags::ALL, false); ScDocument* pTransposedClip = pTransClip.release(); ScRange aDestRange = ScRange(3,1,1,3,3,1);//target: Sheet2.D2:D4 ScMarkData aMark; aMark.SetMarkArea(aDestRange); - m_pDoc->CopyFromClip(aDestRange, aMark, IDF_ALL, NULL, pTransposedClip); + m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::ALL, NULL, pTransposedClip); //check cell content after transposed copy/paste OUString aString = m_pDoc->GetString(3, 3, 1); @@ -3451,7 +3451,7 @@ m_pDoc->CopyToClip(aClipParam, &aClipDoc, &aMark); // Paste to D9:E11, and make sure it won't crash (rhbz#1080196). - m_pDoc->CopyMultiRangeFromClip(ScAddress(3,8,0), aMark, IDF_CONTENTS, &aClipDoc); + m_pDoc->CopyMultiRangeFromClip(ScAddress(3,8,0), aMark, InsertDeleteFlags::CONTENTS, &aClipDoc); CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(ScAddress(3,8,0))); CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(ScAddress(4,8,0))); CPPUNIT_ASSERT_EQUAL(3.0, m_pDoc->GetValue(ScAddress(3,9,0))); @@ -3595,20 +3595,20 @@ // Create undo document. ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aDestRange, IDF_ALL, false, pUndoDoc, &aMark); + m_pDoc->CopyToDocument(aDestRange, InsertDeleteFlags::ALL, false, pUndoDoc, &aMark); // Paste clipboard content onto A1:A5 but skip empty cells. bool bSkipEmpty = true; - m_pDoc->CopyFromClip(aDestRange, aMark, IDF_ALL, pUndoDoc, &aClipDoc, true, false, false, bSkipEmpty); + m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::ALL, pUndoDoc, &aClipDoc, true, false, false, bSkipEmpty); // Create redo document. ScDocument* pRedoDoc = new ScDocument(SCDOCMODE_UNDO); pRedoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aDestRange, IDF_ALL, false, pRedoDoc, &aMark); + m_pDoc->CopyToDocument(aDestRange, InsertDeleteFlags::ALL, false, pRedoDoc, &aMark); // Create an undo object for this. ScRefUndoData* pRefUndoData = new ScRefUndoData(m_pDoc); - ScUndoPaste aUndo(&getDocShell(), aDestRange, aMark, pUndoDoc, pRedoDoc, IDF_ALL, pRefUndoData); + ScUndoPaste aUndo(&getDocShell(), aDestRange, aMark, pUndoDoc, pRedoDoc, InsertDeleteFlags::ALL, pRefUndoData); // Check the content after the paste. { @@ -3673,7 +3673,7 @@ ScRange aDestRange(0,2,0,2,2,0); ScMarkData aMark; aMark.SetMarkArea(aDestRange); - m_pDoc->CopyFromClip(aDestRange, aMark, IDF_ALL, NULL, &aClipDoc, false, false, true, true); + m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::ALL, NULL, &aClipDoc, false, false, true, true); CPPUNIT_ASSERT_EQUAL(OUString("A"), m_pDoc->GetString(ScAddress(0,2,0))); CPPUNIT_ASSERT_MESSAGE("B3 should be empty.", m_pDoc->GetCellType(ScAddress(1,2,0)) == CELLTYPE_NONE); @@ -3724,11 +3724,11 @@ // Create undo document. ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aDestRange, IDF_CONTENTS, false, pUndoDoc, &aMark); + m_pDoc->CopyToDocument(aDestRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc, &aMark); // Paste clipboard content onto A1:A5 but skip empty cells. bool bSkipEmpty = true; - m_pDoc->CopyFromClip(aDestRange, aMark, IDF_CONTENTS, pUndoDoc, &aClipDoc, true, false, false, bSkipEmpty); + m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::CONTENTS, pUndoDoc, &aClipDoc, true, false, false, bSkipEmpty); ScConditionalFormatList* pList = m_pDoc->GetCondFormList(0); CPPUNIT_ASSERT_EQUAL(size_t(2), pList->size()); @@ -3777,7 +3777,7 @@ pUndoDoc->InitUndo(m_pDoc, 0, 0); // Do the pasting of 12 into C2. This should update A2 to reference C2. - m_pDoc->CopyFromClip(ScAddress(2,1,0), aMark, IDF_CONTENTS, pUndoDoc, &aClipDoc, true, false); + m_pDoc->CopyFromClip(ScAddress(2,1,0), aMark, InsertDeleteFlags::CONTENTS, pUndoDoc, &aClipDoc, true, false); CPPUNIT_ASSERT_EQUAL(12.0, m_pDoc->GetValue(0,1,0)); if (!checkFormula(*m_pDoc, ScAddress(0,1,0), "C2")) @@ -3787,7 +3787,7 @@ if (!checkFormula(*pUndoDoc, ScAddress(0,1,0), "B2")) CPPUNIT_FAIL("A2 in the undo document should be referencing B2."); - ScUndoPaste aUndo(&getDocShell(), ScRange(ScAddress(2,1,0)), aMark, pUndoDoc, NULL, IDF_CONTENTS, NULL, false, NULL); + ScUndoPaste aUndo(&getDocShell(), ScRange(ScAddress(2,1,0)), aMark, pUndoDoc, NULL, InsertDeleteFlags::CONTENTS, NULL, false, NULL); aUndo.Undo(); // Now A2 should be referencing B2 once again. @@ -3863,14 +3863,14 @@ // Set up an undo object for cutting A1:A3. ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0 ,0); - m_pDoc->CopyToDocument(aRange, IDF_ALL, false, pUndoDoc); + m_pDoc->CopyToDocument(aRange, InsertDeleteFlags::ALL, false, pUndoDoc); CPPUNIT_ASSERT_EQUAL( 1.0, pUndoDoc->GetValue(ScAddress(0,0,0))); CPPUNIT_ASSERT_EQUAL( 10.0, pUndoDoc->GetValue(ScAddress(0,1,0))); CPPUNIT_ASSERT_EQUAL(100.0, pUndoDoc->GetValue(ScAddress(0,2,0))); ScUndoCut aUndo(&getDocShell(), aRange, aRange.aEnd, aMark, pUndoDoc); // "Cut" the selection. - m_pDoc->DeleteSelection(IDF_ALL, aMark); + m_pDoc->DeleteSelection(InsertDeleteFlags::ALL, aMark); CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(0,3,0)); // The SUM should be zero after the "cut". // Undo it, and check the result. @@ -3973,7 +3973,7 @@ m_pDoc->CopyToClip(aClipParam, &aClipDoc, &aMark); // Paste it to B1:B2. - InsertDeleteFlags nFlags = IDF_ALL; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL; ScRange aDestRange(1,0,0,1,1,0); aMark.SetMarkArea(aDestRange); m_pDoc->CopyFromClip(aDestRange, aMark, nFlags, NULL, &aClipDoc); @@ -4056,7 +4056,7 @@ m_pDoc->CopyToClip(aClipParam, &aClipDoc, &aMark); // Paste it to C2:C10. - InsertDeleteFlags nFlags = IDF_CONTENTS; + InsertDeleteFlags nFlags = InsertDeleteFlags::CONTENTS; ScRange aDestRange(2,1,0,2,9,0); aMark.SetMarkArea(aDestRange); m_pDoc->CopyFromClip(aDestRange, aMark, nFlags, NULL, &aClipDoc); @@ -4667,7 +4667,7 @@ ScDocument* pClipDoc = new ScDocument(SCDOCMODE_CLIP); m_pDoc->CopyToClip(aClipParam, pClipDoc, &aMark); - InsertDeleteFlags nFlags = IDF_ALL; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL; aRange = ScRange(1,1,1,1,6,1); ScMarkData aMarkData2; aMarkData2.SetMarkArea(aRange); @@ -5129,7 +5129,7 @@ // Paste to B6:B8 but only cell notes. ScRange aDestRange(1,5,0,1,7,0); - m_pDoc->CopyFromClip(aDestRange, aMark, IDF_NOTE, NULL, &aClipDoc); + m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::NOTE, NULL, &aClipDoc); // Make sure the notes are there. pNote = m_pDoc->GetNote(ScAddress(1,5,0)); @@ -6120,8 +6120,8 @@ ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0); - m_pDoc->CopyToDocument(aRange, IDF_CONTENTS, false, pUndoDoc, &aMark); - ScUndoDeleteContents aUndo(&getDocShell(), aMark, aRange, pUndoDoc, false, IDF_CONTENTS, true); + m_pDoc->CopyToDocument(aRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc, &aMark); + ScUndoDeleteContents aUndo(&getDocShell(), aMark, aRange, pUndoDoc, false, InsertDeleteFlags::CONTENTS, true); clearRange(m_pDoc, aRange); CPPUNIT_ASSERT_EQUAL(3.0, m_pDoc->GetValue(ScAddress(3,15,0))); // formula @@ -6705,7 +6705,7 @@ aMarkData.SetMarkArea(rRange); pDoc->DeleteArea( rRange.aStart.Col(), rRange.aStart.Row(), - rRange.aEnd.Col(), rRange.aEnd.Row(), aMarkData, IDF_CONTENTS); + rRange.aEnd.Col(), rRange.aEnd.Row(), aMarkData, InsertDeleteFlags::CONTENTS); } void Test::clearSheet(ScDocument* pDoc, SCTAB nTab) @@ -6726,7 +6726,7 @@ { ScMarkData aMark; aMark.SetMarkArea(rDestRange); - pDestDoc->CopyFromClip(rDestRange, aMark, IDF_ALL, NULL, pClipDoc); + pDestDoc->CopyFromClip(rDestRange, aMark, InsertDeleteFlags::ALL, NULL, pClipDoc); } ScUndoPaste* Test::createUndoPaste(ScDocShell& rDocSh, const ScRange& rRange, ScDocument* pUndoDoc) @@ -6737,7 +6737,7 @@ ScRefUndoData* pRefUndoData = new ScRefUndoData(&rDoc); return new ScUndoPaste( - &rDocSh, rRange, aMarkData, pUndoDoc, NULL, IDF_ALL, pRefUndoData, false); + &rDocSh, rRange, aMarkData, pUndoDoc, NULL, InsertDeleteFlags::ALL, pRefUndoData, false); } void Test::setExpandRefs(bool bExpand) diff -uar libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc_formula.cxx libreoffice-5.0.3.2/sc/qa/unit/ucalc_formula.cxx --- libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc_formula.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/qa/unit/ucalc_formula.cxx 2015-11-17 15:21:04.749035064 +0100 @@ -2032,7 +2032,7 @@ ScDocFunc& rFunc = getDocShell().GetDocFunc(); ScMarkData aMark; aMark.SetMarkArea(ScAddress(1,1,0)); - rFunc.DeleteContents(aMark, IDF_CONTENTS, true, true); + rFunc.DeleteContents(aMark, InsertDeleteFlags::CONTENTS, true, true); CPPUNIT_ASSERT_MESSAGE("B2 should be empty.", m_pDoc->GetCellType(ScAddress(1,1,0)) == CELLTYPE_NONE); CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(ScAddress(2,1,0))); diff -uar libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc_sharedformula.cxx libreoffice-5.0.3.2/sc/qa/unit/ucalc_sharedformula.cxx --- libreoffice-5.0.3.2.orig/sc/qa/unit/ucalc_sharedformula.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/qa/unit/ucalc_sharedformula.cxx 2015-11-17 16:35:34.367477815 +0100 @@ -1317,7 +1317,7 @@ ScRange aRange(1,0,0,1,9,0); // B1:B10 ScDocument* pUndoDoc = new ScDocument(SCDOCMODE_UNDO); pUndoDoc->InitUndo(m_pDoc, 0, 0, true, true); - m_pDoc->CopyToDocument(aRange, IDF_CONTENTS, false, pUndoDoc); + m_pDoc->CopyToDocument(aRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc); boost::scoped_ptr pUndo(createUndoPaste(getDocShell(), aRange, pUndoDoc)); // First, make sure the formula cells are shared in the undo document. diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/clipcontext.cxx libreoffice-5.0.3.2/sc/source/core/data/clipcontext.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/clipcontext.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/clipcontext.cxx 2015-11-17 15:21:04.750035230 +0100 @@ -39,10 +39,10 @@ mnTabStart(-1), mnTabEnd(-1), mrDestDoc(rDoc), mpRefUndoDoc(pRefUndoDoc), mpClipDoc(pClipDoc), - mnInsertFlag(nInsertFlag), mnDeleteFlag(IDF_NONE), + mnInsertFlag(nInsertFlag), mnDeleteFlag(InsertDeleteFlags::NONE), mpCondFormatList(NULL), mbAsLink(bAsLink), mbSkipAttrForEmptyCells(bSkipAttrForEmptyCells), - mbCloneNotes (mnInsertFlag & (IDF_NOTE|IDF_ADDNOTES)), + mbCloneNotes (mnInsertFlag & (InsertDeleteFlags::NOTE|InsertDeleteFlags::ADDNOTES)), mbTableProtected(false) { } @@ -160,11 +160,11 @@ // Check the paste flag to see whether we want to paste this cell. If the // flag says we don't want to paste this cell, we'll return with true. InsertDeleteFlags nFlags = getInsertFlag(); - bool bNumeric = (nFlags & IDF_VALUE) != IDF_NONE; - bool bDateTime = (nFlags & IDF_DATETIME) != IDF_NONE; - bool bString = (nFlags & IDF_STRING) != IDF_NONE; - bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; - bool bFormula = (nFlags & IDF_FORMULA) != IDF_NONE; + bool bNumeric = (nFlags & InsertDeleteFlags::VALUE) != InsertDeleteFlags::NONE; + bool bDateTime = (nFlags & InsertDeleteFlags::DATETIME) != InsertDeleteFlags::NONE; + bool bString = (nFlags & InsertDeleteFlags::STRING) != InsertDeleteFlags::NONE; + bool bBoolean = (nFlags & InsertDeleteFlags::SPECIAL_BOOLEAN) != InsertDeleteFlags::NONE; + bool bFormula = (nFlags & InsertDeleteFlags::FORMULA) != InsertDeleteFlags::NONE; switch (rSrcCell.meType) { diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/column.cxx libreoffice-5.0.3.2/sc/source/core/data/column.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/column.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/column.cxx 2015-11-17 15:21:04.751035396 +0100 @@ -1226,9 +1226,9 @@ sal_uInt32 nNumIndex = static_cast(rDoc.GetAttr(rPos, ATTR_VALUE_FORMAT))->GetValue(); short nType = rDoc.GetFormatTable()->GetType(nNumIndex); if ((nType == css::util::NumberFormat::DATE) || (nType == css::util::NumberFormat::TIME) || (nType == css::util::NumberFormat::DATETIME)) - return ((nFlags & IDF_DATETIME) != IDF_NONE); + return ((nFlags & InsertDeleteFlags::DATETIME) != InsertDeleteFlags::NONE); - return (nFlags & IDF_VALUE) != IDF_NONE; + return (nFlags & InsertDeleteFlags::VALUE) != InsertDeleteFlags::NONE; } class CopyAsLinkHandler @@ -1310,9 +1310,9 @@ { size_t nRow = aNode.position + nOffset; - if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) + if (mnCopyFlags & (InsertDeleteFlags::NOTE|InsertDeleteFlags::ADDNOTES)) { - bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == IDF_NONE; + bool bCloneCaption = (mnCopyFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; duplicateNotes(nRow, nDataSize, bCloneCaption ); } @@ -1320,7 +1320,7 @@ { case sc::element_type_numeric: { - if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == IDF_NONE) + if ((mnCopyFlags & (InsertDeleteFlags::DATETIME|InsertDeleteFlags::VALUE)) == InsertDeleteFlags::NONE) return; sc::numeric_block::const_iterator it = sc::numeric_block::begin(*aNode.data); @@ -1342,7 +1342,7 @@ case sc::element_type_string: case sc::element_type_edittext: { - if (!(mnCopyFlags & IDF_STRING)) + if (!(mnCopyFlags & InsertDeleteFlags::STRING)) return; createRefBlock(aNode, nOffset, nDataSize); @@ -1350,7 +1350,7 @@ break; case sc::element_type_formula: { - if (!(mnCopyFlags & IDF_FORMULA)) + if (!(mnCopyFlags & InsertDeleteFlags::FORMULA)) return; createRefBlock(aNode, nOffset, nDataSize); @@ -1390,11 +1390,11 @@ { ScAddress aDestPos(mrDestCol.GetCol(), nRow, mrDestCol.GetTab()); - bool bCloneValue = (mnCopyFlags & IDF_VALUE) != IDF_NONE; - bool bCloneDateTime = (mnCopyFlags & IDF_DATETIME) != IDF_NONE; - bool bCloneString = (mnCopyFlags & IDF_STRING) != IDF_NONE; - bool bCloneSpecialBoolean = (mnCopyFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; - bool bCloneFormula = (mnCopyFlags & IDF_FORMULA) != IDF_NONE; + bool bCloneValue = (mnCopyFlags & InsertDeleteFlags::VALUE) != InsertDeleteFlags::NONE; + bool bCloneDateTime = (mnCopyFlags & InsertDeleteFlags::DATETIME) != InsertDeleteFlags::NONE; + bool bCloneString = (mnCopyFlags & InsertDeleteFlags::STRING) != InsertDeleteFlags::NONE; + bool bCloneSpecialBoolean = (mnCopyFlags & InsertDeleteFlags::SPECIAL_BOOLEAN) != InsertDeleteFlags::NONE; + bool bCloneFormula = (mnCopyFlags & InsertDeleteFlags::FORMULA) != InsertDeleteFlags::NONE; bool bForceFormula = false; @@ -1512,9 +1512,9 @@ { size_t nRow = aNode.position + nOffset; - if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) + if (mnCopyFlags & (InsertDeleteFlags::NOTE|InsertDeleteFlags::ADDNOTES)) { - bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == IDF_NONE; + bool bCloneCaption = (mnCopyFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; duplicateNotes(nRow, nDataSize, bCloneCaption ); } @@ -1522,7 +1522,7 @@ { case sc::element_type_numeric: { - if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == IDF_NONE) + if ((mnCopyFlags & (InsertDeleteFlags::DATETIME|InsertDeleteFlags::VALUE)) == InsertDeleteFlags::NONE) return; sc::numeric_block::const_iterator it = sc::numeric_block::begin(*aNode.data); @@ -1543,7 +1543,7 @@ break; case sc::element_type_string: { - if (!(mnCopyFlags & IDF_STRING)) + if (!(mnCopyFlags & InsertDeleteFlags::STRING)) return; sc::string_block::const_iterator it = sc::string_block::begin(*aNode.data); @@ -1583,7 +1583,7 @@ break; case sc::element_type_edittext: { - if (!(mnCopyFlags & IDF_STRING)) + if (!(mnCopyFlags & InsertDeleteFlags::STRING)) return; sc::edittext_block::const_iterator it = sc::edittext_block::begin(*aNode.data); @@ -1647,9 +1647,9 @@ return; } - if ( (nFlags & IDF_ATTRIB) != IDF_NONE ) + if ( (nFlags & InsertDeleteFlags::ATTRIB) != InsertDeleteFlags::NONE ) { - if ( (nFlags & IDF_STYLES) != IDF_STYLES ) + if ( (nFlags & InsertDeleteFlags::STYLES) != InsertDeleteFlags::STYLES ) { // keep the StyleSheets in the target document // e.g. DIF and RTF Clipboard-Import for ( SCROW nRow = nRow1; nRow <= nRow2; nRow++ ) @@ -1666,7 +1666,7 @@ pAttrArray->CopyArea( nRow1, nRow2, 0, *rColumn.pAttrArray); } - if ((nFlags & IDF_CONTENTS) != IDF_NONE) + if ((nFlags & InsertDeleteFlags::CONTENTS) != InsertDeleteFlags::NONE) { if (bAsLink) { @@ -1696,12 +1696,12 @@ ScColumn& rColumn, const ScMarkData* pMarkData ) const { if (nRow1 > 0) - CopyToColumn(rCxt, 0, nRow1-1, IDF_FORMULA, false, rColumn); + CopyToColumn(rCxt, 0, nRow1-1, InsertDeleteFlags::FORMULA, false, rColumn); CopyToColumn(rCxt, nRow1, nRow2, nFlags, bMarked, rColumn, pMarkData); //TODO: bMarked ???? if (nRow2 < MAXROW) - CopyToColumn(rCxt, nRow2+1, MAXROW, IDF_FORMULA, false, rColumn); + CopyToColumn(rCxt, nRow2+1, MAXROW, InsertDeleteFlags::FORMULA, false, rColumn); } void ScColumn::CopyUpdated( const ScColumn& rPosCol, ScColumn& rDestCol ) const @@ -1738,10 +1738,10 @@ { if ( static_cast(pPattern->GetItem( ATTR_MERGE_FLAG )).IsScenario() ) { - DeleteArea( nStart, nEnd, IDF_CONTENTS ); + DeleteArea( nStart, nEnd, InsertDeleteFlags::CONTENTS ); sc::CopyToDocContext aCxt(*pDocument); ((ScColumn&)rSrcCol). - CopyToColumn(aCxt, nStart, nEnd, IDF_CONTENTS, false, *this); + CopyToColumn(aCxt, nStart, nEnd, InsertDeleteFlags::CONTENTS, false, *this); // UpdateUsed not needed, already done in TestCopyScenario (obsolete comment ?) @@ -1769,9 +1769,9 @@ { if ( static_cast(pPattern->GetItem( ATTR_MERGE_FLAG )).IsScenario() ) { - rDestCol.DeleteArea( nStart, nEnd, IDF_CONTENTS ); + rDestCol.DeleteArea( nStart, nEnd, InsertDeleteFlags::CONTENTS ); sc::CopyToDocContext aCxt(*rDestCol.pDocument); - CopyToColumn(aCxt, nStart, nEnd, IDF_CONTENTS, false, rDestCol); + CopyToColumn(aCxt, nStart, nEnd, InsertDeleteFlags::CONTENTS, false, rDestCol); // UpdateUsed not needed, is already done in TestCopyScenario (obsolete comment ?) diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/column3.cxx libreoffice-5.0.3.2/sc/source/core/data/column3.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/column3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/column3.cxx 2015-11-17 15:21:04.752035562 +0100 @@ -545,9 +545,9 @@ public: DeleteAreaHandler(ScDocument& rDoc, InsertDeleteFlags nDelFlag) : mrDoc(rDoc), - mbNumeric(nDelFlag & IDF_VALUE), - mbString(nDelFlag & IDF_STRING), - mbFormula(nDelFlag & IDF_FORMULA) {} + mbNumeric(nDelFlag & InsertDeleteFlags::VALUE), + mbString(nDelFlag & InsertDeleteFlags::STRING), + mbFormula(nDelFlag & InsertDeleteFlags::FORMULA) {} void operator() (const sc::CellStoreType::value_type& node, size_t nOffset, size_t nDataSize) { @@ -659,10 +659,10 @@ SCROW nStartRow, SCROW nEndRow, InsertDeleteFlags nDelFlag, bool bBroadcast, sc::ColumnSpanSet* pBroadcastSpans ) { - InsertDeleteFlags nContMask = IDF_CONTENTS; - // IDF_NOCAPTIONS needs to be passed too, if IDF_NOTE is set - if( nDelFlag & IDF_NOTE ) - nContMask |= IDF_NOCAPTIONS; + InsertDeleteFlags nContMask = InsertDeleteFlags::CONTENTS; + // InsertDeleteFlags::NOCAPTIONS needs to be passed too, if InsertDeleteFlags::NOTE is set + if( nDelFlag & InsertDeleteFlags::NOTE ) + nContMask |= InsertDeleteFlags::NOCAPTIONS; InsertDeleteFlags nContFlag = nDelFlag & nContMask; sc::SingleColumnSpanSet aDeletedRows; @@ -670,7 +670,7 @@ sc::ColumnBlockPosition aBlockPos; InitBlockPosition(aBlockPos); - if (!IsEmptyData() && nContFlag) + if (!IsEmptyData() && nContFlag != InsertDeleteFlags::NONE) { DeleteCells(aBlockPos, nStartRow, nEndRow, nDelFlag, aDeletedRows); if (pBroadcastSpans) @@ -683,22 +683,22 @@ } } - if (nDelFlag & IDF_NOTE) + if (nDelFlag & InsertDeleteFlags::NOTE) { - bool bForgetCaptionOwnership = ((nDelFlag & IDF_FORGETCAPTIONS) != IDF_NONE); + bool bForgetCaptionOwnership = ((nDelFlag & InsertDeleteFlags::FORGETCAPTIONS) != InsertDeleteFlags::NONE); DeleteCellNotes(aBlockPos, nStartRow, nEndRow, bForgetCaptionOwnership); } - if ( nDelFlag & IDF_EDITATTR ) + if ( nDelFlag & InsertDeleteFlags::EDITATTR ) { - OSL_ENSURE( nContFlag == IDF_NONE, "DeleteArea: Wrong Flags" ); + OSL_ENSURE( nContFlag == InsertDeleteFlags::NONE, "DeleteArea: Wrong Flags" ); RemoveEditAttribs( nStartRow, nEndRow ); } // Delete attributes just now - if ((nDelFlag & IDF_ATTRIB) == IDF_ATTRIB) + if ((nDelFlag & InsertDeleteFlags::ATTRIB) == InsertDeleteFlags::ATTRIB) pAttrArray->DeleteArea( nStartRow, nEndRow ); - else if ((nDelFlag & IDF_HARDATTR) == IDF_HARDATTR) + else if ((nDelFlag & InsertDeleteFlags::HARDATTR) == InsertDeleteFlags::HARDATTR) pAttrArray->DeleteHardAttr( nStartRow, nEndRow ); if (bBroadcast) @@ -818,17 +818,17 @@ { if (bCopyCellNotes && !mrCxt.isSkipAttrForEmptyCells()) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; + bool bCloneCaption = (nFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; duplicateNotes(nSrcRow1, nDataSize, bCloneCaption ); } return; } - bool bNumeric = (nFlags & IDF_VALUE) != IDF_NONE; - bool bDateTime = (nFlags & IDF_DATETIME) != IDF_NONE; - bool bString = (nFlags & IDF_STRING) != IDF_NONE; - bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; - bool bFormula = (nFlags & IDF_FORMULA) != IDF_NONE; + bool bNumeric = (nFlags & InsertDeleteFlags::VALUE) != InsertDeleteFlags::NONE; + bool bDateTime = (nFlags & InsertDeleteFlags::DATETIME) != InsertDeleteFlags::NONE; + bool bString = (nFlags & InsertDeleteFlags::STRING) != InsertDeleteFlags::NONE; + bool bBoolean = (nFlags & InsertDeleteFlags::SPECIAL_BOOLEAN) != InsertDeleteFlags::NONE; + bool bFormula = (nFlags & InsertDeleteFlags::FORMULA) != InsertDeleteFlags::NONE; bool bAsLink = mrCxt.isAsLink(); @@ -1001,7 +1001,7 @@ } if (bCopyCellNotes) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; + bool bCloneCaption = (nFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; duplicateNotes(nSrcRow1, nDataSize, bCloneCaption ); } } @@ -1040,7 +1040,7 @@ void ScColumn::CopyFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, SCROW nRow2, long nDy, ScColumn& rColumn ) { - if ((rCxt.getInsertFlag() & IDF_ATTRIB) != IDF_NONE) + if ((rCxt.getInsertFlag() & InsertDeleteFlags::ATTRIB) != InsertDeleteFlags::NONE) { if (rCxt.isSkipAttrForEmptyCells()) { @@ -1055,13 +1055,13 @@ else rColumn.pAttrArray->CopyAreaSafe( nRow1, nRow2, nDy, *pAttrArray ); } - if ((rCxt.getInsertFlag() & IDF_CONTENTS) == IDF_NONE) + if ((rCxt.getInsertFlag() & InsertDeleteFlags::CONTENTS) == InsertDeleteFlags::NONE) return; - if (rCxt.isAsLink() && rCxt.getInsertFlag() == IDF_ALL) + if (rCxt.isAsLink() && rCxt.getInsertFlag() == InsertDeleteFlags::ALL) { // We also reference empty cells for "ALL" - // IDF_ALL must always contain more flags when compared to "Insert contents" as + // InsertDeleteFlags::ALL must always contain more flags when compared to "Insert contents" as // contents can be selected one by one! ScAddress aDestPos( nCol, 0, nTab ); // Adapt Row @@ -2348,7 +2348,7 @@ { const ScProtectionAttr* pAttr = static_cast(&pPattern->GetItem(ATTR_PROTECTION)); if ( pAttr->GetHideCell() ) - DeleteArea( nTop, nBottom, IDF_CONTENTS ); + DeleteArea( nTop, nBottom, InsertDeleteFlags::CONTENTS ); else if ( pAttr->GetHideFormula() ) { // Replace all formula cells between nTop and nBottom with raw value cells. diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/column4.cxx libreoffice-5.0.3.2/sc/source/core/data/column4.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/column4.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/column4.cxx 2015-11-17 15:21:04.752035562 +0100 @@ -106,21 +106,21 @@ SCROW nRow1 = it->mnRow1; SCROW nRow2 = it->mnRow2; - if (nDelFlag & IDF_CONTENTS) + if (nDelFlag & InsertDeleteFlags::CONTENTS) { sc::SingleColumnSpanSet aDeletedRows; DeleteCells(aBlockPos, nRow1, nRow2, nDelFlag, aDeletedRows); rBroadcastSpans.set(nTab, nCol, aDeletedRows, true); } - if (nDelFlag & IDF_NOTE) + if (nDelFlag & InsertDeleteFlags::NOTE) DeleteCellNotes(aBlockPos, nRow1, nRow2, false); - if (nDelFlag & IDF_EDITATTR) + if (nDelFlag & InsertDeleteFlags::EDITATTR) RemoveEditAttribs(nRow1, nRow2); // Delete attributes just now - if (nDelFlag & IDF_ATTRIB) + if (nDelFlag & InsertDeleteFlags::ATTRIB) { pAttrArray->DeleteArea(nRow1, nRow2); @@ -135,7 +135,7 @@ if (pCondList) pCondList->DeleteArea(nCol, nRow1, nCol, nRow2); } - else if ((nDelFlag & IDF_HARDATTR) == IDF_HARDATTR) + else if ((nDelFlag & InsertDeleteFlags::HARDATTR) == InsertDeleteFlags::HARDATTR) pAttrArray->DeleteHardAttr(nRow1, nRow2); } } @@ -156,7 +156,7 @@ InsertDeleteFlags nFlags = rCxt.getInsertFlag(); - if ((nFlags & IDF_ATTRIB) != IDF_NONE) + if ((nFlags & InsertDeleteFlags::ATTRIB) != InsertDeleteFlags::NONE) { if (!rCxt.isSkipAttrForEmptyCells() || rSrcCell.meType != CELLTYPE_NONE) { @@ -166,7 +166,7 @@ } } - if ((nFlags & IDF_CONTENTS) != IDF_NONE) + if ((nFlags & InsertDeleteFlags::CONTENTS) != InsertDeleteFlags::NONE) { std::vector aTextAttrs(nDestSize, rSrcAttr); @@ -227,7 +227,7 @@ } const ScPostIt* pNote = rCxt.getSingleCellNote(nColOffset); - if (pNote && (nFlags & (IDF_NOTE | IDF_ADDNOTES)) != IDF_NONE) + if (pNote && (nFlags & (InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES)) != InsertDeleteFlags::NONE) { // Duplicate the cell note over the whole pasted range. @@ -238,7 +238,7 @@ aNotes.reserve(nDestSize); for (size_t i = 0; i < nDestSize; ++i) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; + bool bCloneCaption = (nFlags & InsertDeleteFlags::NOCAPTIONS) == InsertDeleteFlags::NONE; aNotes.push_back(pNote->Clone(rSrcPos, *pDocument, aDestPos, bCloneCaption)); aDestPos.IncRow(); } diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/documen2.cxx libreoffice-5.0.3.2/sc/source/core/data/documen2.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/documen2.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/documen2.cxx 2015-11-17 15:21:04.753035728 +0100 @@ -884,7 +884,7 @@ { SetNoListening( true ); // noch nicht bei CopyToTable/Insert sc::CopyToDocContext aCopyDocCxt(*this); - maTabs[nOldPos]->CopyToTable(aCopyDocCxt, 0, 0, MAXCOL, MAXROW, IDF_ALL, (pOnlyMarked != NULL), + maTabs[nOldPos]->CopyToTable(aCopyDocCxt, 0, 0, MAXCOL, MAXROW, InsertDeleteFlags::ALL, (pOnlyMarked != NULL), maTabs[nNewPos], pOnlyMarked ); maTabs[nNewPos]->SetTabBgColor(maTabs[nOldPos]->GetTabBgColor()); @@ -963,7 +963,7 @@ { if (ValidTab(nDestPos) && nDestPos < static_cast(maTabs.size()) && maTabs[nDestPos]) { - maTabs[nDestPos]->DeleteArea( 0,0, MAXCOL,MAXROW, IDF_ALL ); + maTabs[nDestPos]->DeleteArea( 0,0, MAXCOL,MAXROW, InsertDeleteFlags::ALL ); } else bValid = false; @@ -989,7 +989,7 @@ { // scope for bulk broadcast ScBulkBroadcast aBulkBroadcast( pBASM); pSrcDoc->maTabs[nSrcPos]->CopyToTable(aCxt, 0, 0, MAXCOL, MAXROW, - ( bResultsOnly ? IDF_ALL & ~IDF_FORMULA : IDF_ALL), + ( bResultsOnly ? InsertDeleteFlags::ALL & ~InsertDeleteFlags::FORMULA : InsertDeleteFlags::ALL), false, maTabs[nDestPos] ); } } diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/documen3.cxx libreoffice-5.0.3.2/sc/source/core/data/documen3.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/documen3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/documen3.cxx 2015-11-17 15:21:04.753035728 +0100 @@ -1983,7 +1983,7 @@ ApplyFlagsTab( nStartCol+1, nStartRow+1, nEndCol, nEndRow, nTab, SC_MF_HOR | SC_MF_VER ); // Remove all covered notes (removed captions are collected by drawing undo if active) - InsertDeleteFlags nDelFlag = IDF_NOTE | (bDeleteCaptions ? IDF_NONE : IDF_NOCAPTIONS); + InsertDeleteFlags nDelFlag = InsertDeleteFlags::NOTE | (bDeleteCaptions ? InsertDeleteFlags::NONE : InsertDeleteFlags::NOCAPTIONS); if( nStartCol < nEndCol ) DeleteAreaTab( nStartCol + 1, nStartRow, nEndCol, nStartRow, nTab, nDelFlag ); if( nStartRow < nEndRow ) diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/document.cxx libreoffice-5.0.3.2/sc/source/core/data/document.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/document.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/document.cxx 2015-11-17 15:23:07.161335048 +0100 @@ -1748,7 +1748,7 @@ void ScDocument::FitBlock( const ScRange& rOld, const ScRange& rNew, bool bClear ) { if (bClear) - DeleteAreaTab( rOld, IDF_ALL ); + DeleteAreaTab( rOld, InsertDeleteFlags::ALL ); bool bInsCol,bDelCol,bInsRow,bDelRow; ScRange aColRange,aRowRange; @@ -1788,7 +1788,7 @@ std::vector aGroupPos; // Destroy and reconstruct listeners only if content is affected. - bool bDelContent = ((nDelFlag & ~IDF_CONTENTS) != nDelFlag); + bool bDelContent = ((nDelFlag & ~InsertDeleteFlags::CONTENTS) != nDelFlag); if (bDelContent) { // Record the positions of top and/or bottom formula groups that intersect @@ -1986,7 +1986,7 @@ sc::AutoCalcSwitch aACSwitch(*pDestDoc, false); // avoid multiple calculations if (nTab1 > 0) - CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTab1-1, IDF_FORMULA, false, pDestDoc, pMarks ); + CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTab1-1, InsertDeleteFlags::FORMULA, false, pDestDoc, pMarks ); sc::CopyToDocContext aCxt(*pDestDoc); OSL_ASSERT( nTab2 < static_cast(maTabs.size()) && nTab2 < static_cast(pDestDoc->maTabs.size())); @@ -1998,7 +1998,7 @@ } if (nTab2 < MAXTAB) - CopyToDocument( 0,0,nTab2+1, MAXCOL,MAXROW,MAXTAB, IDF_FORMULA, false, pDestDoc, pMarks ); + CopyToDocument( 0,0,nTab2+1, MAXCOL,MAXROW,MAXTAB, InsertDeleteFlags::FORMULA, false, pDestDoc, pMarks ); } } @@ -2046,7 +2046,7 @@ sc::CopyToDocContext aCxt(*pDestDoc); if (nTab1 > 0) - CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTab1-1, IDF_FORMULA, false, pDestDoc, pMarks ); + CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTab1-1, InsertDeleteFlags::FORMULA, false, pDestDoc, pMarks ); SCTAB nMinSizeBothTabs = static_cast(std::min(maTabs.size(), pDestDoc->maTabs.size())); for (SCTAB i = nTab1; i <= nTab2 && i < nMinSizeBothTabs; i++) @@ -2058,7 +2058,7 @@ } if (nTab2 < static_cast(maTabs.size())) - CopyToDocument( 0,0,nTab2+1, MAXCOL,MAXROW,maTabs.size(), IDF_FORMULA, false, pDestDoc, pMarks ); + CopyToDocument( 0,0,nTab2+1, MAXCOL,MAXROW,maTabs.size(), InsertDeleteFlags::FORMULA, false, pDestDoc, pMarks ); } // bUseRangeForVBA added for VBA api support to allow content of a specified @@ -2269,7 +2269,7 @@ aClipRange.aEnd.Col(), aClipRange.aEnd.Row(), pTransClip->maTabs[i], nFlags, bAsLink ); - if ( pDrawLayer && ( nFlags & IDF_OBJECTS ) ) + if ( pDrawLayer && ( nFlags & InsertDeleteFlags::OBJECTS ) ) { // Drawing objects are copied to the new area without transposing. // CopyFromClip is used to adjust the objects to the transposed block's @@ -2467,7 +2467,7 @@ SCCOL nCol2, SCROW nRow2, const ScMarkData& rMark, InsertDeleteFlags nInsFlag ) { - if (nInsFlag & IDF_CONTENTS) + if (nInsFlag & InsertDeleteFlags::CONTENTS) { boost::shared_ptr pSet( new sc::ColumnBlockPositionSet(*this)); @@ -2487,7 +2487,7 @@ SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData& rMark, InsertDeleteFlags nInsFlag, sc::ColumnSpanSet& rBroadcastSpans ) { - if (nInsFlag & IDF_CONTENTS) + if (nInsFlag & InsertDeleteFlags::CONTENTS) { SCTAB nMax = static_cast(maTabs.size()); ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); @@ -2521,7 +2521,7 @@ maTabs[i]->CopyFromClip( rCxt, nCol1, nRow1, nCol2, nRow2, nDx, nDy, rClipTabs[nClipTab]); - if (rCxt.getClipDoc()->pDrawLayer && (rCxt.getInsertFlag() & IDF_OBJECTS)) + if (rCxt.getClipDoc()->pDrawLayer && (rCxt.getInsertFlag() & InsertDeleteFlags::OBJECTS)) { // also copy drawing objects @@ -2545,7 +2545,7 @@ nClipTab = (nClipTab+1) % (static_cast(rClipTabs.size())); } } - if (rCxt.getInsertFlag() & IDF_CONTENTS) + if (rCxt.getInsertFlag() & InsertDeleteFlags::CONTENTS) { nClipTab = 0; for (SCTAB i = rCxt.getTabStart(); i <= nTabEnd && i < static_cast(maTabs.size()); i++) @@ -2727,18 +2727,18 @@ /* Decide which contents to delete before copying. Delete all contents if nInsFlag contains any real content flag. #i102056# Notes are pasted from clipboard in a second pass, - together with the special flag IDF_ADDNOTES that states to not + together with the special flag InsertDeleteFlags::ADDNOTES that states to not overwrite/delete existing cells but to insert the notes into these cells. In this case, just delete old notes from the destination area. */ - InsertDeleteFlags nDelFlag = IDF_NONE; - if ( (nInsFlag & (IDF_CONTENTS | IDF_ADDNOTES)) == (IDF_NOTE | IDF_ADDNOTES) ) - nDelFlag |= IDF_NOTE; - else if ( nInsFlag & IDF_CONTENTS ) - nDelFlag |= IDF_CONTENTS; + InsertDeleteFlags nDelFlag = InsertDeleteFlags::NONE; + if ( (nInsFlag & (InsertDeleteFlags::CONTENTS | InsertDeleteFlags::ADDNOTES)) == (InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES) ) + nDelFlag |= InsertDeleteFlags::NOTE; + else if ( nInsFlag & InsertDeleteFlags::CONTENTS ) + nDelFlag |= InsertDeleteFlags::CONTENTS; - if (nInsFlag & IDF_ATTRIB) - nDelFlag |= IDF_ATTRIB; + if (nInsFlag & InsertDeleteFlags::ATTRIB) + nDelFlag |= InsertDeleteFlags::ATTRIB; sc::CopyFromClipContext aCxt(*this, pRefUndoDoc, pClipDoc, nInsFlag, bAsLink, bSkipAttrForEmpty); std::pair aTabRanges = getMarkedTableRange(maTabs, rMark); @@ -2789,7 +2789,7 @@ nR2 = nRow2; const SCCOLROW nThreshold = 8192; - bool bPreallocatePattern = ((nInsFlag & IDF_ATTRIB) && (nRow2 - nRow1 > nThreshold)); + bool bPreallocatePattern = ((nInsFlag & InsertDeleteFlags::ATTRIB) && (nRow2 - nRow1 > nThreshold)); std::vector< SCTAB > vTables; if (bPreallocatePattern) @@ -2919,7 +2919,7 @@ if (!bSkipAttrForEmpty) { // Do the deletion first. - InsertDeleteFlags nDelFlag = IDF_CONTENTS; + InsertDeleteFlags nDelFlag = InsertDeleteFlags::CONTENTS; SCCOL nColSize = rClipParam.getPasteColSize(); SCROW nRowSize = rClipParam.getPasteRowSize(); @@ -3108,8 +3108,8 @@ bool bSkipEmpty, bool bAsLink ) { InsertDeleteFlags nDelFlags = nFlags; - if (nDelFlags & IDF_CONTENTS) - nDelFlags |= IDF_CONTENTS; // Either all contents or delete nothing! + if (nDelFlags & InsertDeleteFlags::CONTENTS) + nDelFlags |= InsertDeleteFlags::CONTENTS; // Either all contents or delete nothing! SCTAB nSrcTab = rSrcArea.aStart.Tab(); @@ -3120,7 +3120,7 @@ SCCOL nEndCol = rSrcArea.aEnd.Col(); SCROW nEndRow = rSrcArea.aEnd.Row(); boost::scoped_ptr pMixDoc; - bool bDoMix = ( bSkipEmpty || nFunction ) && ( nFlags & IDF_CONTENTS ); + bool bDoMix = ( bSkipEmpty || nFunction ) && ( nFlags & InsertDeleteFlags::CONTENTS ); bool bOldAutoCalc = GetAutoCalc(); SetAutoCalc( false ); // avoid multiple calculations @@ -3147,7 +3147,7 @@ // context used for copying content to the temporary mix document. sc::CopyToDocContext aMixCxt(*pMixDoc); maTabs[i]->CopyToTable(aMixCxt, nStartCol,nStartRow, nEndCol,nEndRow, - IDF_CONTENTS, false, pMixDoc->maTabs[i] ); + InsertDeleteFlags::CONTENTS, false, pMixDoc->maTabs[i] ); } maTabs[i]->DeleteArea( nStartCol,nStartRow, nEndCol,nEndRow, nDelFlags); maTabs[nSrcTab]->CopyToTable(aCxt, nStartCol,nStartRow, nEndCol,nEndRow, @@ -3171,13 +3171,13 @@ bool bSkipEmpty, bool bAsLink ) { InsertDeleteFlags nDelFlags = nFlags; - if (nDelFlags & IDF_CONTENTS) - nDelFlags |= IDF_CONTENTS; // Either all contents or delete nothing! + if (nDelFlags & InsertDeleteFlags::CONTENTS) + nDelFlags |= InsertDeleteFlags::CONTENTS; // Either all contents or delete nothing! if (ValidTab(nSrcTab) && nSrcTab < static_cast(maTabs.size()) && maTabs[nSrcTab]) { boost::scoped_ptr pMixDoc; - bool bDoMix = ( bSkipEmpty || nFunction ) && ( nFlags & IDF_CONTENTS ); + bool bDoMix = ( bSkipEmpty || nFunction ) && ( nFlags & InsertDeleteFlags::CONTENTS ); bool bOldAutoCalc = GetAutoCalc(); SetAutoCalc( false ); // avoid multiple calculations @@ -3209,7 +3209,7 @@ sc::CopyToDocContext aMixCxt(*pMixDoc); maTabs[i]->CopyToTable(aMixCxt, nStartCol,nStartRow, nEndCol,nEndRow, - IDF_CONTENTS, true, pMixDoc->maTabs[i], &rMark ); + InsertDeleteFlags::CONTENTS, true, pMixDoc->maTabs[i], &rMark ); } maTabs[i]->DeleteSelection( nDelFlags, rMark ); @@ -5666,7 +5666,7 @@ std::vector aGroupPos; // Destroy and reconstruct listeners only if content is affected. - bool bDelContent = ((nDelFlag & ~IDF_CONTENTS) != nDelFlag); + bool bDelContent = ((nDelFlag & ~InsertDeleteFlags::CONTENTS) != nDelFlag); if (bDelContent) { // Record the positions of top and/or bottom formula groups that @@ -5706,7 +5706,7 @@ std::vector aGroupPos; // Destroy and reconstruct listeners only if content is affected. - bool bDelContent = ((nDelFlag & ~IDF_CONTENTS) != nDelFlag); + bool bDelContent = ((nDelFlag & ~InsertDeleteFlags::CONTENTS) != nDelFlag); if (bDelContent) { // Record the positions of top and/or bottom formula groups that diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/document10.cxx libreoffice-5.0.3.2/sc/source/core/data/document10.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/document10.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/document10.cxx 2015-11-17 15:21:04.755036060 +0100 @@ -103,7 +103,7 @@ const ScPatternAttr* pAttr = pClipDoc->GetPattern(aSrcPos); rCxt.setSingleCellPattern(nColOffset, pAttr); - if ((rCxt.getInsertFlag() & (IDF_NOTE | IDF_ADDNOTES)) != IDF_NONE) + if ((rCxt.getInsertFlag() & (InsertDeleteFlags::NOTE | InsertDeleteFlags::ADDNOTES)) != InsertDeleteFlags::NONE) rCxt.setSingleCellNote(nColOffset, pClipDoc->GetNote(aSrcPos)); ScColumn& rSrcCol = pSrcTab->aCol[aSrcPos.Col()]; @@ -118,7 +118,7 @@ for (SCTAB i = rCxt.getTabStart(); i <= nTabEnd && i < static_cast(maTabs.size()); ++i) { maTabs[i]->CopyOneCellFromClip(rCxt, nCol1, nRow1, nCol2, nRow2); - if (rCxt.getInsertFlag() & IDF_ATTRIB) + if (rCxt.getInsertFlag() & InsertDeleteFlags::ATTRIB) for (SCROW nRow = nRow1; nRow <= nRow2; ++nRow) { maTabs[i]->CopyConditionalFormat(nCol1, nRow, nCol2, nRow, nCol1 - aClipRange.aStart.Col(), diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/dpobject.cxx libreoffice-5.0.3.2/sc/source/core/data/dpobject.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/dpobject.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/dpobject.cxx 2015-11-17 15:21:04.756036226 +0100 @@ -909,7 +909,7 @@ // clear old output area pDoc->DeleteAreaTab( aOutRange.aStart.Col(), aOutRange.aStart.Row(), aOutRange.aEnd.Col(), aOutRange.aEnd.Row(), - aOutRange.aStart.Tab(), IDF_ALL ); + aOutRange.aStart.Tab(), InsertDeleteFlags::ALL ); pDoc->RemoveFlagsTab( aOutRange.aStart.Col(), aOutRange.aStart.Row(), aOutRange.aEnd.Col(), aOutRange.aEnd.Row(), aOutRange.aStart.Tab(), SC_MF_AUTO ); diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/dpoutput.cxx libreoffice-5.0.3.2/sc/source/core/data/dpoutput.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/dpoutput.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/dpoutput.cxx 2015-11-17 15:21:04.757036392 +0100 @@ -978,8 +978,8 @@ // clear whole (new) output area // when modifying table, clear old area ! - //TODO: include IDF_OBJECTS ??? - pDoc->DeleteAreaTab( aStartPos.Col(), aStartPos.Row(), nTabEndCol, nTabEndRow, nTab, IDF_ALL ); + //TODO: include InsertDeleteFlags::OBJECTS ??? + pDoc->DeleteAreaTab( aStartPos.Col(), aStartPos.Row(), nTabEndCol, nTabEndRow, nTab, InsertDeleteFlags::ALL ); if ( bDoFilter ) lcl_DoFilterButton( pDoc, aStartPos.Col(), aStartPos.Row(), nTab ); diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/table2.cxx libreoffice-5.0.3.2/sc/source/core/data/table2.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/table2.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/table2.cxx 2015-11-17 15:21:04.758036558 +0100 @@ -334,7 +334,7 @@ sc::CopyToDocContext aCxt(*pDocument); for (SCSIZE i=0; iGetPool()); aPattern.GetItemSet().Put( ScProtectionAttr( false ) ); ApplyPatternArea( nCol1, nRow1, nCol2, nRow2, aPattern ); } - if( nDelFlag & IDF_ATTRIB ) + if( nDelFlag & InsertDeleteFlags::ATTRIB ) mpCondFormatList->DeleteArea( nCol1, nRow1, nCol2, nRow2 ); } @@ -468,13 +468,13 @@ { ScRange* pRange = aRangeList[i]; - if((nDelFlag & IDF_ATTRIB) && pRange && pRange->aStart.Tab() == nTab) + if((nDelFlag & InsertDeleteFlags::ATTRIB) && pRange && pRange->aStart.Tab() == nTab) mpCondFormatList->DeleteArea( pRange->aStart.Col(), pRange->aStart.Row(), pRange->aEnd.Col(), pRange->aEnd.Row() ); } // Do not set protected cell in a protected sheet - if ( IsProtected() && (nDelFlag & IDF_ATTRIB) ) + if ( IsProtected() && (nDelFlag & InsertDeleteFlags::ATTRIB) ) { ScDocumentPool* pPool = pDocument->GetPool(); SfxItemSet aSet( *pPool, ATTR_PATTERN_START, ATTR_PATTERN_END ); @@ -659,7 +659,7 @@ for ( SCCOL i = nCol1; i <= nCol2; i++) aCol[i].CopyFromClip(rCxt, nRow1, nRow2, nDy, pTable->aCol[i - nDx]); // notes are handles at column level - if (rCxt.getInsertFlag() & IDF_ATTRIB) + if (rCxt.getInsertFlag() & InsertDeleteFlags::ATTRIB) { // make sure that there are no old references to the cond formats sal_uInt16 nWhichArray[2]; @@ -669,7 +669,7 @@ aCol[i].ClearItems(nRow1, nRow2, nWhichArray); } - if ((rCxt.getInsertFlag() & IDF_ATTRIB) != IDF_NONE) + if ((rCxt.getInsertFlag() & InsertDeleteFlags::ATTRIB) != InsertDeleteFlags::NONE) { if (nRow1==0 && nRow2==MAXROW && pColWidth && pTable->pColWidth) for (SCCOL i=nCol1; i<=nCol2; i++) @@ -690,7 +690,7 @@ } // Do not set protected cell in a protected sheet - if (IsProtected() && (rCxt.getInsertFlag() & IDF_ATTRIB)) + if (IsProtected() && (rCxt.getInsertFlag() & InsertDeleteFlags::ATTRIB)) { ScPatternAttr aPattern(pDocument->GetPool()); aPattern.GetItemSet().Put( ScProtectionAttr( false ) ); @@ -831,9 +831,9 @@ for (SCCOL nCol=nCol1; nCol<=nCol2; nCol++) { SCROW nRow; - if ( bAsLink && nFlags == IDF_ALL ) + if ( bAsLink && nFlags == InsertDeleteFlags::ALL ) { - // with IDF_ALL, also create links (formulas) for empty cells + // with InsertDeleteFlags::ALL, also create links (formulas) for empty cells for ( nRow=nRow1; nRow<=nRow2; nRow++ ) { @@ -1092,7 +1092,7 @@ if (!ValidColRow(nCol1, nRow1) || !ValidColRow(nCol2, nRow2)) return; - if (nFlags) + if (nFlags != InsertDeleteFlags::NONE) for (SCCOL i = nCol1; i <= nCol2; i++) aCol[i].CopyToColumn(rCxt, nRow1, nRow2, nFlags, bMarked, pDestTab->aCol[i], pMarkData, bAsLink); @@ -1100,7 +1100,7 @@ if (!bColRowFlags) // Column widths/Row heights/Flags return; - if(pDestTab->pDocument->IsUndo() && (nFlags & IDF_ATTRIB)) + if(pDestTab->pDocument->IsUndo() && (nFlags & InsertDeleteFlags::ATTRIB)) { pDestTab->mpCondFormatList.reset(new ScConditionalFormatList(pDestTab->pDocument, *mpCondFormatList)); } @@ -1194,13 +1194,13 @@ if (bFlagChange) pDestTab->InvalidatePageBreaks(); - if(nFlags & IDF_ATTRIB) + if(nFlags & InsertDeleteFlags::ATTRIB) { pDestTab->mpCondFormatList->DeleteArea(nCol1, nRow1, nCol2, nRow2); pDestTab->CopyConditionalFormat(nCol1, nRow1, nCol2, nRow2, 0, 0, this); } - if(nFlags & IDF_OUTLINE) // also only when bColRowFlags + if(nFlags & InsertDeleteFlags::OUTLINE) // also only when bColRowFlags pDestTab->SetOutlineTable( pOutlineTable ); } @@ -1218,10 +1218,10 @@ if ( i >= nCol1 && i <= nCol2 ) aCol[i].UndoToColumn(rCxt, nRow1, nRow2, nFlags, bMarked, pDestTab->aCol[i], pMarkData); else - aCol[i].CopyToColumn(rCxt, 0, MAXROW, IDF_FORMULA, false, pDestTab->aCol[i]); + aCol[i].CopyToColumn(rCxt, 0, MAXROW, InsertDeleteFlags::FORMULA, false, pDestTab->aCol[i]); } - if (nFlags & IDF_ATTRIB) + if (nFlags & InsertDeleteFlags::ATTRIB) pDestTab->mpCondFormatList.reset(new ScConditionalFormatList(pDestTab->pDocument, *mpCondFormatList)); if (bWidth||bHeight) diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/table4.cxx libreoffice-5.0.3.2/sc/source/core/data/table4.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/table4.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/table4.cxx 2015-11-17 15:21:04.758036558 +0100 @@ -545,9 +545,9 @@ if (!bHasFiltered) { if (bVertical) - DeleteArea(nCol1, static_cast(nIMin), nCol2, static_cast(nIMax), IDF_AUTOFILL); + DeleteArea(nCol1, static_cast(nIMin), nCol2, static_cast(nIMax), InsertDeleteFlags::AUTOFILL); else - DeleteArea(static_cast(nIMin), nRow1, static_cast(nIMax), nRow2, IDF_AUTOFILL); + DeleteArea(static_cast(nIMin), nRow1, static_cast(nIMax), nRow2, InsertDeleteFlags::AUTOFILL); } sal_uLong nProgress = 0; @@ -629,7 +629,7 @@ if ( bHasFiltered ) DeleteArea(static_cast(nCol), static_cast(nRow), - static_cast(nCol), static_cast(nRow), IDF_AUTOFILL); + static_cast(nCol), static_cast(nRow), InsertDeleteFlags::AUTOFILL); if ( pSrcPattern != aCol[nCol].GetPattern( static_cast(nRow) ) ) { @@ -1170,7 +1170,7 @@ if (aSpans.empty()) return; - aCol[nCol].DeleteRanges(aSpans, IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_FORMULA | IDF_OUTLINE, false); + aCol[nCol].DeleteRanges(aSpans, InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME | InsertDeleteFlags::STRING | InsertDeleteFlags::FORMULA | InsertDeleteFlags::OUTLINE, false); aCol[nCol].CloneFormulaCell(rSrcCell, sc::CellTextAttr(), aSpans, NULL); boost::shared_ptr pSet(new sc::ColumnBlockPositionSet(*pDocument)); @@ -1523,7 +1523,7 @@ SCCOLROW nIMin = nIStart; SCCOLROW nIMax = nIEnd; PutInOrder(nIMin,nIMax); - InsertDeleteFlags nDel = bAttribs ? IDF_AUTOFILL : (IDF_AUTOFILL & IDF_CONTENTS); + InsertDeleteFlags nDel = bAttribs ? InsertDeleteFlags::AUTOFILL : (InsertDeleteFlags::AUTOFILL & InsertDeleteFlags::CONTENTS); bool bIsFiltered = IsDataFiltered(aFillRange); if (!bIsFiltered) diff -uar libreoffice-5.0.3.2.orig/sc/source/core/data/table6.cxx libreoffice-5.0.3.2/sc/source/core/data/table6.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/data/table6.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/data/table6.cxx 2015-11-17 15:21:04.758036558 +0100 @@ -679,7 +679,7 @@ { if (pUndoDoc) pDocument->CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, - IDF_ATTRIB, true, pUndoDoc, &rMark ); + InsertDeleteFlags::ATTRIB, true, pUndoDoc, &rMark ); ApplySelectionStyle( *pReplaceStyle, rMark ); } else diff -uar libreoffice-5.0.3.2.orig/sc/source/core/tool/chgtrack.cxx libreoffice-5.0.3.2/sc/source/core/tool/chgtrack.cxx --- libreoffice-5.0.3.2.orig/sc/source/core/tool/chgtrack.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/core/tool/chgtrack.cxx 2015-11-17 15:21:04.759036724 +0100 @@ -1247,8 +1247,8 @@ pTrack->LookUpContents( aToRange, pDoc, 0, 0, 0 ); // Contents to be moved - pDoc->DeleteAreaTab( aToRange, IDF_ALL ); - pDoc->DeleteAreaTab( aFrmRange, IDF_ALL ); + pDoc->DeleteAreaTab( aToRange, InsertDeleteFlags::ALL ); + pDoc->DeleteAreaTab( aFrmRange, InsertDeleteFlags::ALL ); // Adjust formula in the Document sc::RefUpdateContext aCxt(*pDoc); aCxt.meMode = URM_MOVE; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/app/transobj.cxx libreoffice-5.0.3.2/sc/source/ui/app/transobj.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/app/transobj.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/app/transobj.cxx 2015-11-17 15:21:04.760036889 +0100 @@ -498,7 +498,7 @@ ScMarkData aMarkData = GetSourceMarkData(); // external drag&drop doesn't copy objects, so they also aren't deleted: // bApi=TRUE, don't show error messages from drag&drop - pSourceSh->GetDocFunc().DeleteContents( aMarkData, IDF_ALL & ~IDF_OBJECTS, true, true ); + pSourceSh->GetDocFunc().DeleteContents( aMarkData, InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS, true, true ); } } @@ -646,7 +646,7 @@ bool bWasCut = pDoc->IsCutMode(); if (!bWasCut) pDoc->SetClipArea( aDestRange, true ); // Cut - rDestDoc.CopyFromClip( aDestRange, aDestMark, IDF_ALL, NULL, pDoc, false ); + rDestDoc.CopyFromClip( aDestRange, aDestMark, InsertDeleteFlags::ALL, NULL, pDoc, false ); pDoc->SetClipArea( aDestRange, bWasCut ); StripRefs( pDoc, nStartX,nStartY, nEndX,nEndY, &rDestDoc, 0,0 ); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/attrdlg/scdlgfact.hxx libreoffice-5.0.3.2/sc/source/ui/attrdlg/scdlgfact.hxx --- libreoffice-5.0.3.2.orig/sc/source/ui/attrdlg/scdlgfact.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/attrdlg/scdlgfact.hxx 2015-11-17 15:33:26.757102280 +0100 @@ -428,7 +428,7 @@ ScTabViewShell* pTabViewShell) SAL_OVERRIDE; virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE) SAL_OVERRIDE; + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE) SAL_OVERRIDE; virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( vcl::Window* pParent, ScDocument& rDocument, @@ -448,7 +448,7 @@ bool bDisallowCellMove = false ) SAL_OVERRIDE; virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE, + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE, const OUString* pStrTitle = NULL ) SAL_OVERRIDE; virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData, diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/arealink.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/arealink.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/arealink.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/arealink.cxx 2015-11-17 15:21:04.760036889 +0100 @@ -334,16 +334,16 @@ { pUndoDoc->InitUndo( &rDoc, 0, rDoc.GetTableCount()-1 ); rDoc.CopyToDocument( 0,0,0,MAXCOL,MAXROW,MAXTAB, - IDF_FORMULA, false, pUndoDoc ); // alle Formeln + InsertDeleteFlags::FORMULA, false, pUndoDoc ); // alle Formeln } else pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab ); // nur Zieltabelle - rDoc.CopyToDocument( aOldRange, IDF_ALL & ~IDF_NOTE, false, pUndoDoc ); + rDoc.CopyToDocument( aOldRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pUndoDoc ); } else // ohne Einfuegen { pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab ); // nur Zieltabelle - rDoc.CopyToDocument( aMaxRange, IDF_ALL & ~IDF_NOTE, false, pUndoDoc ); + rDoc.CopyToDocument( aMaxRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pUndoDoc ); } } @@ -353,7 +353,7 @@ if (bDoInsert) rDoc.FitBlock( aOldRange, aNewRange ); // incl. loeschen else - rDoc.DeleteAreaTab( aMaxRange, IDF_ALL & ~IDF_NOTE ); + rDoc.DeleteAreaTab( aMaxRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); // Daten kopieren @@ -392,7 +392,7 @@ ScMarkData aDestMark; aDestMark.SelectOneTable( nDestTab ); aDestMark.SetMarkArea( aNewTokenRange ); - rDoc.CopyFromClip( aNewTokenRange, aDestMark, IDF_ALL, NULL, &aClipDoc, false ); + rDoc.CopyFromClip( aNewTokenRange, aDestMark, InsertDeleteFlags::ALL, NULL, &aClipDoc, false ); aNewTokenRange.aStart.SetRow( aNewTokenRange.aEnd.Row() + 2 ); } } @@ -409,7 +409,7 @@ { ScDocument* pRedoDoc = new ScDocument( SCDOCMODE_UNDO ); pRedoDoc->InitUndo( &rDoc, nDestTab, nDestTab ); - rDoc.CopyToDocument( aNewRange, IDF_ALL & ~IDF_NOTE, false, pRedoDoc ); + rDoc.CopyToDocument( aNewRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pRedoDoc ); pImpl->m_pDocSh->GetUndoManager()->AddUndoAction( new ScUndoUpdateAreaLink( pImpl->m_pDocSh, diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/dbdocfun.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/dbdocfun.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/dbdocfun.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/dbdocfun.cxx 2015-11-17 15:21:04.760036890 +0100 @@ -363,19 +363,19 @@ pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); rDoc.CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, - IDF_NONE, false, pUndoDoc ); + InsertDeleteFlags::NONE, false, pUndoDoc ); rDoc.CopyToDocument( 0, static_cast(nOutStartRow), nTab, MAXCOL, static_cast(nOutEndRow), nTab, - IDF_NONE, false, pUndoDoc ); + InsertDeleteFlags::NONE, false, pUndoDoc ); } else pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); // Datenbereich sichern - incl. Filter-Ergebnis - rDoc.CopyToDocument( 0,nStartRow,nTab, MAXCOL,nEndRow,nTab, IDF_ALL, false, pUndoDoc ); + rDoc.CopyToDocument( 0,nStartRow,nTab, MAXCOL,nEndRow,nTab, InsertDeleteFlags::ALL, false, pUndoDoc ); // alle Formeln wegen Referenzen - rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, IDF_FORMULA, false, pUndoDoc ); + rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, InsertDeleteFlags::FORMULA, false, pUndoDoc ); // DB- und andere Bereiche ScRangeName* pDocRange = rDoc.GetRangeName(); @@ -737,12 +737,12 @@ pUndoDoc->InitUndo( &rDoc, nDestTab, nDestTab, false, true ); rDoc.CopyToDocument( aLocalParam.nCol1, aLocalParam.nRow1, nDestTab, aLocalParam.nCol2, aLocalParam.nRow2, nDestTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); // Attribute sichern, falls beim Filtern mitkopiert if (pDestData) { - rDoc.CopyToDocument( aOldDest, IDF_ALL, false, pUndoDoc ); + rDoc.CopyToDocument( aOldDest, InsertDeleteFlags::ALL, false, pUndoDoc ); pOld = &aOldDest; } } @@ -750,7 +750,7 @@ { pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); rDoc.CopyToDocument( 0, rQueryParam.nRow1, nTab, MAXCOL, rQueryParam.nRow2, nTab, - IDF_NONE, false, pUndoDoc ); + InsertDeleteFlags::NONE, false, pUndoDoc ); } ScDBCollection* pDocDB = rDoc.GetDBCollection(); @@ -778,13 +778,13 @@ pAttribDoc = new ScDocument( SCDOCMODE_UNDO ); pAttribDoc->InitUndo( &rDoc, nDestTab, nDestTab, false, true ); - rDoc.CopyToDocument( aAttribRange, IDF_ATTRIB, false, pAttribDoc ); + rDoc.CopyToDocument( aAttribRange, InsertDeleteFlags::ATTRIB, false, pAttribDoc ); } if ( bDoSize ) rDoc.FitBlock( aOldDest, aDestTotal ); else - rDoc.DeleteAreaTab(aOldDest, IDF_ALL); // einfach loeschen + rDoc.DeleteAreaTab(aOldDest, InsertDeleteFlags::ALL); // einfach loeschen } // Filtern am Dokument ausfuehren @@ -838,7 +838,7 @@ { ScRange aHdrRange = aAttribRange; aHdrRange.aEnd.SetRow( aHdrRange.aStart.Row() ); - pAttribDoc->CopyToDocument( aHdrRange, IDF_ATTRIB, false, &rDoc ); + pAttribDoc->CopyToDocument( aHdrRange, InsertDeleteFlags::ATTRIB, false, &rDoc ); } // Daten @@ -1026,19 +1026,19 @@ pTable->GetRowArray().GetRange( nOutStartRow, nOutEndRow ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, bOldFilter ); // Datenbereich sichern - incl. Filter-Ergebnis rDoc.CopyToDocument( 0,rParam.nRow1+1,nTab, MAXCOL,rParam.nRow2,nTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); // alle Formeln wegen Referenzen rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, - IDF_FORMULA, false, pUndoDoc ); + InsertDeleteFlags::FORMULA, false, pUndoDoc ); // DB- und andere Bereiche ScRangeName* pDocRange = rDoc.GetRangeName(); @@ -1161,7 +1161,7 @@ SCTAB nTab = rRange.aStart.Tab(); pUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO)); pUndoDoc->InitUndo(pDoc, nTab, nTab); - pDoc->CopyToDocument(rRange, IDF_ALL, false, pUndoDoc.get()); + pDoc->CopyToDocument(rRange, InsertDeleteFlags::ALL, false, pUndoDoc.get()); } bool checkNewOutputRange(ScDPObject& rDPObj, ScDocShell& rDocShell, ScRange& rNewOut, bool bApi) @@ -1340,7 +1340,7 @@ rDoc.DeleteAreaTab( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row(), - nTab, IDF_ALL ); + nTab, InsertDeleteFlags::ALL ); rDoc.RemoveFlagsTab( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row(), nTab, SC_MF_AUTO ); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/dbdocimp.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/dbdocimp.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/dbdocimp.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/dbdocimp.cxx 2015-11-17 15:21:04.760036890 +0100 @@ -450,10 +450,10 @@ SCCOL nMinEndCol = std::min( rParam.nCol2, nEndCol ); // not too much nMinEndCol = sal::static_int_cast( nMinEndCol + nFormulaCols ); // only if column count unchanged - pImportDoc->DeleteAreaTab( 0,0, MAXCOL,MAXROW, nTab, IDF_ATTRIB ); + pImportDoc->DeleteAreaTab( 0,0, MAXCOL,MAXROW, nTab, InsertDeleteFlags::ATTRIB ); rDoc.CopyToDocument( rParam.nCol1, rParam.nRow1, nTab, nMinEndCol, rParam.nRow1, nTab, - IDF_ATTRIB, false, pImportDoc ); + InsertDeleteFlags::ATTRIB, false, pImportDoc ); SCROW nDataStartRow = rParam.nRow1+1; for (SCCOL nCopyCol=rParam.nCol1; nCopyCol<=nMinEndCol; nCopyCol++) @@ -499,7 +499,7 @@ if (bRecord) { // do not touch notes (ScUndoImportData does not support drawing undo) - InsertDeleteFlags nCopyFlags = IDF_ALL & ~IDF_NOTE; + InsertDeleteFlags nCopyFlags = InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE; // nFormulaCols is set only if column count is unchanged rDoc.CopyToDocument( rParam.nCol1, rParam.nRow1, nTab, @@ -524,7 +524,7 @@ ScRange aDelRange( rParam.nCol1, rParam.nRow1, nTab, rParam.nCol2, rParam.nRow2, nTab ); - rDoc.DeleteAreaTab( aDelRange, IDF_ALL & ~IDF_NOTE ); // ohne die Formeln + rDoc.DeleteAreaTab( aDelRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); // ohne die Formeln ScRange aOld( rParam.nCol1, rParam.nRow1, nTab, rParam.nCol2+nFormulaCols, rParam.nRow2, nTab ); @@ -534,10 +534,10 @@ } else if ( nEndCol < rParam.nCol2 ) // DeleteArea calls PutInOrder rDoc.DeleteArea( nEndCol+1, rParam.nRow1, rParam.nCol2, rParam.nRow2, - aNewMark, IDF_CONTENTS & ~IDF_NOTE ); + aNewMark, InsertDeleteFlags::CONTENTS & ~InsertDeleteFlags::NOTE ); // CopyToDocument doesn't remove contents - rDoc.DeleteAreaTab( rParam.nCol1, rParam.nRow1, nEndCol, nEndRow, nTab, IDF_CONTENTS & ~IDF_NOTE ); + rDoc.DeleteAreaTab( rParam.nCol1, rParam.nRow1, nEndCol, nEndRow, nTab, InsertDeleteFlags::CONTENTS & ~InsertDeleteFlags::NOTE ); // remove each column from ImportDoc after copying to reduce memory usage bool bOldAutoCalc = rDoc.GetAutoCalc(); @@ -545,8 +545,8 @@ for (SCCOL nCopyCol = rParam.nCol1; nCopyCol <= nEndCol; nCopyCol++) { pImportDoc->CopyToDocument( nCopyCol, rParam.nRow1, nTab, nCopyCol, nEndRow, nTab, - IDF_ALL, false, &rDoc ); - pImportDoc->DeleteAreaTab( nCopyCol, rParam.nRow1, nCopyCol, nEndRow, nTab, IDF_CONTENTS ); + InsertDeleteFlags::ALL, false, &rDoc ); + pImportDoc->DeleteAreaTab( nCopyCol, rParam.nRow1, nCopyCol, nEndRow, nTab, InsertDeleteFlags::CONTENTS ); } rDoc.SetAutoCalc( bOldAutoCalc ); @@ -555,7 +555,7 @@ if (bKeepFormat) // formats for formulas pImportDoc->CopyToDocument( nEndCol+1, rParam.nRow1, nTab, nEndCol+nFormulaCols, nEndRow, nTab, - IDF_ATTRIB, false, &rDoc ); + InsertDeleteFlags::ATTRIB, false, &rDoc ); // fill formulas ScMarkData aMark; aMark.SelectOneTable(nTab); @@ -575,10 +575,10 @@ { if ( rParam.nCol2 > nEndCol ) rDoc.DeleteArea( nEndCol+1, rParam.nRow1, rParam.nCol2, rParam.nRow2, - aNewMark, IDF_CONTENTS ); + aNewMark, InsertDeleteFlags::CONTENTS ); if ( rParam.nRow2 > nEndRow ) rDoc.DeleteArea( rParam.nCol1, nEndRow+1, rParam.nCol2, rParam.nRow2, - aNewMark, IDF_CONTENTS ); + aNewMark, InsertDeleteFlags::CONTENTS ); } if( !bAddrInsert ) // update database range @@ -599,7 +599,7 @@ if (nFormulaCols > 0) // include filled formulas for redo rDoc.CopyToDocument( rParam.nCol1, rParam.nRow1, nTab, nEndCol+nFormulaCols, nEndRow, nTab, - IDF_ALL & ~IDF_NOTE, false, pRedoDoc ); + InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pRedoDoc ); ScDBData* pRedoDBData = pDBData ? new ScDBData( *pDBData ) : NULL; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docfunc.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/docfunc.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docfunc.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/docfunc.cxx 2015-11-17 15:29:28.944650524 +0100 @@ -597,10 +597,10 @@ bMulti = false; // no objects on protected tabs - bool bObjects = (nFlags & IDF_OBJECTS) && !sc::DocFuncUtil::hasProtectedTab(rDoc, rMark); + bool bObjects = (nFlags & InsertDeleteFlags::OBJECTS) && !sc::DocFuncUtil::hasProtectedTab(rDoc, rMark); sal_uInt16 nExtFlags = 0; // extra flags are needed only if attributes are deleted - if ( nFlags & IDF_ATTRIB ) + if ( nFlags & InsertDeleteFlags::ATTRIB ) rDocShell.UpdatePaintExt( nExtFlags, aMarkRange ); // Reihenfolge: @@ -609,7 +609,7 @@ // 3) Inhalte fuer Undo kopieren und Undo-Aktion anlegen // 4) Inhalte loeschen - bool bDrawUndo = bObjects || (nFlags & IDF_NOTE); + bool bDrawUndo = bObjects || (nFlags & InsertDeleteFlags::NOTE); if (bRecord && bDrawUndo) rDoc.BeginDrawUndo(); @@ -671,10 +671,10 @@ } // no objects on protected tabs - bool bObjects = (nFlags & IDF_OBJECTS) && !sc::DocFuncUtil::hasProtectedTab(rDoc, rMark); + bool bObjects = (nFlags & InsertDeleteFlags::OBJECTS) && !sc::DocFuncUtil::hasProtectedTab(rDoc, rMark); sal_uInt16 nExtFlags = 0; // extra flags are needed only if attributes are deleted - if (nFlags & IDF_ATTRIB) + if (nFlags & InsertDeleteFlags::ATTRIB) rDocShell.UpdatePaintExt(nExtFlags, rPos); // order op opeeration: @@ -684,7 +684,7 @@ // 4) delete contents // 5) add undo-action - bool bDrawUndo = bObjects || (nFlags & IDF_NOTE); // needed for shown notes + bool bDrawUndo = bObjects || (nFlags & InsertDeleteFlags::NOTE); // needed for shown notes if (bDrawUndo && bRecord) rDoc.BeginDrawUndo(); @@ -758,7 +758,7 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_CONTENTS, true, pUndoDoc, &aMultiMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::CONTENTS, true, pUndoDoc, &aMultiMark ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoTransliterate( &rDocShell, aMultiMark, pUndoDoc, nType ) ); @@ -1362,7 +1362,7 @@ { ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, aMultiRange.aStart.Tab(), aMultiRange.aEnd.Tab() ); - rDoc.CopyToDocument( aMultiRange, IDF_ATTRIB, bMulti, pUndoDoc, &rMark ); + rDoc.CopyToDocument( aMultiRange, InsertDeleteFlags::ATTRIB, bMulti, pUndoDoc, &rMark ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoSelectionAttr( @@ -1437,7 +1437,7 @@ ScRange aCopyRange = aMultiRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, bMulti, pUndoDoc, &rMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, bMulti, pUndoDoc, &rMark ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoSelectionStyle( @@ -2342,7 +2342,7 @@ nScenarioCount ++; rDoc.CopyToDocument( nUndoStartCol, nUndoStartRow, *itr, nUndoEndCol, nUndoEndRow, *itr+nScenarioCount, - IDF_ALL | IDF_NOCAPTIONS, false, pUndoDoc ); + InsertDeleteFlags::ALL | InsertDeleteFlags::NOCAPTIONS, false, pUndoDoc ); } pRefUndoDoc = new ScDocument( SCDOCMODE_UNDO ); @@ -2396,13 +2396,13 @@ { itr = aFullMark.begin(), itrEnd = aFullMark.end(); for (; itr != itrEnd && *itr < nTabCount; ++itr) - pRefUndoDoc->DeleteAreaTab(nUndoStartCol,nUndoStartRow,nUndoEndCol,nUndoEndRow, *itr, IDF_ALL); + pRefUndoDoc->DeleteAreaTab(nUndoStartCol,nUndoStartRow,nUndoEndCol,nUndoEndRow, *itr, InsertDeleteFlags::ALL); // alle Tabellen anlegen, damit Formeln kopiert werden koennen: pUndoDoc->AddUndoTab( 0, nTabCount-1, false, false ); // kopieren mit bColRowFlags=false (#54194#) - pRefUndoDoc->CopyToDocument(0,0,0,MAXCOL,MAXROW,MAXTAB,IDF_FORMULA,false,pUndoDoc,NULL,false); + pRefUndoDoc->CopyToDocument(0,0,0,MAXCOL,MAXROW,MAXTAB,InsertDeleteFlags::FORMULA,false,pUndoDoc,NULL,false); delete pRefUndoDoc; SCTAB* pTabs = new SCTAB[nSelCount]; @@ -2689,7 +2689,7 @@ { bool bWholeCols = ( nStartRow == 0 && nEndRow == MAXROW ); bool bWholeRows = ( nStartCol == 0 && nEndCol == MAXCOL ); - InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS; pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab, bWholeCols, bWholeRows ); @@ -2714,7 +2714,7 @@ ScMarkData aDelMark; // only for tables for (nTab=nStartTab; nTab<=nEndTab; nTab++) { - rDoc.DeleteAreaTab( nStartCol,nStartRow, nOldEndCol,nOldEndRow, nTab, IDF_ALL ); + rDoc.DeleteAreaTab( nStartCol,nStartRow, nOldEndCol,nOldEndRow, nTab, InsertDeleteFlags::ALL ); aDelMark.SelectTable( nTab, true ); } rDoc.DeleteObjectsInArea( nStartCol,nStartRow, nOldEndCol,nOldEndRow, aDelMark ); @@ -2726,7 +2726,7 @@ nUndoEndCol,nUndoEndRow,nDestEndTab, HASATTR_MERGED | HASATTR_OVERLAPPED )) { - rDoc.CopyFromClip( rSource, aSourceMark, IDF_ALL, NULL, pClipDoc ); + rDoc.CopyFromClip( rSource, aSourceMark, InsertDeleteFlags::ALL, NULL, pClipDoc ); for (nTab=nStartTab; nTab<=nEndTab; nTab++) { SCCOL nTmpEndCol = nEndCol; @@ -2757,7 +2757,7 @@ function ScDocument::UpdateReference() is called which calls ScDrawLayer::MoveCells() which may move away inserted objects to wrong positions (e.g. if source and destination range overlaps).*/ - rDoc.CopyFromClip( aPasteDest, aDestMark, IDF_ALL & ~(IDF_OBJECTS), + rDoc.CopyFromClip( aPasteDest, aDestMark, InsertDeleteFlags::ALL & ~(InsertDeleteFlags::OBJECTS), NULL, pClipDoc, true, false, bIncludeFiltered ); // skipped rows and merged cells don't mix @@ -2772,7 +2772,7 @@ and row heights. There are no cell notes or drawing objects, if the clipdoc does not contain a drawing layer.*/ if ( pClipDoc->GetDrawLayer() ) - rDoc.CopyFromClip( aPasteDest, aDestMark, IDF_OBJECTS, + rDoc.CopyFromClip( aPasteDest, aDestMark, InsertDeleteFlags::OBJECTS, NULL, pClipDoc, true, false, bIncludeFiltered ); if (bRecord) @@ -3048,7 +3048,7 @@ pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); // nur nTab mit Flags pUndoDoc->AddUndoTab( 0, nCount-1 ); // alle Tabs fuer Referenzen - rDoc.CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, IDF_ALL,false, pUndoDoc ); + rDoc.CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::ALL,false, pUndoDoc ); OUString aOldName; rDoc.GetName( nTab, aOldName ); pUndoDoc->RenameTab( nTab, aOldName, false ); @@ -3403,12 +3403,12 @@ if (bWidth) { pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, false ); - rDoc.CopyToDocument( static_cast(nStart), 0, nTab, static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( static_cast(nStart), 0, nTab, static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else { pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); - rDoc.CopyToDocument( 0, static_cast(nStart), nTab, MAXCOL, static_cast(nEnd), nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, static_cast(nStart), nTab, MAXCOL, static_cast(nEnd), nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } aUndoRanges = rRanges; @@ -3840,7 +3840,7 @@ ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab ); - rDoc.CopyToDocument( aMarkRange, IDF_ATTRIB, true, pUndoDoc, &aMultiMark ); + rDoc.CopyToDocument( aMarkRange, InsertDeleteFlags::ATTRIB, true, pUndoDoc, &aMultiMark ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoClearItems( &rDocShell, aMultiMark, pUndoDoc, pWhich ) ); @@ -3888,7 +3888,7 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, true, pUndoDoc, &rMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, true, pUndoDoc, &rMark ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoIndent( &rDocShell, rMark, pUndoDoc, bIncrement ) ); @@ -3969,13 +3969,13 @@ ScRange aCopyRange = rRange; aCopyRange.aStart.SetTab(0); aCopyRange.aStart.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, false, pUndoDoc, &aMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, false, pUndoDoc, &aMark ); if (bSize) { rDoc.CopyToDocument( nStartCol,0,0, nEndCol,MAXROW,nTabCount-1, - IDF_NONE, false, pUndoDoc, &aMark ); + InsertDeleteFlags::NONE, false, pUndoDoc, &aMark ); rDoc.CopyToDocument( 0,nStartRow,0, MAXCOL,nEndRow,nTabCount-1, - IDF_NONE, false, pUndoDoc, &aMark ); + InsertDeleteFlags::NONE, false, pUndoDoc, &aMark ); } rDoc.BeginDrawUndo(); } @@ -4064,7 +4064,7 @@ //! auch bei Undo selektierte Tabellen beruecksichtigen pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab ); - rDoc.CopyToDocument( rRange, IDF_ALL & ~IDF_NOTE, false, pUndoDoc ); + rDoc.CopyToDocument( rRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pUndoDoc ); } // use TokenArray if given, string (and flags) otherwise @@ -4149,7 +4149,7 @@ //! auch bei Undo selektierte Tabellen beruecksichtigen ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab ); - rDoc.CopyToDocument( rRange, IDF_ALL & ~IDF_NOTE, false, pUndoDoc ); + rDoc.CopyToDocument( rRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, pUndoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoTabOp( &rDocShell, @@ -4327,7 +4327,7 @@ ScRange aCopyRange = aDestArea; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_AUTOFILL, false, pUndoDoc, &aMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::AUTOFILL, false, pUndoDoc, &aMark ); } sal_uLong nProgCount; @@ -4442,7 +4442,7 @@ rDoc.CopyToDocument( aDestArea.aStart.Col(), aDestArea.aStart.Row(), 0, aDestArea.aEnd.Col(), aDestArea.aEnd.Row(), nTabCount-1, - IDF_AUTOFILL, false, pUndoDoc, &aMark ); + InsertDeleteFlags::AUTOFILL, false, pUndoDoc, &aMark ); } if (aDestArea.aStart.Col() <= aDestArea.aEnd.Col() && @@ -4592,7 +4592,7 @@ rDoc.CopyToDocument( aDestArea.aStart.Col(), aDestArea.aStart.Row(), 0, aDestArea.aEnd.Col(), aDestArea.aEnd.Row(), nTabCount-1, - IDF_AUTOFILL, false, pUndoDoc, &aMark ); + InsertDeleteFlags::AUTOFILL, false, pUndoDoc, &aMark ); } sal_uLong nProgCount; @@ -4691,7 +4691,7 @@ } // note captions are collected by drawing undo rDoc.CopyToDocument( nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab, - IDF_ALL|IDF_NOCAPTIONS, false, pUndoDoc ); + InsertDeleteFlags::ALL|InsertDeleteFlags::NOCAPTIONS, false, pUndoDoc ); if( bHasNotes ) rDoc.BeginDrawUndo(); } @@ -4783,7 +4783,7 @@ pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo(&rDoc, *rOption.maTabs.begin(), *rOption.maTabs.rbegin()); } - rDoc.CopyToDocument(aExtended, IDF_ATTRIB, false, pUndoDoc); + rDoc.CopyToDocument(aExtended, InsertDeleteFlags::ATTRIB, false, pUndoDoc); } const SfxPoolItem& rDefAttr = rDoc.GetPool()->GetDefaultItem( ATTR_MERGE ); @@ -5083,7 +5083,7 @@ pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nEndCol,nEndRow,nTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); rDoc.BeginDrawUndo(); // wegen Hoehenanpassung } @@ -5129,7 +5129,7 @@ ScDocument* pRedoDoc = new ScDocument( SCDOCMODE_UNDO ); pRedoDoc->InitUndo( &rDoc, nTab, nTab ); rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nEndCol,nEndRow,nTab, - IDF_ALL, false, pRedoDoc ); + InsertDeleteFlags::ALL, false, pRedoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoListNames( &rDocShell, @@ -5175,7 +5175,7 @@ aMark.SelectTable( nTab, true ); ScRange aNewRange( rOldRange.aStart, rNewEnd ); - if ( DeleteContents( aMark, IDF_CONTENTS, true, bApi ) ) + if ( DeleteContents( aMark, InsertDeleteFlags::CONTENTS, true, bApi ) ) { // GRAM_PODF_A1 for API compatibility. bRet = EnterMatrix( aNewRange, &aMark, NULL, aFormula, bApi, false, EMPTY_OUSTRING, formula::FormulaGrammar::GRAM_PODF_A1 ); @@ -5310,7 +5310,7 @@ rDoc.CopyToDocument( aCompleteRange.aStart.Col(),aCompleteRange.aStart.Row(),nTab, aCompleteRange.aEnd.Col(),aCompleteRange.aEnd.Row(),nTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); } boost::scoped_ptr pRepaintRange; @@ -5345,7 +5345,7 @@ pRedoDoc->InitUndo( &rDoc, nTab, nTab ); rDoc.CopyToDocument( aCompleteRange.aStart.Col(),aCompleteRange.aStart.Row(),nTab, aCompleteRange.aEnd.Col(),aCompleteRange.aEnd.Row(),nTab, - IDF_ALL, false, pRedoDoc ); + InsertDeleteFlags::ALL, false, pRedoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoConditionalFormat(&rDocShell, pUndoDoc, pRedoDoc, aCompleteRange)); } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docfuncutil.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/docfuncutil.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docfuncutil.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/docfuncutil.cxx 2015-11-17 15:21:04.763037385 +0100 @@ -56,16 +56,16 @@ aCopyRange.aEnd.SetTab(nTabCount-1); // in case of "Format/Standard" copy all attributes, because CopyToDocument - // with IDF_HARDATTR only is too time-consuming: + // with InsertDeleteFlags::HARDATTR only is too time-consuming: InsertDeleteFlags nUndoDocFlags = nFlags; - if (nFlags & IDF_ATTRIB) - nUndoDocFlags |= IDF_ATTRIB; - if (nFlags & IDF_EDITATTR) // Edit-Engine-Attribute - nUndoDocFlags |= IDF_STRING; // -> cells will be changed - if (nFlags & IDF_NOTE) - nUndoDocFlags |= IDF_CONTENTS; // copy all cells with their notes + if (nFlags & InsertDeleteFlags::ATTRIB) + nUndoDocFlags |= InsertDeleteFlags::ATTRIB; + if (nFlags & InsertDeleteFlags::EDITATTR) // Edit-Engine-Attribute + nUndoDocFlags |= InsertDeleteFlags::STRING; // -> cells will be changed + if (nFlags & InsertDeleteFlags::NOTE) + nUndoDocFlags |= InsertDeleteFlags::CONTENTS; // copy all cells with their notes // do not copy note captions to undo document - nUndoDocFlags |= IDF_NOCAPTIONS; + nUndoDocFlags |= InsertDeleteFlags::NOCAPTIONS; rDoc.CopyToDocument(aCopyRange, nUndoDocFlags, bOnlyMarked, pUndoDoc.get(), &rMark); return pUndoDoc.release(); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docsh5.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/docsh5.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/docsh5.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/docsh5.cxx 2015-11-17 15:21:04.763037385 +0100 @@ -546,20 +546,20 @@ // Zeilenstatus aDocument.CopyToDocument( 0,0,nDestTab, MAXCOL,MAXROW,nDestTab, - IDF_NONE, false, pUndoDoc ); + InsertDeleteFlags::NONE, false, pUndoDoc ); // alle Formeln aDocument.CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, - IDF_FORMULA, false, pUndoDoc ); + InsertDeleteFlags::FORMULA, false, pUndoDoc ); // komplette Ausgangszeilen aDocument.CopyToDocument( 0,aDestArea.nRowStart,nDestTab, MAXCOL,aDestArea.nRowEnd,nDestTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); // alten Ausgabebereich if (pDestData) - aDocument.CopyToDocument( aOldDest, IDF_ALL, false, pUndoDoc ); + aDocument.CopyToDocument( aOldDest, InsertDeleteFlags::ALL, false, pUndoDoc ); GetUndoManager()->AddUndoAction( new ScUndoConsolidate( this, aDestArea, rParam, pUndoDoc, @@ -572,11 +572,11 @@ aDocument.CopyToDocument( aDestArea.nColStart, aDestArea.nRowStart, aDestArea.nTab, aDestArea.nColEnd, aDestArea.nRowEnd, aDestArea.nTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); // alten Ausgabebereich if (pDestData) - aDocument.CopyToDocument( aOldDest, IDF_ALL, false, pUndoDoc ); + aDocument.CopyToDocument( aOldDest, InsertDeleteFlags::ALL, false, pUndoDoc ); GetUndoManager()->AddUndoAction( new ScUndoConsolidate( this, aDestArea, rParam, pUndoDoc, @@ -586,7 +586,7 @@ if (pDestData) // Zielbereich loeschen / anpassen { - aDocument.DeleteAreaTab(aOldDest, IDF_CONTENTS); + aDocument.DeleteAreaTab(aOldDest, InsertDeleteFlags::CONTENTS); pDestData->SetArea( rParam.nTab, rParam.nCol, rParam.nRow, rParam.nCol + nColSize - 1, rParam.nRow + nRowSize - 1 ); pDestData->SetHeader( rParam.bByRow ); @@ -660,7 +660,7 @@ pUndoDoc->InitUndo( &aDocument, nTab,nEndTab ); // auch alle Szenarien // angezeigte Tabelle: aDocument.CopyToDocument( nStartCol,nStartRow,nTab, - nEndCol,nEndRow,nTab, IDF_ALL,true, pUndoDoc, &aScenMark ); + nEndCol,nEndRow,nTab, InsertDeleteFlags::ALL,true, pUndoDoc, &aScenMark ); // Szenarien for (SCTAB i=nTab+1; i<=nEndTab; i++) { @@ -675,7 +675,7 @@ // Bei Zurueckkopier-Szenarios auch Inhalte if ( nScenFlags & SC_SCENARIO_TWOWAY ) aDocument.CopyToDocument( 0,0,i, MAXCOL,MAXROW,i, - IDF_ALL,false, pUndoDoc ); + InsertDeleteFlags::ALL,false, pUndoDoc ); } GetUndoManager()->AddUndoAction( diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/impex.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/impex.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/impex.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/impex.cxx 2015-11-17 15:21:04.764037551 +0100 @@ -220,7 +220,7 @@ { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( pDoc, aRange.aStart.Tab(), aRange.aEnd.Tab() ); - pDoc->CopyToDocument( aRange, IDF_ALL | IDF_NOCAPTIONS, false, pUndoDoc ); + pDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL | InsertDeleteFlags::NOCAPTIONS, false, pUndoDoc ); } return true; } @@ -235,11 +235,11 @@ { ScDocument* pRedoDoc = new ScDocument( SCDOCMODE_UNDO ); pRedoDoc->InitUndo( pDoc, aRange.aStart.Tab(), aRange.aEnd.Tab() ); - pDoc->CopyToDocument( aRange, IDF_ALL | IDF_NOCAPTIONS, false, pRedoDoc ); + pDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL | InsertDeleteFlags::NOCAPTIONS, false, pRedoDoc ); ScMarkData aDestMark; aDestMark.SetMarkArea(aRange); pDocSh->GetUndoManager()->AddUndoAction( - new ScUndoPaste(pDocSh, aRange, aDestMark, pUndoDoc, pRedoDoc, IDF_ALL, NULL)); + new ScUndoPaste(pDocSh, aRange, aDestMark, pUndoDoc, pRedoDoc, InsertDeleteFlags::ALL, NULL)); } pUndoDoc = NULL; if( pDocSh ) @@ -2132,7 +2132,7 @@ bool bOk = StartPaste(); if (bOk) { - InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL & ~InsertDeleteFlags::STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); pImportDoc->CopyToDocument( aRange, nFlags, false, pDoc ); EndPaste(); @@ -2154,7 +2154,7 @@ bool bOk = StartPaste(); if (bOk) { - InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL & ~InsertDeleteFlags::STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); pImp->WriteToDocument(); EndPaste(); @@ -2179,7 +2179,7 @@ if (pDocSh) pDocSh->MakeDrawLayer(); - InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL & ~InsertDeleteFlags::STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); if (pExtOptions) diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/olinefun.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/olinefun.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/olinefun.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/olinefun.cxx 2015-11-17 15:21:04.764037551 +0100 @@ -227,8 +227,8 @@ ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); ScOutlineTable* pUndoTab = new ScOutlineTable( *pTable ); @@ -291,8 +291,8 @@ pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( nOutStartCol, 0, nTab, nOutEndCol, MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( nOutStartCol, 0, nTab, nOutEndCol, MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } // einblenden @@ -345,13 +345,13 @@ { pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, false ); rDoc.CopyToDocument( static_cast(nStart), 0, nTab, - static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, + static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else { pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); - rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } rDocShell.GetUndoManager()->AddUndoAction( @@ -443,8 +443,8 @@ ScOutlineTable* pUndoTab = new ScOutlineTable( *pTable ); ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoOutlineBlock( &rDocShell, @@ -558,9 +558,9 @@ ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); rDoc.CopyToDocument( static_cast(nEffStartCol), 0, nTab, - static_cast(nEffEndCol), MAXROW, nTab, IDF_NONE, + static_cast(nEffEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nEffStartRow, nTab, MAXCOL, nEffEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nEffStartRow, nTab, MAXCOL, nEffEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoOutlineBlock( &rDocShell, @@ -628,13 +628,13 @@ { pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, false ); rDoc.CopyToDocument( static_cast(nStart), 0, nTab, - static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, + static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else { pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); - rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } rDocShell.GetUndoManager()->AddUndoAction( @@ -712,13 +712,13 @@ { pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, false ); rDoc.CopyToDocument( static_cast(nStart), 0, nTab, - static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, + static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else { pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); - rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } rDocShell.GetUndoManager()->AddUndoAction( diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/docshell/tablink.cxx libreoffice-5.0.3.2/sc/source/ui/docshell/tablink.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/docshell/tablink.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/docshell/tablink.cxx 2015-11-17 15:21:04.764037551 +0100 @@ -246,7 +246,7 @@ pUndoDoc->AddUndoTab( nTab, nTab, true, true ); bFirst = false; ScRange aRange(0,0,nTab,MAXCOL,MAXROW,nTab); - rDoc.CopyToDocument(aRange, IDF_ALL, false, pUndoDoc); + rDoc.CopyToDocument(aRange, InsertDeleteFlags::ALL, false, pUndoDoc); pUndoDoc->TransferDrawPage( &rDoc, nTab, nTab ); pUndoDoc->SetLink( nTab, nMode, aFileName, aFilterName, aOptions, aTabName, GetRefreshDelay() ); @@ -289,7 +289,7 @@ (nMode == SC_LINK_VALUE) ); // nur Werte? else { - rDoc.DeleteAreaTab( 0,0,MAXCOL,MAXROW, nTab, IDF_ALL ); + rDoc.DeleteAreaTab( 0,0,MAXCOL,MAXROW, nTab, InsertDeleteFlags::ALL ); bool bShowError = true; if ( nMode == SC_LINK_VALUE ) diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/inc/delcodlg.hxx libreoffice-5.0.3.2/sc/source/ui/inc/delcodlg.hxx --- libreoffice-5.0.3.2.orig/sc/source/ui/inc/delcodlg.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/inc/delcodlg.hxx 2015-11-17 15:21:04.764037552 +0100 @@ -47,7 +47,7 @@ public: ScDeleteContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE ); + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE ); virtual ~ScDeleteContentsDlg(); virtual void dispose() SAL_OVERRIDE; void DisableObjects(); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/inc/docfuncutil.hxx libreoffice-5.0.3.2/sc/source/ui/inc/docfuncutil.hxx --- libreoffice-5.0.3.2.orig/sc/source/ui/inc/docfuncutil.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/inc/docfuncutil.hxx 2015-11-17 15:21:04.764037552 +0100 @@ -15,7 +15,7 @@ class ScDocument; class ScMarkData; class ScRange; -struct InsertDeleteFlags; +enum class InsertDeleteFlags : sal_uInt16; namespace sc { diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/inc/inscodlg.hxx libreoffice-5.0.3.2/sc/source/ui/inc/inscodlg.hxx --- libreoffice-5.0.3.2.orig/sc/source/ui/inc/inscodlg.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/inc/inscodlg.hxx 2015-11-17 15:21:04.764037552 +0100 @@ -31,7 +31,7 @@ { public: ScInsertContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults = IDF_NONE, + InsertDeleteFlags nCheckDefaults = InsertDeleteFlags::NONE, const OUString* pStrTitle = NULL ); virtual ~ScInsertContentsDlg(); virtual void dispose() SAL_OVERRIDE; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/inc/viewfunc.hxx libreoffice-5.0.3.2/sc/source/ui/inc/viewfunc.hxx --- libreoffice-5.0.3.2.orig/sc/source/ui/inc/viewfunc.hxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/inc/viewfunc.hxx 2015-11-17 15:21:04.764037552 +0100 @@ -108,7 +108,7 @@ sal_uInt16 nFunction = PASTE_NOFUNC, bool bSkipEmpty = false, bool bTranspose = false, bool bAsLink = false, InsCellCmd eMoveMode = INS_NONE, - InsertDeleteFlags nUndoExtraFlags = IDF_NONE, + InsertDeleteFlags nUndoExtraFlags = InsertDeleteFlags::NONE, bool bAllowDialogs = false ); void FillTab( InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/miscdlgs/delcodlg.cxx libreoffice-5.0.3.2/sc/source/ui/miscdlgs/delcodlg.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/miscdlgs/delcodlg.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/miscdlgs/delcodlg.cxx 2015-11-17 15:21:04.764037552 +0100 @@ -24,9 +24,9 @@ #include "miscdlgs.hrc" bool ScDeleteContentsDlg::bPreviousAllCheck = false; -InsertDeleteFlags ScDeleteContentsDlg::nPreviousChecks = (IDF_DATETIME | IDF_STRING | - IDF_NOTE | IDF_FORMULA | - IDF_VALUE); +InsertDeleteFlags ScDeleteContentsDlg::nPreviousChecks = (InsertDeleteFlags::DATETIME | InsertDeleteFlags::STRING | + InsertDeleteFlags::NOTE | InsertDeleteFlags::FORMULA | + InsertDeleteFlags::VALUE); ScDeleteContentsDlg::ScDeleteContentsDlg( vcl::Window* pParent, InsertDeleteFlags nCheckDefaults ) : @@ -44,26 +44,26 @@ get( aBtnDelObjects, "objects" ); get( aBtnOk, "ok" ); - if ( nCheckDefaults != IDF_NONE ) + if ( nCheckDefaults != InsertDeleteFlags::NONE ) { ScDeleteContentsDlg::nPreviousChecks = nCheckDefaults; ScDeleteContentsDlg::bPreviousAllCheck = false; } aBtnDelAll->Check ( ScDeleteContentsDlg::bPreviousAllCheck ); - aBtnDelStrings->Check ( IS_SET( IDF_STRING, + aBtnDelStrings->Check ( IS_SET( InsertDeleteFlags::STRING, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelNumbers->Check ( IS_SET( IDF_VALUE, + aBtnDelNumbers->Check ( IS_SET( InsertDeleteFlags::VALUE, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelDateTime->Check( IS_SET( IDF_DATETIME, + aBtnDelDateTime->Check( IS_SET( InsertDeleteFlags::DATETIME, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelFormulas->Check( IS_SET( IDF_FORMULA, + aBtnDelFormulas->Check( IS_SET( InsertDeleteFlags::FORMULA, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelNotes->Check ( IS_SET( IDF_NOTE, + aBtnDelNotes->Check ( IS_SET( InsertDeleteFlags::NOTE, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelAttrs->Check ( IS_SET( IDF_ATTRIB, + aBtnDelAttrs->Check ( IS_SET( InsertDeleteFlags::ATTRIB, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelObjects->Check ( IS_SET( IDF_OBJECTS, + aBtnDelObjects->Check ( IS_SET( InsertDeleteFlags::OBJECTS, ScDeleteContentsDlg::nPreviousChecks ) ); DisableChecks( aBtnDelAll->IsChecked() ); @@ -92,27 +92,27 @@ InsertDeleteFlags ScDeleteContentsDlg::GetDelContentsCmdBits() const { - ScDeleteContentsDlg::nPreviousChecks = IDF_NONE; + ScDeleteContentsDlg::nPreviousChecks = InsertDeleteFlags::NONE; if ( aBtnDelStrings->IsChecked() ) - ScDeleteContentsDlg::nPreviousChecks = IDF_STRING; + ScDeleteContentsDlg::nPreviousChecks = InsertDeleteFlags::STRING; if ( aBtnDelNumbers->IsChecked() ) - ScDeleteContentsDlg::nPreviousChecks |= IDF_VALUE; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::VALUE; if ( aBtnDelDateTime->IsChecked()) - ScDeleteContentsDlg::nPreviousChecks |= IDF_DATETIME; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::DATETIME; if ( aBtnDelFormulas->IsChecked()) - ScDeleteContentsDlg::nPreviousChecks |= IDF_FORMULA; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::FORMULA; if ( aBtnDelNotes->IsChecked() ) - ScDeleteContentsDlg::nPreviousChecks |= IDF_NOTE; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::NOTE; if ( aBtnDelAttrs->IsChecked() ) - ScDeleteContentsDlg::nPreviousChecks |= IDF_ATTRIB; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::ATTRIB; if ( aBtnDelObjects->IsChecked() ) - ScDeleteContentsDlg::nPreviousChecks |= IDF_OBJECTS; + ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::OBJECTS; ScDeleteContentsDlg::bPreviousAllCheck = aBtnDelAll->IsChecked(); return ( (ScDeleteContentsDlg::bPreviousAllCheck) - ? IDF_ALL + ? InsertDeleteFlags::ALL : ScDeleteContentsDlg::nPreviousChecks ); } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/miscdlgs/inscodlg.cxx libreoffice-5.0.3.2/sc/source/ui/miscdlgs/inscodlg.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/miscdlgs/inscodlg.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/miscdlgs/inscodlg.cxx 2015-11-17 16:34:29.911786066 +0100 @@ -24,7 +24,7 @@ #include "miscdlgs.hrc" bool ScInsertContentsDlg::bPreviousAllCheck = false; -InsertDeleteFlags ScInsertContentsDlg::nPreviousChecks = (IDF_VALUE | IDF_DATETIME | IDF_STRING); +InsertDeleteFlags ScInsertContentsDlg::nPreviousChecks = (InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME | InsertDeleteFlags::STRING); sal_uInt16 ScInsertContentsDlg::nPreviousFormulaChecks = PASTE_NOFUNC; sal_uInt16 ScInsertContentsDlg::nPreviousChecks2 = 0; sal_uInt16 ScInsertContentsDlg::nPreviousMoveMode = INS_NONE; // enum InsCellCmd @@ -40,7 +40,7 @@ bMoveDownDisabled( false ), bMoveRightDisabled( false ), bUsedShortCut ( false ), - nShortCutInsContentsCmdBits( IDF_NONE ), + nShortCutInsContentsCmdBits( InsertDeleteFlags::NONE ), nShortCutFormulaCmdBits(0), bShortCutSkipEmptyCells(false), bShortCutTranspose(false), @@ -73,7 +73,7 @@ if ( pStrTitle ) SetText( *pStrTitle ); - if ( nCheckDefaults != IDF_NONE ) + if ( nCheckDefaults != InsertDeleteFlags::NONE ) { ScInsertContentsDlg::nPreviousChecks = nCheckDefaults; ScInsertContentsDlg::bPreviousAllCheck = false; @@ -81,19 +81,19 @@ } mpBtnInsAll->Check ( ScInsertContentsDlg::bPreviousAllCheck ); - mpBtnInsStrings->Check ( IS_SET( IDF_STRING, + mpBtnInsStrings->Check ( IS_SET( InsertDeleteFlags::STRING, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsNumbers->Check ( IS_SET( IDF_VALUE, + mpBtnInsNumbers->Check ( IS_SET( InsertDeleteFlags::VALUE, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsDateTime->Check( IS_SET( IDF_DATETIME, + mpBtnInsDateTime->Check( IS_SET( InsertDeleteFlags::DATETIME, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsFormulas->Check( IS_SET( IDF_FORMULA, + mpBtnInsFormulas->Check( IS_SET( InsertDeleteFlags::FORMULA, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsNotes->Check ( IS_SET( IDF_NOTE, + mpBtnInsNotes->Check ( IS_SET( InsertDeleteFlags::NOTE, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsAttrs->Check ( IS_SET( IDF_ATTRIB, + mpBtnInsAttrs->Check ( IS_SET( InsertDeleteFlags::ATTRIB, ScInsertContentsDlg::nPreviousChecks ) ); - mpBtnInsObjects->Check ( IS_SET( IDF_OBJECTS, + mpBtnInsObjects->Check ( IS_SET( InsertDeleteFlags::OBJECTS, ScInsertContentsDlg::nPreviousChecks ) ); switch( ScInsertContentsDlg::nPreviousFormulaChecks ) @@ -128,22 +128,22 @@ InsertDeleteFlags ScInsertContentsDlg::GetInsContentsCmdBits() const { - ScInsertContentsDlg::nPreviousChecks = IDF_NONE; + ScInsertContentsDlg::nPreviousChecks = InsertDeleteFlags::NONE; if ( mpBtnInsStrings->IsChecked() ) - ScInsertContentsDlg::nPreviousChecks = IDF_STRING; + ScInsertContentsDlg::nPreviousChecks = InsertDeleteFlags::STRING; if ( mpBtnInsNumbers->IsChecked() ) - ScInsertContentsDlg::nPreviousChecks |= IDF_VALUE; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::VALUE; if ( mpBtnInsDateTime->IsChecked()) - ScInsertContentsDlg::nPreviousChecks |= IDF_DATETIME; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::DATETIME; if ( mpBtnInsFormulas->IsChecked()) - ScInsertContentsDlg::nPreviousChecks |= IDF_FORMULA; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::FORMULA; if ( mpBtnInsNotes->IsChecked() ) - ScInsertContentsDlg::nPreviousChecks |= IDF_NOTE; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::NOTE; if ( mpBtnInsAttrs->IsChecked() ) - ScInsertContentsDlg::nPreviousChecks |= IDF_ATTRIB; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::ATTRIB; if ( mpBtnInsObjects->IsChecked() ) - ScInsertContentsDlg::nPreviousChecks |= IDF_OBJECTS; + ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::OBJECTS; ScInsertContentsDlg::bPreviousAllCheck = mpBtnInsAll->IsChecked(); @@ -151,7 +151,7 @@ return nShortCutInsContentsCmdBits; return ( (ScInsertContentsDlg::bPreviousAllCheck) - ? IDF_ALL + ? InsertDeleteFlags::ALL : ScInsertContentsDlg::nPreviousChecks ); } @@ -311,7 +311,7 @@ if ( pBtn == mpBtnShortCutPasteValuesOnly ) { bUsedShortCut = true; - nShortCutInsContentsCmdBits = IDF_STRING | IDF_VALUE | IDF_DATETIME; + nShortCutInsContentsCmdBits = InsertDeleteFlags::STRING | InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME; nShortCutFormulaCmdBits = PASTE_NOFUNC; bShortCutSkipEmptyCells = false; bShortCutTranspose = false; @@ -322,7 +322,7 @@ else if ( pBtn == mpBtnShortCutPasteValuesFormats ) { bUsedShortCut = true; - nShortCutInsContentsCmdBits = IDF_STRING | IDF_VALUE | IDF_DATETIME | IDF_ATTRIB; + nShortCutInsContentsCmdBits = InsertDeleteFlags::STRING | InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME | InsertDeleteFlags::ATTRIB; nShortCutFormulaCmdBits = PASTE_NOFUNC; bShortCutSkipEmptyCells = false; bShortCutTranspose = false; @@ -333,7 +333,7 @@ else if ( pBtn == mpBtnShortCutPasteTranspose ) { bUsedShortCut = true; - nShortCutInsContentsCmdBits = IDF_ALL; + nShortCutInsContentsCmdBits = InsertDeleteFlags::ALL; nShortCutFormulaCmdBits = PASTE_NOFUNC; bShortCutSkipEmptyCells = false; bShortCutTranspose = true; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undobase.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undobase.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undobase.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undobase.cxx 2015-11-17 15:21:04.765037718 +0100 @@ -443,7 +443,7 @@ { ScDocument& rDoc = pDocShell->GetDocument(); ScRange aRange(0,0,0, MAXCOL,MAXROW,pRefUndoDoc->GetTableCount()-1); - pRefUndoDoc->CopyToDocument( aRange, IDF_FORMULA, false, &rDoc, NULL, false ); + pRefUndoDoc->CopyToDocument( aRange, InsertDeleteFlags::FORMULA, false, &rDoc, NULL, false ); if (pRefUndoData) pRefUndoData->DoUndo( &rDoc, (eMode == SC_UNDO_REFFIRST) ); // HACK: ScDragDropUndo is the only one with REFFIRST. diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undoblk.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undoblk.cxx 2015-11-17 15:31:50.523137690 +0100 @@ -422,7 +422,7 @@ for( i=0; iCopyToDocument( aEffRange.aStart.Col(), aEffRange.aStart.Row(), pTabs[i], aEffRange.aEnd.Col(), aEffRange.aEnd.Row(), pTabs[i]+pScenarios[i], - IDF_ALL | IDF_NOCAPTIONS, false, &rDoc ); + InsertDeleteFlags::ALL | InsertDeleteFlags::NOCAPTIONS, false, &rDoc ); } ScRange aWorkRange( aEffRange ); @@ -681,10 +681,10 @@ SCCOLROW nStart = it->mnStart; SCCOLROW nEnd = it->mnEnd; if (mbRows) - pRefUndoDoc->CopyToDocument( 0,nStart,nTab, MAXCOL,nEnd,nTab, IDF_ALL,false, &rDoc ); + pRefUndoDoc->CopyToDocument( 0,nStart,nTab, MAXCOL,nEnd,nTab, InsertDeleteFlags::ALL,false, &rDoc ); else pRefUndoDoc->CopyToDocument( static_cast(nStart),0,nTab, - static_cast(nEnd),MAXROW,nTab, IDF_ALL,false, &rDoc ); + static_cast(nEnd),MAXROW,nTab, InsertDeleteFlags::ALL,false, &rDoc ); } ScChangeTrack* pChangeTrack = rDoc.GetChangeTrack(); @@ -776,7 +776,7 @@ sal_uInt16 nExtFlags = 0; // do not undo/redo objects and note captions, they are handled via drawing undo - InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS; if (bUndo) // only for Undo { @@ -880,7 +880,7 @@ void ScUndoPaste::SetChangeTrack() { ScChangeTrack* pChangeTrack = pDocShell->GetDocument().GetChangeTrack(); - if ( pChangeTrack && (nFlags & IDF_CONTENTS) ) + if ( pChangeTrack && (nFlags & InsertDeleteFlags::CONTENTS) ) { for (size_t i = 0, n = maBlockRanges.size(); i < n; ++i) { @@ -905,14 +905,15 @@ ScRefUndoData* pWorkRefData = bUndo ? pRefUndoData : pRefRedoData; // Always back-up either all or none of the content for Undo - InsertDeleteFlags nUndoFlags = IDF_NONE; - if (nFlags & IDF_CONTENTS) - nUndoFlags |= IDF_CONTENTS; - if (nFlags & IDF_ATTRIB) - nUndoFlags |= IDF_ATTRIB; + InsertDeleteFlags nUndoFlags = InsertDeleteFlags::NONE; + if (nFlags & InsertDeleteFlags::CONTENTS) + nUndoFlags |= InsertDeleteFlags::CONTENTS; + if (nFlags & InsertDeleteFlags::ATTRIB) + nUndoFlags |= InsertDeleteFlags::ATTRIB; // do not undo/redo objects and note captions, they are handled via drawing undo - (nUndoFlags &= ~IDF_OBJECTS) |= IDF_NOCAPTIONS; + nUndoFlags &= ~InsertDeleteFlags::OBJECTS; + nUndoFlags |= InsertDeleteFlags::NOCAPTIONS; bool bPaintAll = false; @@ -1101,7 +1102,7 @@ com::sun::star::uno::Reference aOwnClipRef( pOwnClip ); pViewSh->PasteFromClip( nFlags, pOwnClip->GetDocument(), aPasteOptions.nFunction, aPasteOptions.bSkipEmpty, aPasteOptions.bTranspose, - aPasteOptions.bAsLink, aPasteOptions.eMoveMode, IDF_NONE, + aPasteOptions.bAsLink, aPasteOptions.eMoveMode, InsertDeleteFlags::NONE, true ); // allow warning dialog } } @@ -1237,14 +1238,14 @@ pDocShell->UpdatePaintExt(mnPaintExtFlags, aPaintRange); // do not undo objects and note captions, they are handled via drawing undo - InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS; // Additionally discard/forget caption ownership during deletion, as // Drag&Drop is a special case in that the Undo holds captions of the // transfered target range, which would get deleted and // SdrGroupUndo::Undo() would attempt to access invalidated captions and // crash, tdf#92995 - InsertDeleteFlags nDelFlags = nUndoFlags | IDF_FORGETCAPTIONS; + InsertDeleteFlags nDelFlags = nUndoFlags | InsertDeleteFlags::FORGETCAPTIONS; rDoc.DeleteAreaTab( aRange, nDelFlags ); pRefUndoDoc->CopyToDocument( aRange, nUndoFlags, false, &rDoc ); @@ -1361,7 +1362,7 @@ EnableDrawAdjust( &rDoc, false ); //! include in ScBlockUndo? // do not undo/redo objects and note captions, they are handled via drawing undo - InsertDeleteFlags nRedoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nRedoFlags = (InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS; /* TODO: Redoing note captions is quite tricky due to the fact that a helper clip document is used. While (re-)pasting the contents to the @@ -1402,7 +1403,7 @@ bool bIncludeFiltered = bCut; // TODO: restore old note captions instead of cloning new captions... - rDoc.CopyFromClip( aDestRange, aDestMark, IDF_ALL & ~IDF_OBJECTS, NULL, pClipDoc.get(), true, false, bIncludeFiltered ); + rDoc.CopyFromClip( aDestRange, aDestMark, InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS, NULL, pClipDoc.get(), true, false, bIncludeFiltered ); if (bCut) for (nTab=aSrcRange.aStart.Tab(); nTab<=aSrcRange.aEnd.Tab(); nTab++) @@ -1469,8 +1470,8 @@ { ScDocument& rDoc = pDocShell->GetDocument(); - rDoc.DeleteAreaTab( aBlockRange, IDF_ALL ); - pSrcDoc->CopyToDocument( aBlockRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aBlockRange, InsertDeleteFlags::ALL ); + pSrcDoc->CopyToDocument( aBlockRange, InsertDeleteFlags::ALL, false, &rDoc ); pDocShell->PostPaint( aBlockRange, PAINT_GRID ); pDocShell->PostDataChanged(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); @@ -1535,8 +1536,8 @@ { ScDocument& rDoc = pDocShell->GetDocument(); - rDoc.DeleteAreaTab( maRange, IDF_ALL ); - pSrcDoc->CopyToDocument( maRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( maRange, InsertDeleteFlags::ALL ); + pSrcDoc->CopyToDocument( maRange, InsertDeleteFlags::ALL, false, &rDoc ); pDocShell->PostPaint( maRange, PAINT_GRID ); pDocShell->PostDataChanged(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); @@ -1593,8 +1594,8 @@ } ScDocument& rDoc = pDocShell->GetDocument(); - rDoc.DeleteSelection( IDF_ALL, aMarkData ); - pUndoDoc->CopyToDocument( aRange, IDF_ALL, true, &rDoc, &aMarkData ); + rDoc.DeleteSelection( InsertDeleteFlags::ALL, aMarkData ); + pUndoDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL, true, &rDoc, &aMarkData ); // scenario table bool bFrame = false; @@ -1615,8 +1616,8 @@ // For copy-back scenario also consider content if ( nScenFlags & SC_SCENARIO_TWOWAY ) { - rDoc.DeleteAreaTab( 0,0, MAXCOL,MAXROW, i, IDF_ALL ); - pUndoDoc->CopyToDocument( 0,0,i, MAXCOL,MAXROW,i, IDF_ALL,false, &rDoc ); + rDoc.DeleteAreaTab( 0,0, MAXCOL,MAXROW, i, InsertDeleteFlags::ALL ); + pUndoDoc->CopyToDocument( 0,0,i, MAXCOL,MAXROW,i, InsertDeleteFlags::ALL,false, &rDoc ); } if ( nScenFlags & SC_SCENARIO_SHOWFRAME ) bFrame = true; @@ -1716,7 +1717,7 @@ ScRange aCopyRange = aWorkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pUndoDoc->CopyToDocument( aCopyRange, IDF_ATTRIB, true, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, true, &rDoc, &aMarkData ); } else // if Redo, then reapply style { @@ -1819,8 +1820,8 @@ ScDocument& rDoc = pDocShell->GetDocument(); - rDoc.DeleteAreaTab( aBlockRange, IDF_ALL & ~IDF_NOTE ); - pUndoDoc->CopyToDocument( aBlockRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aBlockRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pUndoDoc->CopyToDocument( aBlockRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); pDocShell->PostPaint( aBlockRange, PAINT_GRID ); pDocShell->PostDataChanged(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); @@ -1906,7 +1907,7 @@ ScRange aCopyRange = aBlockRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pUndoDoc->CopyToDocument( aCopyRange, IDF_ATTRIB, true, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, true, &rDoc, &aMarkData ); pDocShell->PostPaint( aBlockRange, PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); EndUndo(); @@ -1962,7 +1963,7 @@ ScRange aCopyRange = aBlockRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pUndoDoc->CopyToDocument( aCopyRange, IDF_CONTENTS, true, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::CONTENTS, true, &rDoc, &aMarkData ); pDocShell->PostPaint( aBlockRange, PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); EndUndo(); @@ -2023,7 +2024,7 @@ BeginUndo(); ScDocument& rDoc = pDocShell->GetDocument(); - pUndoDoc->CopyToDocument( aBlockRange, IDF_ATTRIB, true, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aBlockRange, InsertDeleteFlags::ATTRIB, true, &rDoc, &aMarkData ); pDocShell->PostPaint( aBlockRange, PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); EndUndo(); @@ -2080,7 +2081,7 @@ ScDocument& rDoc = pDocShell->GetDocument(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); - pUndoDoc->CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::NONE, false, &rDoc ); if (pViewShell) pViewShell->UpdatePageBreakData( true ); pDocShell->PostPaint( 0,0,nTab, MAXCOL,MAXROW,nTab, PAINT_GRID ); @@ -2154,8 +2155,8 @@ continue; // There is no need to extend merge area because it's already been extended. ScRange aRange = maOption.getSingleRange(*itr); - rDoc.DeleteAreaTab(aRange, IDF_ATTRIB); - pUndoDoc->CopyToDocument(aRange, IDF_ATTRIB, false, &rDoc); + rDoc.DeleteAreaTab(aRange, InsertDeleteFlags::ATTRIB); + pUndoDoc->CopyToDocument(aRange, InsertDeleteFlags::ATTRIB, false, &rDoc); bool bDidPaint = false; if ( pViewShell ) @@ -2285,7 +2286,7 @@ ScDocument& rDoc = pDocShell->GetDocument(); ScMarkData aMarkData; aMarkData.MarkFromRangeList( *pRanges, false ); - pUndoDoc->CopyToDocument( aBlockRange, IDF_ATTRIB, true, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aBlockRange, InsertDeleteFlags::ATTRIB, true, &rDoc, &aMarkData ); pDocShell->PostPaint( aBlockRange, PAINT_GRID, SC_PF_LINES | SC_PF_TESTMERGE ); EndUndo(); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk2.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undoblk2.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk2.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undoblk2.cxx 2015-11-17 15:21:04.767038049 +0100 @@ -102,7 +102,7 @@ if (bWidth) // Width { pUndoDoc->CopyToDocument( static_cast(nStart), 0, *itr, - static_cast(nEnd), MAXROW, *itr, IDF_NONE, + static_cast(nEnd), MAXROW, *itr, InsertDeleteFlags::NONE, false, &rDoc ); rDoc.UpdatePageBreaks( *itr ); pDocShell->PostPaint( static_cast(nPaintStart), 0, *itr, @@ -110,7 +110,7 @@ } else // Height { - pUndoDoc->CopyToDocument( 0, nStart, *itr, MAXCOL, nEnd, *itr, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStart, *itr, MAXCOL, nEnd, *itr, InsertDeleteFlags::NONE, false, &rDoc ); rDoc.UpdatePageBreaks( *itr ); pDocShell->PostPaint( 0, nPaintStart, *itr, MAXCOL, MAXROW, *itr, PAINT_GRID | PAINT_LEFT ); } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk3.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undoblk3.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undoblk3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undoblk3.cxx 2015-11-17 15:32:37.332903130 +0100 @@ -114,7 +114,7 @@ void ScUndoDeleteContents::SetChangeTrack() { ScChangeTrack* pChangeTrack = pDocShell->GetDocument().GetChangeTrack(); - if ( pChangeTrack && (nFlags & IDF_CONTENTS) ) + if ( pChangeTrack && (nFlags & InsertDeleteFlags::CONTENTS) ) pChangeTrack->AppendContentRange( aRange, pUndoDoc, nStartChangeAction, nEndChangeAction ); else @@ -131,15 +131,15 @@ if (bUndo) // only Undo { - InsertDeleteFlags nUndoFlags = IDF_NONE; // copy either all or none of the content - if (nFlags & IDF_CONTENTS) // (Only the correct ones have been copied into UndoDoc) - nUndoFlags |= IDF_CONTENTS; - if (nFlags & IDF_ATTRIB) - nUndoFlags |= IDF_ATTRIB; - if (nFlags & IDF_EDITATTR) // Edit-Engine attribute - nUndoFlags |= IDF_STRING; // -> Cells will be changed + InsertDeleteFlags nUndoFlags = InsertDeleteFlags::NONE; // copy either all or none of the content + if (nFlags & InsertDeleteFlags::CONTENTS) // (Only the correct ones have been copied into UndoDoc) + nUndoFlags |= InsertDeleteFlags::CONTENTS; + if (nFlags & InsertDeleteFlags::ATTRIB) + nUndoFlags |= InsertDeleteFlags::ATTRIB; + if (nFlags & InsertDeleteFlags::EDITATTR) // Edit-Engine attribute + nUndoFlags |= InsertDeleteFlags::STRING; // -> Cells will be changed // do not create clones of note captions, they will be restored via drawing undo - nUndoFlags |= IDF_NOCAPTIONS; + nUndoFlags |= InsertDeleteFlags::NOCAPTIONS; ScRange aCopyRange = aRange; SCTAB nTabCount = rDoc.GetTableCount(); @@ -163,14 +163,14 @@ aMarkData.MarkToMulti(); RedoSdrUndoAction( pDrawUndo ); // do not delete objects and note captions, they have been removed via drawing undo - InsertDeleteFlags nRedoFlags = (nFlags & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nRedoFlags = (nFlags & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS; rDoc.DeleteSelection( nRedoFlags, aMarkData ); aMarkData.MarkToSimple(); SetChangeTrack(); } - if (nFlags & IDF_CONTENTS) + if (nFlags & InsertDeleteFlags::CONTENTS) { // Broadcast only when the content changes. fdo#74687 if (mpDataSpans) @@ -293,10 +293,10 @@ aWorkRange.aStart.SetTab(*itr); aWorkRange.aEnd.SetTab(*itr); if (bMulti) - rDoc.DeleteSelectionTab( *itr, IDF_ALL, aMarkData ); + rDoc.DeleteSelectionTab( *itr, InsertDeleteFlags::ALL, aMarkData ); else - rDoc.DeleteAreaTab( aWorkRange, IDF_ALL ); - pUndoDoc->CopyToDocument( aWorkRange, IDF_ALL, bMulti, &rDoc, &aMarkData ); + rDoc.DeleteAreaTab( aWorkRange, InsertDeleteFlags::ALL ); + pUndoDoc->CopyToDocument( aWorkRange, InsertDeleteFlags::ALL, bMulti, &rDoc, &aMarkData ); } ScChangeTrack* pChangeTrack = rDoc.GetChangeTrack(); @@ -416,7 +416,7 @@ SCTAB nTabCount = rDoc.GetTableCount(); aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pUndoDoc->CopyToDocument( aCopyRange, IDF_ATTRIB, bMulti, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, bMulti, &rDoc, &aMarkData ); } else // only for Redo { @@ -547,8 +547,8 @@ sal_uInt16 nExtFlags = 0; pDocShell->UpdatePaintExt( nExtFlags, aWorkRange ); - rDoc.DeleteAreaTab( aWorkRange, IDF_AUTOFILL ); - pUndoDoc->CopyToDocument( aWorkRange, IDF_AUTOFILL, false, &rDoc ); + rDoc.DeleteAreaTab( aWorkRange, InsertDeleteFlags::AUTOFILL ); + pUndoDoc->CopyToDocument( aWorkRange, InsertDeleteFlags::AUTOFILL, false, &rDoc ); rDoc.ExtendMerge( aWorkRange, true ); pDocShell->PostPaint( aWorkRange, PAINT_GRID, nExtFlags ); @@ -705,8 +705,8 @@ // undo -> copy back deleted contents if (bUndo && mpUndoDoc) { - rDoc.DeleteAreaTab( aRange, IDF_CONTENTS|IDF_NOCAPTIONS ); - mpUndoDoc->CopyToDocument( aRange, IDF_ALL|IDF_NOCAPTIONS, false, &rDoc ); + rDoc.DeleteAreaTab( aRange, InsertDeleteFlags::CONTENTS|InsertDeleteFlags::NOCAPTIONS ); + mpUndoDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL|InsertDeleteFlags::NOCAPTIONS, false, &rDoc ); } // redo -> merge contents again @@ -795,13 +795,13 @@ SCTAB nTabCount = rDoc.GetTableCount(); rDoc.DeleteArea( aBlockRange.aStart.Col(), aBlockRange.aStart.Row(), aBlockRange.aEnd.Col(), aBlockRange.aEnd.Row(), - aMarkData, IDF_ATTRIB ); + aMarkData, InsertDeleteFlags::ATTRIB ); ScRange aCopyRange = aBlockRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pUndoDoc->CopyToDocument( aCopyRange, IDF_ATTRIB, false, &rDoc, &aMarkData ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, false, &rDoc, &aMarkData ); - // cell heights and widths (IDF_NONE) + // cell heights and widths (InsertDeleteFlags::NONE) if (bSize) { SCCOL nStartX = aBlockRange.aStart.Col(); @@ -812,9 +812,9 @@ SCTAB nEndZ = aBlockRange.aEnd.Tab(); pUndoDoc->CopyToDocument( nStartX, 0, 0, nEndX, MAXROW, nTabCount-1, - IDF_NONE, false, &rDoc, &aMarkData ); + InsertDeleteFlags::NONE, false, &rDoc, &aMarkData ); pUndoDoc->CopyToDocument( 0, nStartY, 0, MAXCOL, nEndY, nTabCount-1, - IDF_NONE, false, &rDoc, &aMarkData ); + InsertDeleteFlags::NONE, false, &rDoc, &aMarkData ); pDocShell->PostPaint( 0, 0, nStartZ, MAXCOL, MAXROW, nEndZ, PAINT_GRID | PAINT_LEFT | PAINT_TOP, SC_PF_LINES ); } @@ -990,7 +990,7 @@ // Undo document has no row/column information, thus copy with // bColRowFlags = FALSE to not destroy Outline groups - InsertDeleteFlags nUndoFlags = (pSearchItem->GetPattern()) ? IDF_ATTRIB : IDF_CONTENTS; + InsertDeleteFlags nUndoFlags = (pSearchItem->GetPattern()) ? InsertDeleteFlags::ATTRIB : InsertDeleteFlags::CONTENTS; pUndoDoc->CopyToDocument( 0, 0, 0, MAXCOL, MAXROW, MAXTAB, nUndoFlags, false, &rDoc, NULL, false ); // without row flags @@ -1133,8 +1133,8 @@ pDocShell->UpdatePaintExt( nExtFlags, aRange ); ScDocument& rDoc = pDocShell->GetDocument(); - rDoc.DeleteAreaTab( aRange,IDF_ALL & ~IDF_NOTE ); - pUndoDoc->CopyToDocument( aRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aRange,InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pUndoDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); pDocShell->PostPaint( aRange, PAINT_GRID, nExtFlags ); pDocShell->PostDataChanged(); ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); @@ -1237,7 +1237,7 @@ bool bMulti = aMarkData.IsMultiMarked(); pRefDoc->CopyToDocument( 0, 0, 0, MAXCOL, MAXROW, nTabCount-1, - IDF_CONTENTS, bMulti, &rDoc, &aMarkData ); + InsertDeleteFlags::CONTENTS, bMulti, &rDoc, &aMarkData ); pDocShell->PostPaintGridAll(); } else @@ -1303,7 +1303,7 @@ void ScUndoRefConversion::SetChangeTrack() { ScChangeTrack* pChangeTrack = pDocShell->GetDocument().GetChangeTrack(); - if ( pChangeTrack && (nFlags & IDF_FORMULA) ) + if ( pChangeTrack && (nFlags & InsertDeleteFlags::FORMULA) ) pChangeTrack->AppendContentsIfInRefDoc( pUndoDoc, nStartChangeAction, nEndChangeAction ); else @@ -1402,7 +1402,7 @@ else pRedoDoc->AddUndoTab( nTab, nTab, true, true ); bFirst = false; - rDoc.CopyToDocument(aRange, IDF_ALL, false, pRedoDoc); + rDoc.CopyToDocument(aRange, InsertDeleteFlags::ALL, false, pRedoDoc); pRedoDoc->SetLink( nTab, rDoc.GetLinkMode(nTab), rDoc.GetLinkDoc(nTab), @@ -1413,8 +1413,8 @@ pRedoDoc->SetTabBgColor( nTab, rDoc.GetTabBgColor(nTab) ); } - rDoc.DeleteAreaTab( aRange,IDF_ALL ); - pUndoDoc->CopyToDocument( aRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aRange,InsertDeleteFlags::ALL ); + pUndoDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL, false, &rDoc ); rDoc.SetLink( nTab, pUndoDoc->GetLinkMode(nTab), pUndoDoc->GetLinkDoc(nTab), pUndoDoc->GetLinkFlt(nTab), pUndoDoc->GetLinkOpt(nTab), pUndoDoc->GetLinkTab(nTab), @@ -1441,8 +1441,8 @@ { ScRange aRange(0,0,nTab,MAXCOL,MAXROW,nTab); - rDoc.DeleteAreaTab( aRange, IDF_ALL ); - pRedoDoc->CopyToDocument( aRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aRange, InsertDeleteFlags::ALL ); + pRedoDoc->CopyToDocument( aRange, InsertDeleteFlags::ALL, false, &rDoc ); rDoc.SetLink( nTab, pRedoDoc->GetLinkMode(nTab), pRedoDoc->GetLinkDoc(nTab), @@ -1662,14 +1662,14 @@ if ( bWithInsert ) { rDoc.FitBlock( aNewRange, aOldRange ); - rDoc.DeleteAreaTab( aOldRange, IDF_ALL & ~IDF_NOTE ); - pUndoDoc->UndoToDocument( aOldRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aOldRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pUndoDoc->UndoToDocument( aOldRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); } else { ScRange aCopyRange( aOldRange.aStart, ScAddress(nEndX,nEndY,nEndZ) ); - rDoc.DeleteAreaTab( aCopyRange, IDF_ALL & ~IDF_NOTE ); - pUndoDoc->CopyToDocument( aCopyRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aCopyRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pUndoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); } } else @@ -1677,14 +1677,14 @@ if ( bWithInsert ) { rDoc.FitBlock( aOldRange, aNewRange ); - rDoc.DeleteAreaTab( aNewRange, IDF_ALL & ~IDF_NOTE ); - pRedoDoc->CopyToDocument( aNewRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aNewRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pRedoDoc->CopyToDocument( aNewRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); } else { ScRange aCopyRange( aOldRange.aStart, ScAddress(nEndX,nEndY,nEndZ) ); - rDoc.DeleteAreaTab( aCopyRange, IDF_ALL & ~IDF_NOTE ); - pRedoDoc->CopyToDocument( aCopyRange, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + rDoc.DeleteAreaTab( aCopyRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); + pRedoDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); } } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undodat.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undodat.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undodat.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undodat.cxx 2015-11-17 15:21:04.767038049 +0100 @@ -114,9 +114,9 @@ // Original column/row status if (bColumns) pUndoDoc->CopyToDocument( static_cast(nStart), 0, nTab, - static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, &rDoc); + static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc); else - pUndoDoc->CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, &rDoc ); pViewShell->UpdateScrollBars(); @@ -278,9 +278,9 @@ if (bColumns) pUndoDoc->CopyToDocument( static_cast(nStart), 0, nTab, - static_cast(nEnd), MAXROW, nTab, IDF_NONE, false, &rDoc); + static_cast(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc); else - pUndoDoc->CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, &rDoc ); rDoc.UpdatePageBreaks( nTab ); @@ -377,8 +377,8 @@ } pUndoDoc->CopyToDocument( static_cast(nStartCol), 0, nTab, - static_cast(nEndCol), MAXROW, nTab, IDF_NONE, false, &rDoc ); - pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, &rDoc ); + static_cast(nEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, &rDoc ); rDoc.UpdatePageBreaks( nTab ); @@ -466,8 +466,8 @@ SCROW nStartRow = aBlockStart.Row(); SCROW nEndRow = aBlockEnd.Row(); - pUndoDoc->CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, IDF_NONE, false, &rDoc ); - pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( nStartCol, 0, nTab, nEndCol, MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, &rDoc ); rDoc.UpdatePageBreaks( nTab ); @@ -556,9 +556,9 @@ pUndoTable->GetRowArray().GetRange( nStartRow, nEndRow ); pUndoDoc->CopyToDocument( static_cast(nStartCol), 0, nTab, - static_cast(nEndCol), MAXROW, nTab, IDF_NONE, false, + static_cast(nEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc); - pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, &rDoc ); pViewShell->UpdateScrollBars(); } @@ -673,9 +673,9 @@ pUndoTable->GetRowArray().GetRange( nStartRow, nEndRow ); pUndoDoc->CopyToDocument( static_cast(nStartCol), 0, nTab, - static_cast(nEndCol), MAXROW, nTab, IDF_NONE, false, + static_cast(nEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc); - pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, &rDoc ); pViewShell->UpdateScrollBars(); } @@ -685,12 +685,12 @@ ScUndoUtil::MarkSimpleBlock( pDocShell, 0, aParam.nRow1+1, nTab, MAXCOL, aParam.nRow2, nTab ); - rDoc.DeleteAreaTab( 0,aParam.nRow1+1, MAXCOL,aParam.nRow2, nTab, IDF_ALL ); + rDoc.DeleteAreaTab( 0,aParam.nRow1+1, MAXCOL,aParam.nRow2, nTab, InsertDeleteFlags::ALL ); pUndoDoc->CopyToDocument( 0, aParam.nRow1+1, nTab, MAXCOL, aParam.nRow2, nTab, - IDF_NONE, false, &rDoc ); // Flags + InsertDeleteFlags::NONE, false, &rDoc ); // Flags pUndoDoc->UndoToDocument( 0, aParam.nRow1+1, nTab, MAXCOL, aParam.nRow2, nTab, - IDF_ALL, false, &rDoc ); + InsertDeleteFlags::ALL, false, &rDoc ); ScUndoUtil::MarkSimpleBlock( pDocShell, aParam.nCol1,aParam.nRow1,nTab, aParam.nCol2,aParam.nRow2,nTab ); @@ -814,25 +814,25 @@ aQueryParam.nDestCol, aQueryParam.nDestRow, aQueryParam.nDestTab, nDestEndCol, nDestEndRow, aQueryParam.nDestTab ); rDoc.DeleteAreaTab( aQueryParam.nDestCol, aQueryParam.nDestRow, - nDestEndCol, nDestEndRow, aQueryParam.nDestTab, IDF_ALL ); + nDestEndCol, nDestEndRow, aQueryParam.nDestTab, InsertDeleteFlags::ALL ); pViewShell->DoneBlockMode(); pUndoDoc->CopyToDocument( aQueryParam.nDestCol, aQueryParam.nDestRow, aQueryParam.nDestTab, nDestEndCol, nDestEndRow, aQueryParam.nDestTab, - IDF_ALL, false, &rDoc ); + InsertDeleteFlags::ALL, false, &rDoc ); // Attributes are always copied (#49287#) // rest of the old range if ( bDestArea && !bDoSize ) { - rDoc.DeleteAreaTab( aOldDest, IDF_ALL ); - pUndoDoc->CopyToDocument( aOldDest, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aOldDest, InsertDeleteFlags::ALL ); + pUndoDoc->CopyToDocument( aOldDest, InsertDeleteFlags::ALL, false, &rDoc ); } } else pUndoDoc->CopyToDocument( 0, aQueryParam.nRow1, nTab, MAXCOL, aQueryParam.nRow2, nTab, - IDF_NONE, false, &rDoc ); + InsertDeleteFlags::NONE, false, &rDoc ); if (pUndoDB) rDoc.SetDBCollection( new ScDBCollection( *pUndoDB ), true ); @@ -1114,8 +1114,8 @@ for (SCCOL nCopyCol = nCol1; nCopyCol <= nCol2; nCopyCol++) { rDoc.CopyToDocument( nCopyCol,nRow1,nTab, nCopyCol,nRow2,nTab, - IDF_CONTENTS & ~IDF_NOTE, false, pRedoDoc ); - rDoc.DeleteAreaTab( nCopyCol,nRow1, nCopyCol,nRow2, nTab, IDF_CONTENTS & ~IDF_NOTE ); + InsertDeleteFlags::CONTENTS & ~InsertDeleteFlags::NOTE, false, pRedoDoc ); + rDoc.DeleteAreaTab( nCopyCol,nRow1, nCopyCol,nRow2, nTab, InsertDeleteFlags::CONTENTS & ~InsertDeleteFlags::NOTE ); } rDoc.SetAutoCalc( bOldAutoCalc ); bRedoFilled = true; @@ -1132,7 +1132,7 @@ pRedoDBData->GetArea( aNew ); rDoc.DeleteAreaTab( aNew.aStart.Col(), aNew.aStart.Row(), - aNew.aEnd.Col(), aNew.aEnd.Row(), nTab, IDF_ALL & ~IDF_NOTE ); + aNew.aEnd.Col(), aNew.aEnd.Row(), nTab, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); aOld.aEnd.SetCol( aOld.aEnd.Col() + nFormulaCols ); // FitBlock also for formulas aNew.aEnd.SetCol( aNew.aEnd.Col() + nFormulaCols ); @@ -1140,11 +1140,11 @@ } else rDoc.DeleteAreaTab( aImportParam.nCol1,aImportParam.nRow1, - nEndCol,nEndRow, nTab, IDF_ALL & ~IDF_NOTE ); + nEndCol,nEndRow, nTab, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); pUndoDoc->CopyToDocument( aImportParam.nCol1,aImportParam.nRow1,nTab, nEndCol+nFormulaCols,nEndRow,nTab, - IDF_ALL & ~IDF_NOTE, false, &rDoc ); + InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); if (pCurrentData) { @@ -1203,16 +1203,16 @@ rDoc.FitBlock( aOld, aNew ); rDoc.DeleteAreaTab( aNew.aStart.Col(), aNew.aStart.Row(), - aNew.aEnd.Col(), aNew.aEnd.Row(), nTab, IDF_ALL & ~IDF_NOTE ); + aNew.aEnd.Col(), aNew.aEnd.Row(), nTab, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); - pRedoDoc->CopyToDocument( aNew, IDF_ALL & ~IDF_NOTE, false, &rDoc ); // including formulas + pRedoDoc->CopyToDocument( aNew, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); // including formulas } else { rDoc.DeleteAreaTab( aImportParam.nCol1,aImportParam.nRow1, - nEndCol,nEndRow, nTab, IDF_ALL & ~IDF_NOTE ); + nEndCol,nEndRow, nTab, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE ); pRedoDoc->CopyToDocument( aImportParam.nCol1,aImportParam.nRow1,nTab, - nEndCol,nEndRow,nTab, IDF_ALL & ~IDF_NOTE, false, &rDoc ); + nEndCol,nEndRow,nTab, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, &rDoc ); } if (pCurrentData) @@ -1358,9 +1358,9 @@ pUndoTable->GetRowArray().GetRange( nStartRow, nEndRow ); pUndoDoc->CopyToDocument( static_cast(nStartCol), 0, nTab, - static_cast(nEndCol), MAXROW, nTab, IDF_NONE, false, + static_cast(nEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, &rDoc ); - pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0, nStartRow, nTab, MAXCOL, nEndRow, nTab, InsertDeleteFlags::NONE, false, &rDoc ); pViewShell->UpdateScrollBars(); } @@ -1369,12 +1369,12 @@ ScUndoUtil::MarkSimpleBlock( pDocShell, 0, aBlockStart.Row(), nTab, MAXCOL, aBlockEnd.Row(), nTab ); rDoc.DeleteAreaTab( 0, aBlockStart.Row(), - MAXCOL, aBlockEnd.Row(), nTab, IDF_ALL ); + MAXCOL, aBlockEnd.Row(), nTab, InsertDeleteFlags::ALL ); pUndoDoc->CopyToDocument( 0, aBlockStart.Row(), nTab, MAXCOL, aBlockEnd.Row(), nTab, - IDF_NONE, false, &rDoc ); // Flags + InsertDeleteFlags::NONE, false, &rDoc ); // Flags pUndoDoc->UndoToDocument( 0, aBlockStart.Row(), nTab, MAXCOL, aBlockEnd.Row(), nTab, - IDF_ALL, false, &rDoc ); + InsertDeleteFlags::ALL, false, &rDoc ); ScUndoUtil::MarkSimpleBlock( pDocShell, aBlockStart.Col(),aBlockStart.Row(),nTab, aBlockEnd.Col(),aBlockEnd.Row(),nTab ); @@ -1474,14 +1474,14 @@ if ( pNewDPObject && pNewUndoDoc ) { aNewRange = pNewDPObject->GetOutRange(); - rDoc.DeleteAreaTab( aNewRange, IDF_ALL ); - pNewUndoDoc->CopyToDocument( aNewRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aNewRange, InsertDeleteFlags::ALL ); + pNewUndoDoc->CopyToDocument( aNewRange, InsertDeleteFlags::ALL, false, &rDoc ); } if ( pOldDPObject && pOldUndoDoc ) { aOldRange = pOldDPObject->GetOutRange(); - rDoc.DeleteAreaTab( aOldRange, IDF_ALL ); - pOldUndoDoc->CopyToDocument( aOldRange, IDF_ALL, false, &rDoc ); + rDoc.DeleteAreaTab( aOldRange, InsertDeleteFlags::ALL ); + pOldUndoDoc->CopyToDocument( aOldRange, InsertDeleteFlags::ALL, false, &rDoc ); } // update objects in collection @@ -1628,19 +1628,19 @@ rDoc.SetOutlineTable( nTab, pUndoTab ); // Row status - pUndoDoc->CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, IDF_NONE, false, &rDoc ); + pUndoDoc->CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::NONE, false, &rDoc ); // Data and references - rDoc.DeleteAreaTab( 0,aDestArea.nRowStart, MAXCOL,aDestArea.nRowEnd, nTab, IDF_ALL ); + rDoc.DeleteAreaTab( 0,aDestArea.nRowStart, MAXCOL,aDestArea.nRowEnd, nTab, InsertDeleteFlags::ALL ); pUndoDoc->UndoToDocument( 0, aDestArea.nRowStart, nTab, MAXCOL, aDestArea.nRowEnd, nTab, - IDF_ALL, false, &rDoc ); + InsertDeleteFlags::ALL, false, &rDoc ); // Original range if (pUndoData) { - rDoc.DeleteAreaTab(aOldRange, IDF_ALL); - pUndoDoc->CopyToDocument(aOldRange, IDF_ALL, false, &rDoc); + rDoc.DeleteAreaTab(aOldRange, InsertDeleteFlags::ALL); + pUndoDoc->CopyToDocument(aOldRange, InsertDeleteFlags::ALL, false, &rDoc); } pDocShell->PostPaint( 0,aDestArea.nRowStart,nTab, MAXCOL,MAXROW,nTab, @@ -1649,16 +1649,16 @@ else { rDoc.DeleteAreaTab( aDestArea.nColStart,aDestArea.nRowStart, - aDestArea.nColEnd,aDestArea.nRowEnd, nTab, IDF_ALL ); + aDestArea.nColEnd,aDestArea.nRowEnd, nTab, InsertDeleteFlags::ALL ); pUndoDoc->CopyToDocument( aDestArea.nColStart, aDestArea.nRowStart, nTab, aDestArea.nColEnd, aDestArea.nRowEnd, nTab, - IDF_ALL, false, &rDoc ); + InsertDeleteFlags::ALL, false, &rDoc ); // Original range if (pUndoData) { - rDoc.DeleteAreaTab(aOldRange, IDF_ALL); - pUndoDoc->CopyToDocument(aOldRange, IDF_ALL, false, &rDoc); + rDoc.DeleteAreaTab(aOldRange, InsertDeleteFlags::ALL); + pUndoDoc->CopyToDocument(aOldRange, InsertDeleteFlags::ALL, false, &rDoc); } SCCOL nEndX = aDestArea.nColEnd; @@ -1844,7 +1844,7 @@ void ScUndoDataForm::SetChangeTrack() { ScChangeTrack* pChangeTrack = pDocShell->GetDocument().GetChangeTrack(); - if ( pChangeTrack && (nFlags & IDF_CONTENTS) ) + if ( pChangeTrack && (nFlags & InsertDeleteFlags::CONTENTS) ) pChangeTrack->AppendContentRange( aBlockRange, pUndoDoc, nStartChangeAction, nEndChangeAction, SC_CACM_PASTE ); else @@ -1893,11 +1893,11 @@ ScRefUndoData* pWorkRefData = bUndo ? pRefUndoData : pRefRedoData; // Always back-up either all or none of the content for Undo - InsertDeleteFlags nUndoFlags = IDF_NONE; - if (nFlags & IDF_CONTENTS) - nUndoFlags |= IDF_CONTENTS; - if (nFlags & IDF_ATTRIB) - nUndoFlags |= IDF_ATTRIB; + InsertDeleteFlags nUndoFlags = InsertDeleteFlags::NONE; + if (nFlags & InsertDeleteFlags::CONTENTS) + nUndoFlags |= InsertDeleteFlags::CONTENTS; + if (nFlags & InsertDeleteFlags::ATTRIB) + nUndoFlags |= InsertDeleteFlags::ATTRIB; bool bPaintAll = false; @@ -1919,7 +1919,7 @@ ScRange aCopyRange = aBlockRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_VALUE, false, pRedoDoc ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::VALUE, false, pRedoDoc ); bRedoFilled = true; } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/undo/undotab.cxx libreoffice-5.0.3.2/sc/source/ui/undo/undotab.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/undo/undotab.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/undo/undotab.cxx 2015-11-17 15:21:04.767038049 +0100 @@ -330,7 +330,7 @@ bDrawIsInUndo = false; if (bOk) { - pRefUndoDoc->CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, IDF_ALL,false, &rDoc ); + pRefUndoDoc->CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::ALL,false, &rDoc ); OUString aOldName; pRefUndoDoc->GetName( nTab, aOldName ); @@ -938,7 +938,7 @@ { SCTAB nTabPos=nTab+i; - rDoc.CopyToDocument(0,0,nTabPos, MAXCOL,MAXROW,nTabPos, IDF_ALL,false, pRedoDoc ); + rDoc.CopyToDocument(0,0,nTabPos, MAXCOL,MAXROW,nTabPos, InsertDeleteFlags::ALL,false, pRedoDoc ); rDoc.GetName( nTabPos, aOldName ); pRedoDoc->RenameTab( nTabPos, aOldName, false ); pRedoDoc->SetTabBgColor( nTabPos, rDoc.GetTabBgColor(nTabPos) ); @@ -995,7 +995,7 @@ for (i=0; iCopyToDocument(0,0,nTabPos, MAXCOL,MAXROW,nTabPos, IDF_ALL,false, &rDoc ); + pRedoDoc->CopyToDocument(0,0,nTabPos, MAXCOL,MAXROW,nTabPos, InsertDeleteFlags::ALL,false, &rDoc ); rDoc.SetTabBgColor( nTabPos, pRedoDoc->GetTabBgColor(nTabPos) ); if ( pRedoDoc->IsScenario(nTabPos) ) diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/cellsuno.cxx libreoffice-5.0.3.2/sc/source/ui/unoobj/cellsuno.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/cellsuno.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/unoobj/cellsuno.cxx 2015-11-17 15:21:04.770038547 +0100 @@ -1063,7 +1063,7 @@ pUndoDoc->InitUndo( &rDoc, nTab, nTab ); else pUndoDoc->AddUndoTab( nTab, nTab ); - rDoc.CopyToDocument( aRange, IDF_ATTRIB, false, pUndoDoc ); + rDoc.CopyToDocument( aRange, InsertDeleteFlags::ATTRIB, false, pUndoDoc ); } ScMarkData aMark; @@ -1123,10 +1123,10 @@ { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - rDoc.CopyToDocument( rRange, IDF_CONTENTS|IDF_NOCAPTIONS, false, pUndoDoc ); + rDoc.CopyToDocument( rRange, InsertDeleteFlags::CONTENTS|InsertDeleteFlags::NOCAPTIONS, false, pUndoDoc ); } - rDoc.DeleteAreaTab( nStartCol, nStartRow, nEndCol, nEndRow, nTab, IDF_CONTENTS ); + rDoc.DeleteAreaTab( nStartCol, nStartRow, nEndCol, nEndRow, nTab, InsertDeleteFlags::CONTENTS ); bool bError = false; SCROW nDocRow = nStartRow; @@ -1216,7 +1216,7 @@ rDocShell.GetUndoManager()->AddUndoAction( new ScUndoPaste( &rDocShell, ScRange(nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab), - aDestMark, pUndoDoc, NULL, IDF_CONTENTS, NULL, false)); + aDestMark, pUndoDoc, NULL, InsertDeleteFlags::CONTENTS, NULL, false)); } if (!bHeight) @@ -1262,10 +1262,10 @@ { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - rDoc.CopyToDocument( rRange, IDF_CONTENTS, false, pUndoDoc ); + rDoc.CopyToDocument( rRange, InsertDeleteFlags::CONTENTS, false, pUndoDoc ); } - rDoc.DeleteAreaTab( nStartCol, nStartRow, nEndCol, nEndRow, nTab, IDF_CONTENTS ); + rDoc.DeleteAreaTab( nStartCol, nStartRow, nEndCol, nEndRow, nTab, InsertDeleteFlags::CONTENTS ); bool bError = false; SCROW nDocRow = nStartRow; @@ -1317,7 +1317,7 @@ rDocShell.GetUndoManager()->AddUndoAction( new ScUndoPaste( &rDocShell, ScRange(nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab), aDestMark, - pUndoDoc, NULL, IDF_CONTENTS, NULL, false)); + pUndoDoc, NULL, InsertDeleteFlags::CONTENTS, NULL, false)); } if (!bHeight) @@ -1846,9 +1846,9 @@ if ( !aRanges.empty() ) { // only for clearContents: EDITATTR is only used if no contents are deleted - InsertDeleteFlags nDelFlags = InsertDeleteFlags::fromInt(nContentFlags) & IDF_ALL; - if ( ( nDelFlags & IDF_EDITATTR ) && ( nDelFlags & IDF_CONTENTS ) == IDF_NONE ) - nDelFlags |= IDF_EDITATTR; + InsertDeleteFlags nDelFlags = static_cast(nContentFlags) & InsertDeleteFlags::ALL; + if ( ( nDelFlags & InsertDeleteFlags::EDITATTR ) && ( nDelFlags & InsertDeleteFlags::CONTENTS ) == InsertDeleteFlags::NONE ) + nDelFlags |= InsertDeleteFlags::EDITATTR; pDocShell->GetDocFunc().DeleteContents( *GetMarkData(), nDelFlags, true, true ); } @@ -5123,7 +5123,7 @@ ScMarkData aMark; aMark.SetMarkArea( aRange ); aMark.SelectTable( aRange.aStart.Tab(), true ); - pDocSh->GetDocFunc().DeleteContents( aMark, IDF_CONTENTS, true, true ); + pDocSh->GetDocFunc().DeleteContents( aMark, InsertDeleteFlags::CONTENTS, true, true ); } } } @@ -5202,7 +5202,7 @@ ScMarkData aMark; aMark.SetMarkArea( aRange ); aMark.SelectTable( aRange.aStart.Tab(), true ); - pDocSh->GetDocFunc().DeleteContents( aMark, IDF_CONTENTS, true, true ); + pDocSh->GetDocFunc().DeleteContents( aMark, InsertDeleteFlags::CONTENTS, true, true ); } } } @@ -7136,7 +7136,7 @@ { ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); pDocSh->GetUndoManager()->AddUndoAction( new ScUndoRemoveBreaks( pDocSh, nTab, pUndoDoc ) ); } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/docuno.cxx libreoffice-5.0.3.2/sc/source/ui/unoobj/docuno.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/docuno.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/unoobj/docuno.cxx 2015-11-17 15:21:04.771038713 +0100 @@ -4056,7 +4056,7 @@ aMarkData.SelectTable( aPos.Tab(), true ); aMarkData.SetMultiMarkArea( ScRange(aPos) ); - pDocShell->GetDocFunc().DeleteContents( aMarkData, IDF_NOTE, true, true ); + pDocShell->GetDocFunc().DeleteContents( aMarkData, InsertDeleteFlags::NOTE, true, true ); } } } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/funcuno.cxx libreoffice-5.0.3.2/sc/source/ui/unoobj/funcuno.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/unoobj/funcuno.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/unoobj/funcuno.cxx 2015-11-17 15:21:04.771038713 +0100 @@ -167,7 +167,7 @@ ScMarkData aDestMark; aDestMark.SelectOneTable( nDestTab ); aDestMark.SetMarkArea( aNewRange ); - pDestDoc->CopyFromClip( aNewRange, aDestMark, IDF_ALL & ~IDF_FORMULA, NULL, pClipDoc, false ); + pDestDoc->CopyFromClip( aNewRange, aDestMark, InsertDeleteFlags::ALL & ~InsertDeleteFlags::FORMULA, NULL, pClipDoc, false ); delete pClipDoc; return true; @@ -651,8 +651,8 @@ bArgErr = true; } - pDoc->DeleteAreaTab( 0, 0, MAXCOL, MAXROW, 0, IDF_ALL ); - pDoc->DeleteAreaTab( 0, 0, 0, 0, nTempSheet, IDF_ALL ); + pDoc->DeleteAreaTab( 0, 0, MAXCOL, MAXROW, 0, InsertDeleteFlags::ALL ); + pDoc->DeleteAreaTab( 0, 0, 0, 0, nTempSheet, InsertDeleteFlags::ALL ); } if (bOverflow) diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/vba/excelvbahelper.cxx libreoffice-5.0.3.2/sc/source/ui/vba/excelvbahelper.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/vba/excelvbahelper.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/vba/excelvbahelper.cxx 2015-11-17 15:21:04.771038713 +0100 @@ -204,7 +204,7 @@ pDoc = pOwnClip->GetDocument(); pTabViewShell->PasteFromClip( nFlags, pDoc, nFunction, bSkipEmpty, bTranspose, false, - eMoveMode, IDF_NONE, true ); + eMoveMode, InsertDeleteFlags::NONE, true ); pTabViewShell->CellContentChanged(); } } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/vba/vbahelper.cxx libreoffice-5.0.3.2/sc/source/ui/vba/vbahelper.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/vba/vbahelper.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/vba/vbahelper.cxx 2015-11-17 15:21:04.771038713 +0100 @@ -220,7 +220,7 @@ pDoc = pOwnClip->GetDocument(); pTabViewShell->PasteFromClip( nFlags, pDoc, nFunction, bSkipEmpty, bTranspose, bAsLink, - eMoveMode, IDF_NONE, sal_True ); + eMoveMode, InsertDeleteFlags::NONE, sal_True ); pTabViewShell->CellContentChanged(); } } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/vba/vbarange.cxx libreoffice-5.0.3.2/sc/source/ui/vba/vbarange.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/vba/vbarange.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/vba/vbarange.cxx 2015-11-17 15:21:04.772038879 +0100 @@ -2798,26 +2798,26 @@ static InsertDeleteFlags getPasteFlags (sal_Int32 Paste) { - InsertDeleteFlags nFlags = IDF_NONE; + InsertDeleteFlags nFlags = InsertDeleteFlags::NONE; switch (Paste) { case excel::XlPasteType::xlPasteComments: - nFlags = IDF_NOTE;break; + nFlags = InsertDeleteFlags::NOTE;break; case excel::XlPasteType::xlPasteFormats: - nFlags = IDF_ATTRIB;break; + nFlags = InsertDeleteFlags::ATTRIB;break; case excel::XlPasteType::xlPasteFormulas: - nFlags = IDF_FORMULA;break; + nFlags = InsertDeleteFlags::FORMULA;break; case excel::XlPasteType::xlPasteFormulasAndNumberFormats : case excel::XlPasteType::xlPasteValues: - nFlags = ( IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_SPECIAL_BOOLEAN ); break; + nFlags = ( InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME | InsertDeleteFlags::STRING | InsertDeleteFlags::SPECIAL_BOOLEAN ); break; case excel::XlPasteType::xlPasteValuesAndNumberFormats: - nFlags = IDF_VALUE | IDF_ATTRIB; break; + nFlags = InsertDeleteFlags::VALUE | InsertDeleteFlags::ATTRIB; break; case excel::XlPasteType::xlPasteColumnWidths: case excel::XlPasteType::xlPasteValidation: - nFlags = IDF_NONE;break; + nFlags = InsertDeleteFlags::NONE;break; case excel::XlPasteType::xlPasteAll: case excel::XlPasteType::xlPasteAllExceptBorders: default: - nFlags = IDF_ALL;break; + nFlags = InsertDeleteFlags::ALL;break; } return nFlags; } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/cellsh1.cxx libreoffice-5.0.3.2/sc/source/ui/view/cellsh1.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/cellsh1.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/cellsh1.cxx 2015-11-17 16:29:49.847329400 +0100 @@ -317,13 +317,13 @@ // delete contents from cells case SID_DELETE_CONTENTS: - pTabViewShell->DeleteContents( IDF_CONTENTS ); + pTabViewShell->DeleteContents( InsertDeleteFlags::CONTENTS ); rReq.Done(); break; case SID_DELETE: { - InsertDeleteFlags nFlags = IDF_NONE; + InsertDeleteFlags nFlags = InsertDeleteFlags::NONE; if ( pReqArgs!=NULL && pTabViewShell->SelectionEditable() ) { @@ -341,16 +341,16 @@ switch (aFlags[i]) { case 'A': // all - nFlags |= IDF_ALL; + nFlags |= InsertDeleteFlags::ALL; bCont = false; // don't continue! break; - case 'S': nFlags |= IDF_STRING; break; - case 'V': nFlags |= IDF_VALUE; break; - case 'D': nFlags |= IDF_DATETIME; break; - case 'F': nFlags |= IDF_FORMULA; break; - case 'N': nFlags |= IDF_NOTE; break; - case 'T': nFlags |= IDF_ATTRIB; break; - case 'O': nFlags |= IDF_OBJECTS; break; + case 'S': nFlags |= InsertDeleteFlags::STRING; break; + case 'V': nFlags |= InsertDeleteFlags::VALUE; break; + case 'D': nFlags |= InsertDeleteFlags::DATETIME; break; + case 'F': nFlags |= InsertDeleteFlags::FORMULA; break; + case 'N': nFlags |= InsertDeleteFlags::NOTE; break; + case 'T': nFlags |= InsertDeleteFlags::ATTRIB; break; + case 'O': nFlags |= InsertDeleteFlags::OBJECTS; break; } } } @@ -377,7 +377,7 @@ pTabViewShell->ErrorMessage(aTester.GetMessageId()); } - if( nFlags != IDF_NONE ) + if( nFlags != InsertDeleteFlags::NONE ) { pTabViewShell->DeleteContents( nFlags ); @@ -385,19 +385,19 @@ { OUString aFlags; - if( nFlags == IDF_ALL ) + if( nFlags == InsertDeleteFlags::ALL ) { aFlags += "A"; } else { - if( nFlags & IDF_STRING ) aFlags += "S"; - if( nFlags & IDF_VALUE ) aFlags += "V"; - if( nFlags & IDF_DATETIME ) aFlags += "D"; - if( nFlags & IDF_FORMULA ) aFlags += "F"; - if( nFlags & IDF_NOTE ) aFlags += "N"; - if( nFlags & IDF_ATTRIB ) aFlags += "T"; - if( nFlags & IDF_OBJECTS ) aFlags += "O"; + if( nFlags & InsertDeleteFlags::STRING ) aFlags += "S"; + if( nFlags & InsertDeleteFlags::VALUE ) aFlags += "V"; + if( nFlags & InsertDeleteFlags::DATETIME ) aFlags += "D"; + if( nFlags & InsertDeleteFlags::FORMULA ) aFlags += "F"; + if( nFlags & InsertDeleteFlags::NOTE ) aFlags += "N"; + if( nFlags & InsertDeleteFlags::ATTRIB ) aFlags += "T"; + if( nFlags & InsertDeleteFlags::OBJECTS ) aFlags += "O"; } rReq.AppendItem( SfxStringItem( SID_DELETE, aFlags ) ); @@ -431,7 +431,7 @@ case FID_FILL_TAB: { - InsertDeleteFlags nFlags = IDF_NONE; + InsertDeleteFlags nFlags = InsertDeleteFlags::NONE; sal_uInt16 nFunction = PASTE_NOFUNC; bool bSkipEmpty = false; bool bAsLink = false; @@ -452,15 +452,15 @@ switch (aFlags[i]) { case 'A': // all - nFlags |= IDF_ALL; + nFlags |= InsertDeleteFlags::ALL; bCont = false; // don't continue! break; - case 'S': nFlags |= IDF_STRING; break; - case 'V': nFlags |= IDF_VALUE; break; - case 'D': nFlags |= IDF_DATETIME; break; - case 'F': nFlags |= IDF_FORMULA; break; - case 'N': nFlags |= IDF_NOTE; break; - case 'T': nFlags |= IDF_ATTRIB; break; + case 'S': nFlags |= InsertDeleteFlags::STRING; break; + case 'V': nFlags |= InsertDeleteFlags::VALUE; break; + case 'D': nFlags |= InsertDeleteFlags::DATETIME; break; + case 'F': nFlags |= InsertDeleteFlags::FORMULA; break; + case 'N': nFlags |= InsertDeleteFlags::NOTE; break; + case 'T': nFlags |= InsertDeleteFlags::ATTRIB; break; } } } @@ -470,7 +470,7 @@ OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); boost::scoped_ptr pDlg(pFact->CreateScInsertContentsDlg( pTabViewShell->GetDialogParent(), - IDF_NONE, /* nCheckDefaults */ + InsertDeleteFlags::NONE, /* nCheckDefaults */ &ScGlobal::GetRscString(STR_FILL_TAB))); OSL_ENSURE(pDlg, "Dialog create fail!"); pDlg->SetFillMode(true); @@ -485,7 +485,7 @@ } } - if( nFlags != IDF_NONE ) + if( nFlags != InsertDeleteFlags::NONE ) { pTabViewShell->FillTab( nFlags, nFunction, bSkipEmpty, bAsLink ); @@ -493,18 +493,18 @@ { OUString aFlags; - if( nFlags == IDF_ALL ) + if( nFlags == InsertDeleteFlags::ALL ) { aFlags += "A"; } else { - if( nFlags & IDF_STRING ) aFlags += "S"; - if( nFlags & IDF_VALUE ) aFlags += "V"; - if( nFlags & IDF_DATETIME ) aFlags += "D"; - if( nFlags & IDF_FORMULA ) aFlags += "F"; - if( nFlags & IDF_NOTE ) aFlags += "N"; - if( nFlags & IDF_ATTRIB ) aFlags += "T"; + if( nFlags & InsertDeleteFlags::STRING ) aFlags += "S"; + if( nFlags & InsertDeleteFlags::VALUE ) aFlags += "V"; + if( nFlags & InsertDeleteFlags::DATETIME ) aFlags += "D"; + if( nFlags & InsertDeleteFlags::FORMULA ) aFlags += "F"; + if( nFlags & InsertDeleteFlags::NOTE ) aFlags += "N"; + if( nFlags & InsertDeleteFlags::ATTRIB ) aFlags += "T"; } rReq.AppendItem( SfxStringItem( FID_FILL_TAB, aFlags ) ); @@ -1303,7 +1303,7 @@ case FID_INS_CELL_CONTENTS: { - InsertDeleteFlags nFlags = IDF_NONE; + InsertDeleteFlags nFlags = InsertDeleteFlags::NONE; sal_uInt16 nFunction = PASTE_NOFUNC; InsCellCmd eMoveMode = INS_NONE; @@ -1335,15 +1335,15 @@ switch (aFlags[i]) { case 'A': // all - nFlags |= IDF_ALL; + nFlags |= InsertDeleteFlags::ALL; bCont = false; // don't continue! break; - case 'S': nFlags |= IDF_STRING; break; - case 'V': nFlags |= IDF_VALUE; break; - case 'D': nFlags |= IDF_DATETIME; break; - case 'F': nFlags |= IDF_FORMULA; break; - case 'N': nFlags |= IDF_NOTE; break; - case 'T': nFlags |= IDF_ATTRIB; break; + case 'S': nFlags |= InsertDeleteFlags::STRING; break; + case 'V': nFlags |= InsertDeleteFlags::VALUE; break; + case 'D': nFlags |= InsertDeleteFlags::DATETIME; break; + case 'F': nFlags |= InsertDeleteFlags::FORMULA; break; + case 'N': nFlags |= InsertDeleteFlags::NOTE; break; + case 'T': nFlags |= InsertDeleteFlags::ATTRIB; break; } } @@ -1450,7 +1450,7 @@ pTabViewShell->ErrorMessage(aTester.GetMessageId()); } - if( nFlags != IDF_NONE ) + if( nFlags != InsertDeleteFlags::NONE ) { { WaitObject aWait( GetViewData()->GetDialogParent() ); @@ -1460,7 +1460,7 @@ { pTabViewShell->PasteFromClip( nFlags, pOwnClip->GetDocument(), nFunction, bSkipEmpty, bTranspose, bAsLink, - eMoveMode, IDF_NONE, true ); // allow warning dialog + eMoveMode, InsertDeleteFlags::NONE, true ); // allow warning dialog } } @@ -1468,18 +1468,18 @@ { OUString aFlags; - if( nFlags == IDF_ALL ) + if( nFlags == InsertDeleteFlags::ALL ) { aFlags += "A"; } else { - if( nFlags & IDF_STRING ) aFlags += "S"; - if( nFlags & IDF_VALUE ) aFlags += "V"; - if( nFlags & IDF_DATETIME ) aFlags += "D"; - if( nFlags & IDF_FORMULA ) aFlags += "F"; - if( nFlags & IDF_NOTE ) aFlags += "N"; - if( nFlags & IDF_ATTRIB ) aFlags += "T"; + if( nFlags & InsertDeleteFlags::STRING ) aFlags += "S"; + if( nFlags & InsertDeleteFlags::VALUE ) aFlags += "V"; + if( nFlags & InsertDeleteFlags::DATETIME ) aFlags += "D"; + if( nFlags & InsertDeleteFlags::FORMULA ) aFlags += "F"; + if( nFlags & InsertDeleteFlags::NOTE ) aFlags += "N"; + if( nFlags & InsertDeleteFlags::ATTRIB ) aFlags += "T"; } rReq.AppendItem( SfxStringItem( FID_INS_CELL_CONTENTS, aFlags ) ); @@ -2283,7 +2283,7 @@ break; case SID_DELETE_NOTE: - pTabViewShell->DeleteContents( IDF_NOTE ); // delete all notes in selection + pTabViewShell->DeleteContents( InsertDeleteFlags::NOTE ); // delete all notes in selection rReq.Done(); break; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/cellsh3.cxx libreoffice-5.0.3.2/sc/source/ui/view/cellsh3.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/cellsh3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/cellsh3.cxx 2015-11-17 15:21:04.774039211 +0100 @@ -705,7 +705,7 @@ case SID_CELL_FORMAT_RESET: { - pTabViewShell->DeleteContents( IDF_HARDATTR | IDF_EDITATTR ); + pTabViewShell->DeleteContents( InsertDeleteFlags::HARDATTR | InsertDeleteFlags::EDITATTR ); rReq.Done(); } break; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/cliputil.cxx libreoffice-5.0.3.2/sc/source/ui/view/cliputil.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/cliputil.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/cliputil.cxx 2015-11-17 16:31:53.505841736 +0100 @@ -59,13 +59,13 @@ else { ScDocument* pClipDoc = pOwnClip->GetDocument(); - InsertDeleteFlags nFlags = IDF_ALL; + InsertDeleteFlags nFlags = InsertDeleteFlags::ALL; if (pClipDoc->GetClipParam().isMultiRange()) // For multi-range paste, we paste values by default. - nFlags &= ~IDF_FORMULA; + nFlags &= ~InsertDeleteFlags::FORMULA; pTabViewShell->PasteFromClip( nFlags, pClipDoc, - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, bShowDialog ); // allow warning dialog } } diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/dbfunc3.cxx libreoffice-5.0.3.2/sc/source/ui/view/dbfunc3.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/dbfunc3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/dbfunc3.cxx 2015-11-17 16:31:26.817414697 +0100 @@ -432,19 +432,19 @@ pTable->GetRowArray().GetRange( nOutStartRow, nOutEndRow ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, bOldFilter ); // Datenbereich sichern - incl. Filter-Ergebnis rDoc.CopyToDocument( 0,rParam.nRow1+1,nTab, MAXCOL,rParam.nRow2,nTab, - IDF_ALL, false, pUndoDoc ); + InsertDeleteFlags::ALL, false, pUndoDoc ); // alle Formeln wegen Referenzen rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, - IDF_FORMULA, false, pUndoDoc ); + InsertDeleteFlags::FORMULA, false, pUndoDoc ); // DB- und andere Bereiche ScRangeName* pDocRange = rDoc.GetRangeName(); @@ -2054,7 +2054,7 @@ OUString aNewTabName; pDoc->CreateValidTabName(aNewTabName); if ( InsertTable(aNewTabName, nNewTab) ) - PasteFromClip( IDF_ALL, pInsDoc.get() ); + PasteFromClip( InsertDeleteFlags::ALL, pInsDoc.get() ); pMgr->LeaveListAction(); } @@ -2130,17 +2130,17 @@ pTable->GetRowArray().GetRange( nOutStartRow, nOutEndRow ); pUndoDoc->InitUndo( pDoc, nTab, nTab, true, true ); - pDoc->CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, IDF_NONE, false, pUndoDoc ); - pDoc->CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, IDF_NONE, false, pUndoDoc ); + pDoc->CopyToDocument( static_cast(nOutStartCol), 0, nTab, static_cast(nOutEndCol), MAXROW, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); + pDoc->CopyToDocument( 0, nOutStartRow, nTab, MAXCOL, nOutEndRow, nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); } else pUndoDoc->InitUndo( pDoc, nTab, nTab, false, true ); // Datenbereich sichern - incl. Filter-Ergebnis - pDoc->CopyToDocument( 0,nStartRow,nTab, MAXCOL,nEndRow,nTab, IDF_ALL, false, pUndoDoc ); + pDoc->CopyToDocument( 0,nStartRow,nTab, MAXCOL,nEndRow,nTab, InsertDeleteFlags::ALL, false, pUndoDoc ); // alle Formeln wegen Referenzen - pDoc->CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, IDF_FORMULA, false, pUndoDoc ); + pDoc->CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, InsertDeleteFlags::FORMULA, false, pUndoDoc ); // DB- und andere Bereiche ScRangeName* pDocRange = pDoc->GetRangeName(); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/gridwin.cxx libreoffice-5.0.3.2/sc/source/ui/view/gridwin.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/gridwin.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/gridwin.cxx 2015-11-17 15:21:04.777039709 +0100 @@ -2239,7 +2239,7 @@ if ( bIsDel ) { pView->MarkRange( aDelRange, false ); - pView->DeleteContents( IDF_CONTENTS ); + pView->DeleteContents( InsertDeleteFlags::CONTENTS ); SCTAB nTab = pViewData->GetTabNo(); ScRange aBlockRange( nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab ); if ( aBlockRange != aDelRange ) @@ -2338,7 +2338,7 @@ ScDocument* pBrushDoc = pView->GetBrushDocument(); if ( pBrushDoc ) { - pView->PasteFromClip( IDF_ATTRIB, pBrushDoc ); + pView->PasteFromClip( InsertDeleteFlags::ATTRIB, pBrushDoc ); if ( !pView->IsPaintBrushLocked() ) pView->ResetBrushDocument(); // invalidates pBrushDoc pointer } @@ -4457,7 +4457,7 @@ { pView->Unmark(); // before SetCursor, so CheckSelectionTransfer isn't called with a selection pView->SetCursor( nDestPosX, nDestPosY ); - bDone = pView->PasteFromClip( IDF_ALL, pTransObj->GetDocument() ); // clip-doc + bDone = pView->PasteFromClip( InsertDeleteFlags::ALL, pTransObj->GetDocument() ); // clip-doc if ( bDone ) { pView->MarkRange( aDest, false, false ); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun2.cxx libreoffice-5.0.3.2/sc/source/ui/view/viewfun2.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun2.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/viewfun2.cxx 2015-11-17 16:22:27.831007410 +0100 @@ -793,8 +793,8 @@ pInsDoc->SetClipArea( ScRange(aPos) ); // insert Block, with Undo etc. - if ( PasteFromClip( IDF_CONTENTS, pInsDoc.get(), PASTE_NOFUNC, false, false, - false, INS_NONE, IDF_ATTRIB ) ) + if ( PasteFromClip( InsertDeleteFlags::CONTENTS, pInsDoc.get(), PASTE_NOFUNC, false, false, + false, INS_NONE, InsertDeleteFlags::ATTRIB ) ) { const SfxUInt32Item* pItem = static_cast( pInsDoc->GetAttr( nCol, nRow, nTab, ATTR_VALUE_FORMAT ) ); @@ -859,7 +859,7 @@ { ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab, true, true ); - rDoc.CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::NONE, false, pUndoDoc ); pDocSh->GetUndoManager()->AddUndoAction( new ScUndoRemoveBreaks( pDocSh, nTab, pUndoDoc ) ); } @@ -1460,7 +1460,7 @@ pUndoDoc->AddUndoTab( i, i ); aMarkRange.aStart.SetTab( i ); aMarkRange.aEnd.SetTab( i ); - rDoc.CopyToDocument( aMarkRange, IDF_ALL, bMulti, pUndoDoc ); + rDoc.CopyToDocument( aMarkRange, InsertDeleteFlags::ALL, bMulti, pUndoDoc ); } } @@ -2210,7 +2210,7 @@ else pUndoDoc->AddUndoTab( nTab,nTab, true,true ); // incl. column/fow flags - rDoc.CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, IDF_ALL,false, pUndoDoc ); + rDoc.CopyToDocument(0,0,nTab, MAXCOL,MAXROW,nTab, InsertDeleteFlags::ALL,false, pUndoDoc ); rDoc.GetName( nTab, aOldName ); pUndoDoc->RenameTab( nTab, aOldName, false ); if (rDoc.IsLinked(nTab)) diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun3.cxx libreoffice-5.0.3.2/sc/source/ui/view/viewfun3.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun3.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/viewfun3.cxx 2015-11-17 16:23:44.112661156 +0100 @@ -120,7 +120,7 @@ ScRange aCopyRange = aRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(pDoc->GetTableCount()-1); - pDoc->CopyToDocument( aCopyRange, (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS, false, pUndoDoc ); + pDoc->CopyToDocument( aCopyRange, (InsertDeleteFlags::ALL & ~InsertDeleteFlags::OBJECTS) | InsertDeleteFlags::NOCAPTIONS, false, pUndoDoc ); pDoc->BeginDrawUndo(); } @@ -128,7 +128,7 @@ pDocSh->UpdatePaintExt( nExtFlags, aRange ); rMark.MarkToMulti(); - pDoc->DeleteSelection( IDF_ALL, rMark ); + pDoc->DeleteSelection( InsertDeleteFlags::ALL, rMark ); if ( bIncludeObjects ) pDoc->DeleteObjectsInSelection( rMark ); rMark.MarkToSimple(); @@ -462,8 +462,8 @@ { // keep a reference in case the clipboard is changed during PasteFromClip uno::Reference aOwnClipRef( pOwnClip ); - PasteFromClip( IDF_ALL, pOwnClip->GetDocument(), - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PasteFromClip( InsertDeleteFlags::ALL, pOwnClip->GetDocument(), + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, true ); // allow warning dialog } else if (pDrawClip) @@ -604,8 +604,8 @@ if (pOwnClip) { - PasteFromClip( IDF_ALL, pOwnClip->GetDocument(), - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PasteFromClip( InsertDeleteFlags::ALL, pOwnClip->GetDocument(), + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, true ); // allow warning dialog } else if (pDrawClip) @@ -699,8 +699,8 @@ { // keep a reference in case the clipboard is changed during PasteFromClip uno::Reference aOwnClipRef( pOwnClip ); - PasteFromClip( IDF_ALL, pOwnClip->GetDocument(), - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PasteFromClip( InsertDeleteFlags::ALL, pOwnClip->GetDocument(), + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, !bApi ); // allow warning dialog } else @@ -858,17 +858,17 @@ } // undo: save all or no content - InsertDeleteFlags nContFlags = IDF_NONE; - if (nFlags & IDF_CONTENTS) - nContFlags |= IDF_CONTENTS; - if (nFlags & IDF_ATTRIB) - nContFlags |= IDF_ATTRIB; + InsertDeleteFlags nContFlags = InsertDeleteFlags::NONE; + if (nFlags & InsertDeleteFlags::CONTENTS) + nContFlags |= InsertDeleteFlags::CONTENTS; + if (nFlags & InsertDeleteFlags::ATTRIB) + nContFlags |= InsertDeleteFlags::ATTRIB; // move attributes to undo without copying them from clip to doc InsertDeleteFlags nUndoFlags = nContFlags; - if (nUndoExtraFlags & IDF_ATTRIB) - nUndoFlags |= IDF_ATTRIB; + if (nUndoExtraFlags & InsertDeleteFlags::ATTRIB) + nUndoFlags |= InsertDeleteFlags::ATTRIB; // do not copy note captions into undo document - nUndoFlags |= IDF_NOCAPTIONS; + nUndoFlags |= InsertDeleteFlags::NOCAPTIONS; ScClipParam& rClipParam = pClipDoc->GetClipParam(); if (rClipParam.isMultiRange()) @@ -891,8 +891,8 @@ bool bCutMode = pClipDoc->IsCutMode(); // if transposing, take from original clipdoc bool bIncludeFiltered = bCutMode; - // paste drawing: also if IDF_NOTE is set (to create drawing layer for note captions) - bool bPasteDraw = ( pClipDoc->GetDrawLayer() && ( nFlags & (IDF_OBJECTS|IDF_NOTE) ) ); + // paste drawing: also if InsertDeleteFlags::NOTE is set (to create drawing layer for note captions) + bool bPasteDraw = ( pClipDoc->GetDrawLayer() && ( nFlags & (InsertDeleteFlags::OBJECTS|InsertDeleteFlags::NOTE) ) ); ScDocShellRef aTransShellRef; // for objects in xTransClip - must remain valid as long as xTransClip ScDocument* pOrigClipDoc = NULL; @@ -1122,7 +1122,7 @@ else if (!bOffLimits) { bool bAskIfNotEmpty = bAllowDialogs && - ( nFlags & IDF_CONTENTS ) && + ( nFlags & InsertDeleteFlags::CONTENTS ) && nFunction == PASTE_NOFUNC && SC_MOD()->GetInputOptions().GetReplaceCellsWarn(); if ( bAskIfNotEmpty ) @@ -1253,12 +1253,12 @@ if (nFunction) { bSkipEmpty = false; - if ( nFlags & IDF_CONTENTS ) + if ( nFlags & InsertDeleteFlags::CONTENTS ) { pMixDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pMixDoc->InitUndo( pDoc, nStartTab, nEndTab ); pDoc->CopyToDocument( nStartCol, nStartRow, nStartTab, nEndCol, nEndRow, nEndTab, - IDF_CONTENTS, false, pMixDoc.get() ); + InsertDeleteFlags::CONTENTS, false, pMixDoc.get() ); } } @@ -1271,7 +1271,7 @@ if ( bRecord ) pDoc->BeginDrawUndo(); - InsertDeleteFlags nNoObjFlags = nFlags & ~IDF_OBJECTS; + InsertDeleteFlags nNoObjFlags = nFlags & ~InsertDeleteFlags::OBJECTS; if (!bAsLink) { // copy normally (original range) @@ -1280,7 +1280,7 @@ bSkipEmpty, (bMarkIsFiltered ? &aRangeList : NULL) ); // adapt refs manually in case of transpose - if ( bTranspose && bCutMode && (nFlags & IDF_CONTENTS) ) + if ( bTranspose && bCutMode && (nFlags & InsertDeleteFlags::CONTENTS) ) pDoc->UpdateTranspose( aUserRange.aStart, pOrigClipDoc, aFilteredMark, pRefUndoDoc ); } else if (!bTranspose) @@ -1313,7 +1313,7 @@ ::std::vector< OUString > aExcludedChartNames; SdrPage* pPage = NULL; - if ( nFlags & IDF_OBJECTS ) + if ( nFlags & InsertDeleteFlags::OBJECTS ) { ScDrawView* pScDrawView = GetScDrawView(); SdrModel* pModel = ( pScDrawView ? pScDrawView->GetModel() : NULL ); @@ -1325,7 +1325,7 @@ // Paste the drawing objects after the row heights have been updated. - pDoc->CopyFromClip( aUserRange, aFilteredMark, IDF_OBJECTS, pRefUndoDoc, pClipDoc, + pDoc->CopyFromClip( aUserRange, aFilteredMark, InsertDeleteFlags::OBJECTS, pRefUndoDoc, pClipDoc, true, false, bIncludeFiltered ); } @@ -1365,9 +1365,9 @@ // not charts? pUndoDoc->AddUndoTab( 0, nTabCount-1 ); - pRefUndoDoc->DeleteArea( nStartCol, nStartRow, nEndCol, nEndRow, aFilteredMark, IDF_ALL ); + pRefUndoDoc->DeleteArea( nStartCol, nStartRow, nEndCol, nEndRow, aFilteredMark, InsertDeleteFlags::ALL ); pRefUndoDoc->CopyToDocument( 0,0,0, MAXCOL,MAXROW,nTabCount-1, - IDF_FORMULA, false, pUndoDoc ); + InsertDeleteFlags::FORMULA, false, pUndoDoc ); delete pRefUndoDoc; } @@ -1418,7 +1418,7 @@ aModificator.SetDocumentModified(); PostPasteFromClip(aUserRange, rMark); - if ( nFlags & IDF_OBJECTS ) + if ( nFlags & InsertDeleteFlags::OBJECTS ) { ScModelObj* pModelObj = ScModelObj::getImplementation( pDocSh->GetModel() ); if ( pPage && pModelObj ) @@ -1490,7 +1490,7 @@ } bool bAskIfNotEmpty = - bAllowDialogs && (nFlags & IDF_CONTENTS) && + bAllowDialogs && (nFlags & InsertDeleteFlags::CONTENTS) && nFunction == PASTE_NOFUNC && SC_MOD()->GetInputOptions().GetReplaceCellsWarn(); if (bAskIfNotEmpty) @@ -1522,11 +1522,11 @@ ::std::unique_ptr pMixDoc; if ( bSkipEmpty || nFunction ) { - if ( nFlags & IDF_CONTENTS ) + if ( nFlags & InsertDeleteFlags::CONTENTS ) { pMixDoc.reset(new ScDocument(SCDOCMODE_UNDO)); pMixDoc->InitUndoSelected(pDoc, aMark, false, false); - pDoc->CopyToDocument(aMarkedRange, IDF_CONTENTS, false, pMixDoc.get(), &aMark, true); + pDoc->CopyToDocument(aMarkedRange, InsertDeleteFlags::CONTENTS, false, pMixDoc.get(), &aMark, true); } } @@ -1534,12 +1534,12 @@ - Needed before AdjustBlockHeight to track moved drawing objects. - Needed before pDoc->CopyFromClip to track inserted note caption objects. */ - if (nFlags & IDF_OBJECTS) + if (nFlags & InsertDeleteFlags::OBJECTS) pDocSh->MakeDrawLayer(); if (pDoc->IsUndoEnabled()) pDoc->BeginDrawUndo(); - InsertDeleteFlags nNoObjFlags = nFlags & ~IDF_OBJECTS; + InsertDeleteFlags nNoObjFlags = nFlags & ~InsertDeleteFlags::OBJECTS; pDoc->CopyMultiRangeFromClip(rCurPos, aMark, nNoObjFlags, pClipDoc, true, bAsLink, false, bSkipEmpty); @@ -1548,10 +1548,10 @@ AdjustBlockHeight(); // update row heights before pasting objects - if (nFlags & IDF_OBJECTS) + if (nFlags & InsertDeleteFlags::OBJECTS) { // Paste the drawing objects after the row heights have been updated. - pDoc->CopyMultiRangeFromClip(rCurPos, aMark, IDF_OBJECTS, pClipDoc, + pDoc->CopyMultiRangeFromClip(rCurPos, aMark, InsertDeleteFlags::OBJECTS, pClipDoc, true, false, false, true); } @@ -1648,7 +1648,7 @@ ScDocShellModificator aModificator(*pDocSh); bool bAskIfNotEmpty = - bAllowDialogs && (nFlags & IDF_CONTENTS) && + bAllowDialogs && (nFlags & InsertDeleteFlags::CONTENTS) && nFunction == PASTE_NOFUNC && SC_MOD()->GetInputOptions().GetReplaceCellsWarn(); if (bAskIfNotEmpty) @@ -1672,19 +1672,19 @@ boost::scoped_ptr pMixDoc; if (bSkipEmpty || nFunction) { - if (nFlags & IDF_CONTENTS) + if (nFlags & InsertDeleteFlags::CONTENTS) { pMixDoc.reset(new ScDocument(SCDOCMODE_UNDO)); pMixDoc->InitUndoSelected(pDoc, aMark, false, false); for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyToDocument( - *aRanges[i], IDF_CONTENTS, false, pMixDoc.get(), &aMark, true); + *aRanges[i], InsertDeleteFlags::CONTENTS, false, pMixDoc.get(), &aMark, true); } } } - if (nFlags & IDF_OBJECTS) + if (nFlags & InsertDeleteFlags::OBJECTS) pDocSh->MakeDrawLayer(); if (pDoc->IsUndoEnabled()) pDoc->BeginDrawUndo(); @@ -1693,7 +1693,7 @@ for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyFromClip( - *aRanges[i], aMark, (nFlags & ~IDF_OBJECTS), NULL, pClipDoc, + *aRanges[i], aMark, (nFlags & ~InsertDeleteFlags::OBJECTS), NULL, pClipDoc, false, false, true, bSkipEmpty, NULL); } @@ -1706,12 +1706,12 @@ AdjustBlockHeight(); // update row heights before pasting objects // Then paste the objects. - if (nFlags & IDF_OBJECTS) + if (nFlags & InsertDeleteFlags::OBJECTS) { for (size_t i = 0, n = aRanges.size(); i < n; ++i) { pDoc->CopyFromClip( - *aRanges[i], aMark, IDF_OBJECTS, NULL, pClipDoc, + *aRanges[i], aMark, InsertDeleteFlags::OBJECTS, NULL, pClipDoc, false, false, true, bSkipEmpty, NULL); } } @@ -1903,7 +1903,7 @@ // Paste - PasteFromClip( IDF_ALL, pClipDoc.get(), PASTE_NOFUNC, false, false, true ); // as a link + PasteFromClip( InsertDeleteFlags::ALL, pClipDoc.get(), PASTE_NOFUNC, false, false, true ); // as a link return true; } @@ -1939,13 +1939,13 @@ bool bRowInfo = ( nStartCol==0 && nEndCol==MAXCOL ); SCCOL nUndoEndCol = nStartCol+aColLength-1; SCROW nUndoEndRow = nCurrentRow; - InsertDeleteFlags nUndoFlags = IDF_NONE; + InsertDeleteFlags nUndoFlags = InsertDeleteFlags::NONE; if ( bRecord ) { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndoSelected( pDoc , rMark , bColInfo , bRowInfo ); - pDoc->CopyToDocument( aUserRange , IDF_VALUE , false , pUndoDoc ); + pDoc->CopyToDocument( aUserRange , InsertDeleteFlags::VALUE , false , pUndoDoc ); } sal_uInt16 nExtFlags = 0; pDocSh->UpdatePaintExt( nExtFlags, nStartCol, nStartRow, nStartTab , nEndCol, nEndRow, nEndTab ); // content before the change diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun4.cxx libreoffice-5.0.3.2/sc/source/ui/view/viewfun4.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun4.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/viewfun4.cxx 2015-11-17 15:21:04.780040207 +0100 @@ -121,7 +121,7 @@ { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nStartCol,nEndRow,nTab, IDF_ALL, false, pUndoDoc ); + rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nStartCol,nEndRow,nTab, InsertDeleteFlags::ALL, false, pUndoDoc ); } SCROW nRow = nStartRow; @@ -142,14 +142,14 @@ { ScDocument* pRedoDoc = new ScDocument( SCDOCMODE_UNDO ); pRedoDoc->InitUndo( &rDoc, nTab, nTab ); - rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nStartCol,nEndRow,nTab, IDF_ALL|IDF_NOCAPTIONS, false, pRedoDoc ); + rDoc.CopyToDocument( nStartCol,nStartRow,nTab, nStartCol,nEndRow,nTab, InsertDeleteFlags::ALL|InsertDeleteFlags::NOCAPTIONS, false, pRedoDoc ); ScRange aMarkRange(nStartCol, nStartRow, nTab, nStartCol, nEndRow, nTab); ScMarkData aDestMark; aDestMark.SetMarkArea( aMarkRange ); pDocSh->GetUndoManager()->AddUndoAction( new ScUndoPaste( pDocSh, aMarkRange, aDestMark, - pUndoDoc, pRedoDoc, IDF_ALL, NULL)); + pUndoDoc, pRedoDoc, InsertDeleteFlags::ALL, NULL)); } } @@ -225,7 +225,7 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pDoc->CopyToDocument( aCopyRange, IDF_ALL, bMulti, pUndoDoc, &rMark ); + pDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ALL, bMulti, pUndoDoc, &rMark ); } ScRangeListRef xRanges; @@ -286,11 +286,11 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pDoc->CopyToDocument( aCopyRange, IDF_ALL, bMulti, pRedoDoc, &rMark ); + pDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ALL, bMulti, pRedoDoc, &rMark ); pDocSh->GetUndoManager()->AddUndoAction( new ScUndoRefConversion( pDocSh, - aMarkRange, rMark, pUndoDoc, pRedoDoc, bMulti, IDF_ALL) ); + aMarkRange, rMark, pUndoDoc, pRedoDoc, bMulti, InsertDeleteFlags::ALL) ); } pDocSh->PostPaint( aMarkRange, PAINT_GRID ); diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun5.cxx libreoffice-5.0.3.2/sc/source/ui/view/viewfun5.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfun5.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/viewfun5.cxx 2015-11-17 15:34:21.541190581 +0100 @@ -157,8 +157,8 @@ SetCursor( nPosX, nPosY ); Unmark(); - PasteFromClip( IDF_ALL, pClipDoc.get(), - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PasteFromClip( InsertDeleteFlags::ALL, pClipDoc.get(), + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, bAllowDialogs ); bRet = true; } @@ -578,8 +578,8 @@ } pInsDoc->SetClipArea( aSource ); - PasteFromClip( IDF_ALL, pInsDoc, - PASTE_NOFUNC, false, false, false, INS_NONE, IDF_NONE, + PasteFromClip( InsertDeleteFlags::ALL, pInsDoc, + PASTE_NOFUNC, false, false, false, INS_NONE, InsertDeleteFlags::NONE, bAllowDialogs ); delete pInsDoc; diff -uar libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfunc.cxx libreoffice-5.0.3.2/sc/source/ui/view/viewfunc.cxx --- libreoffice-5.0.3.2.orig/sc/source/ui/view/viewfunc.cxx 2015-10-24 17:21:49.000000000 +0200 +++ libreoffice-5.0.3.2/sc/source/ui/view/viewfunc.cxx 2015-11-17 16:34:00.156850395 +0100 @@ -1054,7 +1054,7 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - pDoc->CopyToDocument( aCopyRange, IDF_ATTRIB, bMulti, pUndoDoc, &aFuncMark ); + pDoc->CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, bMulti, pUndoDoc, &aFuncMark ); pDocSh->GetUndoManager()->AddUndoAction( new ScUndoSelectionAttr( @@ -1162,7 +1162,7 @@ for (; itr != itrEnd; ++itr) if (*itr != nStartTab) pUndoDoc->AddUndoTab( *itr, *itr ); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, bMulti, pUndoDoc, &aFuncMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, bMulti, pUndoDoc, &aFuncMark ); aFuncMark.MarkToMulti(); @@ -1337,7 +1337,7 @@ ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, true, pUndoDoc, &aFuncMark ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, true, pUndoDoc, &aFuncMark ); aFuncMark.MarkToMulti(); OUString aName = pStyleSheet->GetName(); @@ -1368,7 +1368,7 @@ pUndoDoc->AddUndoTab( *itr, *itr ); ScRange aCopyRange( nCol, nRow, 0, nCol, nRow, nTabCount-1 ); - rDoc.CopyToDocument( aCopyRange, IDF_ATTRIB, false, pUndoDoc ); + rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, false, pUndoDoc ); ScRange aMarkRange ( nCol, nRow, nTab ); ScMarkData aUndoMark = aFuncMark; @@ -1652,17 +1652,17 @@ SCCOLROW nStart = aSpans[i].mnStart; SCCOLROW nEnd = aSpans[i].mnEnd; if (bRows) - rDoc.CopyToDocument( 0,nStart,nTab, MAXCOL,nEnd,nTab, IDF_ALL,false,pUndoDoc ); + rDoc.CopyToDocument( 0,nStart,nTab, MAXCOL,nEnd,nTab, InsertDeleteFlags::ALL,false,pUndoDoc ); else rDoc.CopyToDocument( static_cast(nStart),0,nTab, static_cast(nEnd),MAXROW,nTab, - IDF_ALL,false,pUndoDoc ); + InsertDeleteFlags::ALL,false,pUndoDoc ); } // all Formulas because of references SCTAB nTabCount = rDoc.GetTableCount(); pUndoDoc->AddUndoTab( 0, nTabCount-1, false, false ); - rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,MAXTAB, IDF_FORMULA,false,pUndoDoc ); + rDoc.CopyToDocument( 0,0,0, MAXCOL,MAXROW,MAXTAB, InsertDeleteFlags::FORMULA,false,pUndoDoc ); pUndoData = new ScRefUndoData( &rDoc ); @@ -1747,7 +1747,7 @@ if ( !bEditable ) { if ( !(bOnlyNotBecauseOfMatrix && - ((nFlags & (IDF_ATTRIB | IDF_EDITATTR)) == nFlags)) ) + ((nFlags & (InsertDeleteFlags::ATTRIB | InsertDeleteFlags::EDITATTR)) == nFlags)) ) { ErrorMessage(bOnlyNotBecauseOfMatrix ? STR_MATRIXFRAGMENTERR : STR_PROTECTIONERR); return; @@ -1806,9 +1806,9 @@ CellContentChanged(); ShowAllCursors(); - if ( nFlags & IDF_ATTRIB ) + if ( nFlags & InsertDeleteFlags::ATTRIB ) { - if ( nFlags & IDF_CONTENTS ) + if ( nFlags & InsertDeleteFlags::CONTENTS ) ForgetFormatArea(); else StartFormatArea(); // delete attribute is also attribute-change @@ -1896,7 +1896,7 @@ else pUndoDoc->AddUndoTab( *itr, *itr, true, false ); rDoc.CopyToDocument( static_cast(nStart), 0, *itr, - static_cast(nEnd), MAXROW, *itr, IDF_NONE, + static_cast(nEnd), MAXROW, *itr, InsertDeleteFlags::NONE, false, pUndoDoc ); } else @@ -1905,7 +1905,7 @@ pUndoDoc->InitUndo( &rDoc, *itr, *itr, false, true ); else pUndoDoc->AddUndoTab( *itr, *itr, false, true ); - rDoc.CopyToDocument( 0, nStart, *itr, MAXCOL, nEnd, *itr, IDF_NONE, false, pUndoDoc ); + rDoc.CopyToDocument( 0, nStart, *itr, MAXCOL, nEnd, *itr, InsertDeleteFlags::NONE, false, pUndoDoc ); } }