diff options
Diffstat (limited to 'sc/source/ui/view')
-rw-r--r-- | sc/source/ui/view/dbfunc3.cxx | 7 | ||||
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 5 | ||||
-rw-r--r-- | sc/source/ui/view/gridwin4.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/view/tabview4.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/view/tabview5.cxx | 3 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwsh4.cxx | 15 | ||||
-rw-r--r-- | sc/source/ui/view/tabvwshc.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/view/viewfun2.cxx | 4 | ||||
-rw-r--r-- | sc/source/ui/view/viewfunc.cxx | 17 |
9 files changed, 30 insertions, 41 deletions
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index fc849c2ba8c0..d1f57b46dead 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -105,7 +105,7 @@ void ScDBFunc::MakeOutline( bool bColumns, bool bRecord ) ScOutlineDocFunc aFunc(*pDocSh); aFunc.MakeOutline( aRange, bColumns, bRecord, false ); - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), bColumns ? COLUMN_HEADER : ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(bColumns, GetViewData().GetTabNo()); } else ErrorMessage(STR_NOMULTISELECT); @@ -122,7 +122,7 @@ void ScDBFunc::RemoveOutline( bool bColumns, bool bRecord ) ScOutlineDocFunc aFunc(*pDocSh); aFunc.RemoveOutline( aRange, bColumns, bRecord, false ); - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), bColumns ? COLUMN_HEADER : ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(bColumns, GetViewData().GetTabNo()); } else ErrorMessage(STR_NOMULTISELECT); @@ -2253,12 +2253,11 @@ void ScDBFunc::OnLOKShowHideColRow(bool bColumns, SCCOLROW nStart) return; SCTAB nCurrentTabIndex = GetViewData().GetTabNo(); - SfxViewShell* pThisViewShell = GetViewData().GetViewShell(); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pTabViewShell->GetDocId() == pThisViewShell->GetDocId()) + if (pTabViewShell) { if (bColumns) pTabViewShell->GetViewData().GetLOKWidthHelper(nCurrentTabIndex)->invalidateByIndex(nStart); diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index c0e437b8f98d..6e8cfc680e47 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -825,7 +825,7 @@ void ScGridWindow::UpdateAutoFilterFromMenu(AutoFilterMode eMode) // Something went terribly wrong! return; - if (ScTabViewShell::isAnyEditViewInRange(pViewData->GetViewShell(), /*bColumns*/ false, aParam.nRow1, aParam.nRow2)) + if (ScTabViewShell::isAnyEditViewInRange(/*bColumns*/ false, aParam.nRow1, aParam.nRow2)) return; pEntry->bDoQuery = true; @@ -5733,9 +5733,6 @@ void ScGridWindow::notifyKitCellViewCursor(const SfxViewShell* pForShell) const { ScTabViewShell* pViewShell = pViewData->GetViewShell(); - if (pViewShell->GetDocId() != pForShell->GetDocId()) - return; - OString aCursor("EMPTY"); if (mpOOCursors) // cf. getCellCursor above { diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 80739983cf80..065f56bf1591 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -336,7 +336,7 @@ void ScGridWindow::InvalidateLOKViewCursor(const tools::Rectangle& rCursorRect, while (pViewShell) { - if (pViewShell != pThisViewShell && pViewShell->GetDocId() == pThisViewShell->GetDocId()) + if (pViewShell != pThisViewShell) { ScTabViewShell* pOtherViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); if (pOtherViewShell) @@ -955,7 +955,7 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableI while (pViewShell) { - if (pViewShell != pThisViewShell && pViewShell->GetDocId() == pThisViewShell->GetDocId()) + if (pViewShell != pThisViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); if (pTabViewShell) diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx index a8051c7e8128..2efc0ef197ca 100644 --- a/sc/source/ui/view/tabview4.cxx +++ b/sc/source/ui/view/tabview4.cxx @@ -392,7 +392,7 @@ static long lcl_GetScrollRange( SCCOLROW nDocEnd, SCCOLROW nPos, SCCOLROW nVis, void ScTabView::UpdateScrollBars( HeaderType eHeaderType ) { - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), eHeaderType, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(eHeaderType, GetViewData().GetTabNo()); long nDiff; bool bTop = ( aViewData.GetVSplitMode() != SC_SPLIT_NONE ); diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx index abf8a1e8ccb4..b8736dd6d6e5 100644 --- a/sc/source/ui/view/tabview5.cxx +++ b/sc/source/ui/view/tabview5.cxx @@ -677,12 +677,11 @@ void ScTabView::OnLOKNoteStateChanged(const ScPostIt* pNote) aInvalidRect.AdjustTop( -nBorderSize ); aInvalidRect.AdjustBottom( nBorderSize ); - SfxViewShell* pCurrentViewShell = SfxViewShell::Current(); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pViewShell->GetDocId() == pCurrentViewShell->GetDocId()) + if (pTabViewShell) { for (auto& pWin: pTabViewShell->pGridWin) { diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index afbe40780c3f..ec912c115848 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -1,4 +1,4 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * @@ -141,11 +141,6 @@ void ScTabViewShell::Activate(bool bMDI) SfxViewShell* pSh = SfxViewShell::GetFirst( true, checkSfxViewShell<ScTabViewShell> ); while ( pSh!=nullptr && pOldHdl!=nullptr) { - // Hmm, what if pSh is a shell for a different document? But as this code - // does not seem to be LibreOfficeKit-specific, probably that doesn't - // happen, because having multiple documents open simultaneously has of - // course not been a problem at all in traditional desktop LibreOffice. - // (Unlike in a LibreOfficeKit-based process where it has been a problem.) if (static_cast<ScTabViewShell*>(pSh)->GetInputHandler() == pOldHdl) { pOldHdl->ResetDelayTimer(); @@ -1721,12 +1716,8 @@ ScTabViewShell::ScTabViewShell( SfxViewFrame* pViewFrame, // have we already one view ? if (pViewShell) { - // this view is not yet visible at this stage, so we look for not visible views, too, for this same document - SfxViewShell* pViewShell2 = pViewShell; - do - { - pViewShell2 = SfxViewShell::GetNext(*pViewShell2, /*only visible shells*/ false); - } while (pViewShell2 && pViewShell2->GetDocId() != pViewShell->GetDocId()); + // this view is not yet visible at this stage, so we look for not visible views, too + SfxViewShell* pViewShell2 = SfxViewShell::GetNext(*pViewShell, /*only visible shells*/ false); // if the second view is not this one, it means that there is // already more than one active view and so the formula mode // has already been disabled diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx index aba771e1035a..1f0cd9bf737b 100644 --- a/sc/source/ui/view/tabvwshc.cxx +++ b/sc/source/ui/view/tabvwshc.cxx @@ -572,7 +572,7 @@ css::uno::Reference<css::datatransfer::XTransferable2> ScTabViewShell::GetClipDa return xTransferable; } -void ScTabViewShell::notifyAllViewsHeaderInvalidation(SfxViewShell* pForViewShell, HeaderType eHeaderType, SCTAB nCurrentTabIndex) +void ScTabViewShell::notifyAllViewsHeaderInvalidation(HeaderType eHeaderType, SCTAB nCurrentTabIndex) { if (comphelper::LibreOfficeKit::isActive()) { @@ -595,7 +595,7 @@ void ScTabViewShell::notifyAllViewsHeaderInvalidation(SfxViewShell* pForViewShel while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pViewShell->GetDocId() == pForViewShell->GetDocId() && (nCurrentTabIndex == -1 || pTabViewShell->getPart() == nCurrentTabIndex)) + if (pTabViewShell && (nCurrentTabIndex == -1 || pTabViewShell->getPart() == nCurrentTabIndex)) { pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_INVALIDATE_HEADER, aPayload.getStr()); } @@ -604,7 +604,13 @@ void ScTabViewShell::notifyAllViewsHeaderInvalidation(SfxViewShell* pForViewShel } } -bool ScTabViewShell::isAnyEditViewInRange(SfxViewShell* pForViewShell, bool bColumns, SCCOLROW nStart, SCCOLROW nEnd) +void ScTabViewShell::notifyAllViewsHeaderInvalidation(bool bColumns, SCTAB nCurrentTabIndex) +{ + HeaderType eHeaderType = bColumns ? COLUMN_HEADER : ROW_HEADER; + ScTabViewShell::notifyAllViewsHeaderInvalidation(eHeaderType, nCurrentTabIndex); +} + +bool ScTabViewShell::isAnyEditViewInRange(bool bColumns, SCCOLROW nStart, SCCOLROW nEnd) { if (comphelper::LibreOfficeKit::isActive()) { @@ -612,7 +618,7 @@ bool ScTabViewShell::isAnyEditViewInRange(SfxViewShell* pForViewShell, bool bCol while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pTabViewShell->GetDocId() == pForViewShell->GetDocId()) + if (pTabViewShell) { ScInputHandler* pInputHandler = pTabViewShell->GetInputHandler(); if (pInputHandler && pInputHandler->GetActiveView()) diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index aa4f05844693..1b948b916746 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -170,7 +170,7 @@ bool ScViewFunc::AdjustBlockHeight( bool bPaint, ScMarkData* pMarkData ) pDocSh->UpdateOle(&GetViewData()); if (comphelper::LibreOfficeKit::isActive()) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(ROW_HEADER, GetViewData().GetTabNo()); return bAnyChanged; } @@ -219,7 +219,7 @@ bool ScViewFunc::AdjustRowHeight( SCROW nStartRow, SCROW nEndRow ) PaintPartFlags::Grid | PaintPartFlags::Left ); if (comphelper::LibreOfficeKit::isActive()) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(ROW_HEADER, GetViewData().GetTabNo()); return bChanged; } diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index bed9550e77b1..a0e1185a6d3f 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -1481,12 +1481,11 @@ void ScViewFunc::OnLOKInsertDeleteColumn(SCCOL nStartCol, long nOffset) return; SCTAB nCurrentTabIndex = GetViewData().GetTabNo(); - SfxViewShell* pCurrentViewShell = GetViewData().GetViewShell(); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pTabViewShell->GetDocId() == pCurrentViewShell->GetDocId()) + if (pTabViewShell) { pTabViewShell->GetViewData().GetLOKWidthHelper(nCurrentTabIndex)->invalidateByIndex(nStartCol); @@ -1537,12 +1536,11 @@ void ScViewFunc::OnLOKInsertDeleteRow(SCROW nStartRow, long nOffset) return; SCTAB nCurrentTabIndex = GetViewData().GetTabNo(); - SfxViewShell* pCurrentViewShell = GetViewData().GetViewShell(); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pTabViewShell->GetDocId() == pCurrentViewShell->GetDocId()) + if (pTabViewShell) { pTabViewShell->GetViewData().GetLOKHeightHelper(nCurrentTabIndex)->invalidateByIndex(nStartRow); @@ -1593,12 +1591,11 @@ void ScViewFunc::OnLOKSetWidthOrHeight(SCCOLROW nStart, bool bWidth) return; SCTAB nCurTab = GetViewData().GetTabNo(); - SfxViewShell* pCurrentViewShell = GetViewData().GetViewShell(); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { ScTabViewShell* pTabViewShell = dynamic_cast<ScTabViewShell*>(pViewShell); - if (pTabViewShell && pTabViewShell->GetDocId() == pCurrentViewShell->GetDocId()) + if (pTabViewShell) { if (bWidth) pTabViewShell->GetViewData().GetLOKWidthHelper(nCurTab)->invalidateByIndex(nStart); @@ -1639,10 +1636,10 @@ bool ScViewFunc::InsertCells( InsCellCmd eCmd, bool bRecord, bool bPartOfPaste ) if (comphelper::LibreOfficeKit::isActive()) { if (bInsertCols) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), COLUMN_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(COLUMN_HEADER, GetViewData().GetTabNo()); if (bInsertRows) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(ROW_HEADER, GetViewData().GetTabNo()); } } return bSuccess; @@ -1714,10 +1711,10 @@ void ScViewFunc::DeleteCells( DelCellCmd eCmd ) if (comphelper::LibreOfficeKit::isActive()) { if (eCmd == DelCellCmd::Cols) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), COLUMN_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(COLUMN_HEADER, GetViewData().GetTabNo()); if (eCmd == DelCellCmd::Rows) - ScTabViewShell::notifyAllViewsHeaderInvalidation(GetViewData().GetViewShell(), ROW_HEADER, GetViewData().GetTabNo()); + ScTabViewShell::notifyAllViewsHeaderInvalidation(ROW_HEADER, GetViewData().GetTabNo()); } } else |