sc/inc/markdata.hxx | 4 ---- sc/source/core/data/markdata.cxx | 36 ------------------------------------ sc/source/ui/view/tabview2.cxx | 38 -------------------------------------- sc/source/ui/view/viewdata.cxx | 6 ------ 4 files changed, 84 deletions(-)
New commits: commit 62a8580587aec1c1a3070448b063889c01ac5c11 Author: Ahmet Hakan Çelik <ahmethce...@gmail.com> AuthorDate: Thu Feb 17 20:05:22 2022 +0300 Commit: Heiko Tietze <heiko.tie...@documentfoundation.org> CommitDate: Fri Feb 18 09:47:58 2022 +0100 Revert tdf#64345: EDITING: Selected area looses selection when switching sheet This reverts commit c82634d5a222120b3a95cff1b950a7f7a1f5ded1 Change-Id: I627b46f710da723ad58295d4fa0821df17eebd9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130108 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org> diff --git a/sc/inc/markdata.hxx b/sc/inc/markdata.hxx index 027ca939d8df..69a7acfde8ab 100644 --- a/sc/inc/markdata.hxx +++ b/sc/inc/markdata.hxx @@ -46,8 +46,6 @@ public: private: MarkedTabsType maTabMarked; - std::vector<std::vector<std::pair<SCTAB, ScRange>>> maSheetsMark; - ScRange aMarkRange; // area ScRange aMultiRange; // maximum area altogether ScMultiSel aMultiSel; // multi selection @@ -130,8 +128,6 @@ public: std::vector<sc::ColRowSpan> GetMarkedRowSpans() const; std::vector<sc::ColRowSpan> GetMarkedColSpans() const; - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& GetSheetsMark() { return maSheetsMark; } - bool IsColumnMarked( SCCOL nCol ) const; bool IsRowMarked( SCROW nRow ) const; bool IsAllMarked( const ScRange& rRange ) const; // Multi diff --git a/sc/source/core/data/markdata.cxx b/sc/source/core/data/markdata.cxx index 440553deaedc..65d1375d4c23 100644 --- a/sc/source/core/data/markdata.cxx +++ b/sc/source/core/data/markdata.cxx @@ -170,21 +170,13 @@ void ScMarkData::SetAreaTab( SCTAB nTab ) void ScMarkData::SelectTable( SCTAB nTab, bool bNew ) { - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& vMark(GetSheetsMark()); - if ( bNew ) { maTabMarked.insert( nTab ); - - for (auto &a : vMark) - if (a[0].first == nTab) - SetMarkArea(a[0].second); } else { maTabMarked.erase( nTab ); - if (IsMarked()) - ResetMark(); } } @@ -631,9 +623,6 @@ bool ScMarkData::HasAnyMultiMarks() const void ScMarkData::InsertTab( SCTAB nTab ) { - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& vMark(GetSheetsMark()); - std::vector<std::pair<SCTAB, ScRange>> tempVect; - std::set<SCTAB> tabMarked; for (const auto& rTab : maTabMarked) { @@ -643,29 +632,10 @@ void ScMarkData::InsertTab( SCTAB nTab ) tabMarked.insert(rTab + 1); } maTabMarked.swap(tabMarked); - - ScRange emptScRange; - // update sheets mark after insert - for (size_t i=0; i<vMark.size(); i++) - { - if (vMark[i][0].first == nTab) - { - for (size_t k=nTab; k<vMark.size(); k++) - vMark[k][0].first++; - - tempVect.emplace_back(i, emptScRange); - vMark.emplace(vMark.begin()+i, tempVect); - break; - } - } - if (IsMarked()) - ResetMark(); } void ScMarkData::DeleteTab( SCTAB nTab ) { - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& vMark(GetSheetsMark()); - std::set<SCTAB> tabMarked; for (const auto& rTab : maTabMarked) { @@ -675,12 +645,6 @@ void ScMarkData::DeleteTab( SCTAB nTab ) tabMarked.insert(rTab - 1); } maTabMarked.swap(tabMarked); - - if (!vMark.empty()) - vMark.clear(); - - if (IsMarked()) - ResetMark(); } void ScMarkData::ShiftCols(const ScDocument& rDoc, SCCOL nStartCol, sal_Int32 nColOffset) diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx index b5ca9b40d521..91754ed4cf83 100644 --- a/sc/source/ui/view/tabview2.cxx +++ b/sc/source/ui/view/tabview2.cxx @@ -595,44 +595,6 @@ void ScTabView::MarkCursor( SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, if ( !bCols && !bRows ) aHdrFunc.SetAnchorFlag( false ); - - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& vMark(rMark.GetSheetsMark()); - std::vector<std::pair<SCTAB, ScRange>> tempVect; - - bool bFound = false; - for (size_t i=0; i<vMark.size(); i++) - { - if (vMark[i][0].first == nCurZ) - { - vMark[i][0].second = aMarkRange; - bFound = true; - break; - } - } - - if (!bFound) - { - tempVect.emplace_back(nCurZ, aMarkRange); - vMark.emplace_back(tempVect); - } - - // Sorting sheets - if (vMark.size() > 2) - { - for (size_t k=0; k<vMark.size()-1; k++) - { - auto rFirst = vMark[k]; - for (size_t j=k; j<vMark.size(); j++) - { - auto rSecond = vMark[j]; - if (rSecond[0].first < rFirst[0].first) - { - vMark[k] = rSecond; - vMark[j] = rFirst; - } - } - } - } } void ScTabView::GetPageMoveEndPosition(SCCOL nMovX, SCROW nMovY, SCCOL& rPageX, SCROW& rPageY) diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index c6ed2d5519c7..feb8fde51fb6 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -940,8 +940,6 @@ void ScViewData::DeleteTabs( SCTAB nTab, SCTAB nSheets ) void ScViewData::CopyTab( SCTAB nSrcTab, SCTAB nDestTab ) { - std::vector<std::vector<std::pair<SCTAB, ScRange>>>& vMark(maMarkData.GetSheetsMark()); - if (nDestTab==SC_TAB_APPEND) nDestTab = mrDoc.GetTableCount() - 1; // something had to have been copied @@ -963,10 +961,6 @@ void ScViewData::CopyTab( SCTAB nSrcTab, SCTAB nDestTab ) UpdateCurrentTab(); maMarkData.InsertTab(nDestTab); - - if (!vMark.empty()) - vMark.clear(); - } void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab )