diff options
author | Arkadiy Illarionov <qarkai@gmail.com> | 2018-12-22 19:54:56 +0300 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-12-25 18:36:29 +0100 |
commit | 48b35ed43db87d21a943e66cfa4f59213dcfe3a1 (patch) | |
tree | 1352839eee90888fa987baec1887b4d3f5414cc5 /sc | |
parent | 68259f3663ba61a5f15f04793ac32a200100a8a5 (diff) |
Simplify containers iterations in sc/source/ui/{view,xmlsource}
Use range-based loop or replace with STL functions
Change-Id: I5604325cd25c099d3b5580956417620f298faa1e
Reviewed-on: https://gerrit.libreoffice.org/65572
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc')
25 files changed, 223 insertions, 344 deletions
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx index 13b9e546c579..26880e181969 100644 --- a/sc/source/ui/view/cellsh.cxx +++ b/sc/source/ui/view/cellsh.cxx @@ -1061,13 +1061,12 @@ void ScCellShell::GetState(SfxItemSet &rSet) ScRangeList aRanges = *aRangesRef; std::vector<sc::NoteEntry> aNotes; pDoc->GetNotesInRange(aRanges, aNotes); - for(std::vector<sc::NoteEntry>::const_iterator itr = aNotes.begin(), - itrEnd = aNotes.end(); itr != itrEnd; ++itr) + for(const auto& rNote : aNotes) { - const ScAddress& rAdr = itr->maPos; + const ScAddress& rAdr = rNote.maPos; if( pDoc->IsBlockEditable( rAdr.Tab(), rAdr.Col(), rAdr.Row(), rAdr.Col(), rAdr.Row() )) { - if (itr->mpNote->IsCaptionShown() != bSearchForHidden) + if (rNote.mpNote->IsCaptionShown() != bSearchForHidden) { bEnable = true; break; diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 0005ae903d63..5ad819c34da8 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -1966,11 +1966,10 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) bool bContainsExistingCondFormat = false; if(bContainsCondFormat) { - for (std::vector<sal_uInt32>::const_iterator itr = rCondFormats.begin(), itrEnd = rCondFormats.end(); - itr != itrEnd; ++itr) + for (const auto& rCondFormat : rCondFormats) { // check if at least one existing conditional format has the same range - pCondFormat = pList->GetFormat(*itr); + pCondFormat = pList->GetFormat(rCondFormat); if(!pCondFormat) continue; @@ -2176,10 +2175,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) if (!aNames.empty()) { OUStringBuffer aBuffer; - for (std::vector<OUString>::const_iterator itr = aNames.begin(); - itr != aNames.end(); ++itr) + for (const auto& rName : aNames) { - aBuffer.append(*itr).append(' '); + aBuffer.append(rName).append(' '); } pHdl->InsertFunction( aBuffer.makeStringAndClear(), false ); // without "()" } @@ -2373,10 +2371,9 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) OUString aUndo = ScResId( bShowNote ? STR_UNDO_SHOWALLNOTES : STR_UNDO_HIDEALLNOTES ); pData->GetDocShell()->GetUndoManager()->EnterListAction( aUndo, aUndo, 0, pData->GetViewShell()->GetViewShellId() ); - for(std::vector<sc::NoteEntry>::const_iterator itr = aNotes.begin(), - itrEnd = aNotes.end(); itr != itrEnd; ++itr) + for(const auto& rNote : aNotes) { - const ScAddress& rAdr = itr->maPos; + const ScAddress& rAdr = rNote.maPos; pData->GetDocShell()->GetDocFunc().ShowNote( rAdr, bShowNote ); } diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx index 41343911fe3f..f827a032e1c2 100644 --- a/sc/source/ui/view/cellsh2.cxx +++ b/sc/source/ui/view/cellsh2.cxx @@ -727,9 +727,8 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq ) { std::vector<OUString> aList; const ScDBCollection::NamedDBs& rDBs = pDBCol->getNamedDBs(); - ScDBCollection::NamedDBs::const_iterator itr = rDBs.begin(), itrEnd = rDBs.end(); - for (; itr != itrEnd; ++itr) - aList.push_back((*itr)->GetName()); + for (const auto& rxDB : rDBs) + aList.push_back(rxDB->GetName()); ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx index 21d642cb3cac..89d6f95b7f4f 100644 --- a/sc/source/ui/view/cliputil.cxx +++ b/sc/source/ui/view/cliputil.cxx @@ -101,11 +101,10 @@ bool ScClipUtil::CheckDestRanges( { ScRange aTest = rDest[i]; // Check for filtered rows in all selected sheets. - ScMarkData::const_iterator itrTab = rMark.begin(), itrTabEnd = rMark.end(); - for (; itrTab != itrTabEnd; ++itrTab) + for (const auto& rTab : rMark) { - aTest.aStart.SetTab(*itrTab); - aTest.aEnd.SetTab(*itrTab); + aTest.aStart.SetTab(rTab); + aTest.aEnd.SetTab(rTab); if (ScViewUtil::HasFiltered(aTest, pDoc)) { // I don't know how to handle pasting into filtered rows yet. diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index d1f57b46dead..92e288f3179b 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -1119,10 +1119,8 @@ void ScDBFunc::GroupDataPilot() // (empty groups are removed, too) if ( pGroupDimension ) { - ScDPUniqueStringSet::const_iterator it = aEntries.begin(), itEnd = aEntries.end(); - for (; it != itEnd; ++it) + for (const OUString& aEntryName : aEntries) { - const OUString& aEntryName = *it; if ( pBaseGroupDim ) { // for each selected (intermediate) group, remove all its items @@ -1176,10 +1174,8 @@ void ScDBFunc::GroupDataPilot() OUString aGroupName = pGroupDimension->CreateGroupName(ScResId(STR_PIVOT_GROUP)); ScDPSaveGroupItem aGroup( aGroupName ); - ScDPUniqueStringSet::const_iterator it = aEntries.begin(), itEnd = aEntries.end(); - for (; it != itEnd; ++it) + for (const OUString& aEntryName : aEntries) { - const OUString& aEntryName = *it; if ( pBaseGroupDim ) { // for each selected (intermediate) group, add all its items @@ -1259,9 +1255,8 @@ void ScDBFunc::UngroupDataPilot() if ( pGroupDim ) { - ScDPUniqueStringSet::const_iterator it = aEntries.begin(), itEnd = aEntries.end(); - for (; it != itEnd; ++it) - pGroupDim->RemoveGroup(*it); + for (const auto& rEntry : aEntries) + pGroupDim->RemoveGroup(rEntry); // remove group dimension if empty bool bEmptyDim = pGroupDim->IsEmpty(); @@ -1681,10 +1676,8 @@ void ScDBFunc::DataPilotSort(ScDPObject* pDPObj, long nDimIndex, bool bAscending vector<OUString> aMembers; std::unordered_set<OUString> aMemberSet; size_t nMemberCount = 0; - for (MemList::const_iterator itr = rDimMembers.begin(), itrEnd = rDimMembers.end(); - itr != itrEnd; ++itr) + for (ScDPSaveMember* pMem : rDimMembers) { - ScDPSaveMember* pMem = *itr; aMembers.push_back(pMem->GetName()); aMemberSet.insert(pMem->GetName()); ++nMemberCount; @@ -1834,9 +1827,8 @@ bool ScDBFunc::DataPilotMove( const ScRange& rSource, const ScAddress& rDest ) if ( !bInserted && aMemberNames[nMemberPos] == aDestData.MemberName ) { // insert dragged items before this item - for ( std::vector<OUString>::const_iterator aIter = aMembersVector.begin(); - aIter != aMembersVector.end(); ++aIter ) - lcl_MoveToEnd( *pDim, *aIter ); + for ( const auto& rMember : aMembersVector ) + lcl_MoveToEnd( *pDim, rMember ); bInserted = true; } @@ -1845,9 +1837,8 @@ bool ScDBFunc::DataPilotMove( const ScRange& rSource, const ScAddress& rDest ) } // insert dragged item at end if dest wasn't found (for example, empty) if ( !bInserted ) - for ( std::vector<OUString>::const_iterator aIter = aMembersVector.begin(); - aIter != aMembersVector.end(); ++aIter ) - lcl_MoveToEnd( *pDim, *aIter ); + for ( const auto& rMember : aMembersVector ) + lcl_MoveToEnd( *pDim, rMember ); // Items that were in SaveData, but not in the source, end up at the start of the list. @@ -1969,19 +1960,16 @@ void ScDBFunc::SetDataPilotDetails(bool bShow, const OUString* pNewDimensionName ScDPUniqueStringSet aVisibleEntries; pDPObj->GetMemberResultNames( aVisibleEntries, nSelectDimension ); - ScDPUniqueStringSet::const_iterator it = aVisibleEntries.begin(), itEnd = aVisibleEntries.end(); - for (; it != itEnd; ++it) + for (const OUString& aVisName : aVisibleEntries) { - const OUString& aVisName = *it; ScDPSaveMember* pMember = pDim->GetMemberByName( aVisName ); pMember->SetShowDetails( false ); } } - ScDPUniqueStringSet::const_iterator it = aEntries.begin(), itEnd = aEntries.end(); - for (; it != itEnd; ++it) + for (const auto& rEntry : aEntries) { - ScDPSaveMember* pMember = pDim->GetMemberByName(*it); + ScDPSaveMember* pMember = pDim->GetMemberByName(rEntry); pMember->SetShowDetails( bShow ); } diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx index 7eb67508d795..062edabb33eb 100644 --- a/sc/source/ui/view/drawvie4.cxx +++ b/sc/source/ui/view/drawvie4.cxx @@ -254,17 +254,16 @@ void getOleSourceRanges(const SdrMarkList& rMarkList, bool& rAnyOle, bool& rOneO return; // Compile all range representation strings into ranges. - std::vector<OUString>::const_iterator it = aRangeReps.begin(), itEnd = aRangeReps.end(); - for (; it != itEnd; ++it) + for (const auto& rRangeRep : aRangeReps) { ScRangeList aRange; ScAddress aAddr; - if (aRange.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) + if (aRange.Parse(rRangeRep, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) { for(size_t i = 0; i < aRange.size(); ++i) pRanges->push_back(aRange[i]); } - else if (aAddr.Parse(*it, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) + else if (aAddr.Parse(rRangeRep, pDoc, pDoc->GetAddressConvention()) & ScRefFlags::VALID) pRanges->push_back(aAddr); } diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx index ecef90136b04..b06f3f7605a2 100644 --- a/sc/source/ui/view/editsh.cxx +++ b/sc/source/ui/view/editsh.cxx @@ -476,10 +476,9 @@ void ScEditShell::Execute( SfxRequest& rReq ) if (!aNames.empty()) { OUStringBuffer aBuffer; - for (std::vector<OUString>::const_iterator itr = aNames.begin(); - itr != aNames.end(); ++itr) + for (const auto& rName : aNames) { - aBuffer.append(*itr).append(' '); + aBuffer.append(rName).append(' '); } pTableView->InsertText(aBuffer.toString()); if (pTopView) diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx index 37b2c863751d..e3c560a4661e 100644 --- a/sc/source/ui/view/formatsh.cxx +++ b/sc/source/ui/view/formatsh.cxx @@ -703,17 +703,18 @@ void ScFormatShell::ExecuteStyle( SfxRequest& rReq ) { std::unique_ptr<ScUndoApplyPageStyle> pUndoAction; SCTAB nTabCount = rDoc.GetTableCount(); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd && *itr < nTabCount; ++itr) + for (const auto& rTab : rMark) { - OUString aOldName = rDoc.GetPageStyle( *itr ); + if (rTab >= nTabCount) + break; + OUString aOldName = rDoc.GetPageStyle( rTab ); if ( aOldName != aStyleName ) { - rDoc.SetPageStyle( *itr, aStyleName ); - ScPrintFunc( pDocSh, pTabViewShell->GetPrinter(true), *itr ).UpdatePages(); + rDoc.SetPageStyle( rTab, aStyleName ); + ScPrintFunc( pDocSh, pTabViewShell->GetPrinter(true), rTab ).UpdatePages(); if( !pUndoAction ) pUndoAction.reset(new ScUndoApplyPageStyle( pDocSh, aStyleName )); - pUndoAction->AddSheetAction( *itr, aOldName ); + pUndoAction->AddSheetAction( rTab, aOldName ); } } if( pUndoAction ) diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index ab30657d4482..a1a2c6049379 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -684,15 +684,14 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow) mpAutoFilterPopup->setHasDates(aFilterEntries.mbHasDates); mpAutoFilterPopup->setMemberSize(aFilterEntries.size()); - std::vector<ScTypedStrData>::const_iterator it = aFilterEntries.begin(), itEnd = aFilterEntries.end(); - for (; it != itEnd; ++it) + for (const auto& rEntry : aFilterEntries) { - const OUString& aVal = it->GetString(); + const OUString& aVal = rEntry.GetString(); bool bSelected = true; if (!aSelected.empty()) bSelected = aSelected.count(aVal) > 0; - if ( it->IsDate() ) - mpAutoFilterPopup->addDateMember( aVal, it->GetValue(), bSelected ); + if ( rEntry.IsDate() ) + mpAutoFilterPopup->addDateMember( aVal, rEntry.GetValue(), bSelected ); else mpAutoFilterPopup->addMember(aVal, bSelected); } @@ -1134,9 +1133,8 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow ) if (bWait) EnterWait(); - std::vector<ScTypedStrData>::const_iterator it = aStrings.begin(), itEnd = aStrings.end(); - for (; it != itEnd; ++it) - mpFilterBox->InsertEntry(it->GetString()); + for (const auto& rString : aStrings) + mpFilterBox->InsertEntry(rString.GetString()); if (bWait) LeaveWait(); @@ -1162,26 +1160,9 @@ void ScGridWindow::LaunchDataSelectMenu( SCCOL nCol, SCROW nRow ) else pNew.reset(new ScTypedStrData(aDocStr, 0.0, ScTypedStrData::Standard)); - bool bSortList = ( pData->GetListType() == css::sheet::TableValidationVisibility::SORTEDASCENDING); - if ( bSortList ) - { - std::vector<ScTypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end(); - std::vector<ScTypedStrData>::const_iterator it = - std::find_if(itBeg, itEnd, FindTypedStrData(*pNew, true)); - if (it != itEnd) - // Found! - nSelPos = std::distance(itBeg, it); - } - else - { - std::vector<ScTypedStrData>::const_iterator itBeg = aStrings.begin(), itEnd = aStrings.end(); - std::vector<ScTypedStrData>::const_iterator it = itBeg; - for (; it != itEnd && LISTBOX_ENTRY_NOTFOUND == nSelPos; ++it) - { - if (ScTypedStrData::EqualCaseSensitive()(*it, *pNew)) - nSelPos = std::distance(itBeg, it); - } - } + auto it = std::find_if(aStrings.begin(), aStrings.end(), FindTypedStrData(*pNew, true)); + if (it != aStrings.end()) + nSelPos = static_cast<sal_Int32>(std::distance(aStrings.begin(), it)); } } diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx index 8f3ae51260de..5a00f4b51c51 100644 --- a/sc/source/ui/view/gridwin2.cxx +++ b/sc/source/ui/view/gridwin2.cxx @@ -560,33 +560,31 @@ void ScGridWindow::UpdateDPFromFieldPopupMenu() // Build a map of layout names to original names. const ScDPLabelData& rLabelData = pDPData->maLabels; MemNameMapType aMemNameMap; - for (vector<ScDPLabelData::Member>::const_iterator itr = rLabelData.maMembers.begin(), itrEnd = rLabelData.maMembers.end(); - itr != itrEnd; ++itr) - aMemNameMap.emplace(itr->maLayoutName, itr->maName); + for (const auto& rMember : rLabelData.maMembers) + aMemNameMap.emplace(rMember.maLayoutName, rMember.maName); // The raw result may contain a mixture of layout names and original names. ScCheckListMenuWindow::ResultType aRawResult; mpDPFieldPopup->getResult(aRawResult); std::unordered_map<OUString, bool> aResult; - ScCheckListMenuWindow::ResultType::const_iterator itr = aRawResult.begin(), itrEnd = aRawResult.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rItem : aRawResult) { - MemNameMapType::const_iterator itrNameMap = aMemNameMap.find(itr->aName); + MemNameMapType::const_iterator itrNameMap = aMemNameMap.find(rItem.aName); if (itrNameMap == aMemNameMap.end()) { // This is an original member name. Use it as-is. - OUString aName = itr->aName; + OUString aName = rItem.aName; if (aName == ScResId(STR_EMPTYDATA)) // Translate the special empty name into an empty string. aName.clear(); - aResult.emplace(aName, itr->bValid); + aResult.emplace(aName, rItem.bValid); } else { // This is a layout name. Get the original member name and use it. - aResult.emplace(itrNameMap->second, itr->bValid); + aResult.emplace(itrNameMap->second, rItem.bValid); } } pDim->UpdateMemberVisibility(aResult); diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 99329375b2c2..39544d08c5dd 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -259,16 +259,15 @@ static void lcl_DrawHighlight( ScOutputData& rOutputData, const ScViewData* pVie const std::vector<ScHighlightEntry>& rHighlightRanges ) { SCTAB nTab = pViewData->GetTabNo(); - std::vector<ScHighlightEntry>::const_iterator pIter; - for ( pIter = rHighlightRanges.begin(); pIter != rHighlightRanges.end(); ++pIter) + for ( const auto& rHighlightRange : rHighlightRanges) { - ScRange aRange = pIter->aRef; + ScRange aRange = rHighlightRange.aRef; if ( nTab >= aRange.aStart.Tab() && nTab <= aRange.aEnd.Tab() ) { rOutputData.DrawRefMark( aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row(), - pIter->aColor, false ); + rHighlightRange.aColor, false ); } } } diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index 9a1652834d9c..808aae367f94 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -2186,9 +2186,8 @@ static void lcl_ScaleFonts( EditEngine& rEngine, long nPercent ) rEngine.GetPortions( nPar, aPortions ); sal_Int32 nStart = 0; - for ( std::vector<sal_Int32>::const_iterator it(aPortions.begin()); it != aPortions.end(); ++it ) + for ( const sal_Int32 nEnd : aPortions ) { - sal_Int32 nEnd = *it; ESelection aSel( nPar, nStart, nPar, nEnd ); SfxItemSet aAttribs = rEngine.GetAttribs( aSel ); diff --git a/sc/source/ui/view/pfuncache.cxx b/sc/source/ui/view/pfuncache.cxx index c738d4920f79..3f61a68b2960 100644 --- a/sc/source/ui/view/pfuncache.cxx +++ b/sc/source/ui/view/pfuncache.cxx @@ -96,10 +96,10 @@ void ScPrintFuncCache::InitLocations( const ScMarkData& rMark, OutputDevice* pDe ScDocument& rDoc = pDocSh->GetDocument(); SCTAB nTabCount = rDoc.GetTableCount(); - ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd && (*itr) < nTabCount; ++itr) + for (SCTAB nTab : rMark) { - SCTAB nTab = *itr; + if (nTab >= nTabCount) + break; ScPrintFunc aFunc( pDev, pDocSh, nTab, nFirstAttr[nTab], nTotalPages, pSelRange, &aSelection.GetOptions() ); aFunc.SetRenderFlag( true ); @@ -131,14 +131,12 @@ void ScPrintFuncCache::InitLocations( const ScMarkData& rMark, OutputDevice* pDe bool ScPrintFuncCache::FindLocation( const ScAddress& rCell, ScPrintPageLocation& rLocation ) const { - for ( std::vector<ScPrintPageLocation>::const_iterator aIter(aLocations.begin()), aEnd(aLocations.end()); - aIter != aEnd; ++aIter ) + auto aIter = std::find_if(aLocations.begin(), aLocations.end(), + [&rCell](const ScPrintPageLocation& rLoc) { return rLoc.aCellRange.In(rCell); }); + if (aIter != aLocations.end()) { - if ( aIter->aCellRange.In( rCell ) ) - { - rLocation = *aIter; - return true; - } + rLocation = *aIter; + return true; } return false; // not found } diff --git a/sc/source/ui/view/scextopt.cxx b/sc/source/ui/view/scextopt.cxx index 8bf3e0c173d6..38b08bd58545 100644 --- a/sc/source/ui/view/scextopt.cxx +++ b/sc/source/ui/view/scextopt.cxx @@ -113,8 +113,8 @@ SCTAB ScExtTabSettingsCont::GetLastTab() const void ScExtTabSettingsCont::CopyFromMap( const ScExtTabSettingsMap& rMap ) { maMap.clear(); - for( ScExtTabSettingsMap::const_iterator aIt = rMap.begin(), aEnd = rMap.end(); aIt != aEnd; ++aIt ) - maMap[ aIt->first ].reset( new ScExtTabSettings( *aIt->second ) ); + for( const auto& [rTab, rxSettings] : rMap ) + maMap[ rTab ].reset( new ScExtTabSettings( *rxSettings ) ); } /** Implementation struct for ScExtDocOptions containing all members. */ diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx index f46080430263..da0d5d0f1e4e 100644 --- a/sc/source/ui/view/spelldialog.cxx +++ b/sc/source/ui/view/spelldialog.cxx @@ -225,13 +225,12 @@ void ScSpellDialogChildWindow::Init() if ( rMarkData.GetSelectCount() > 1 ) { - ScMarkData::iterator itr = rMarkData.begin(), itrEnd = rMarkData.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMarkData) { - if( *itr != nTab ) + if( rTab != nTab ) { - mxUndoDoc->AddUndoTab( *itr, *itr ); - mxRedoDoc->AddUndoTab( *itr, *itr ); + mxUndoDoc->AddUndoTab( rTab, rTab ); + mxRedoDoc->AddUndoTab( rTab, rTab ); } } } diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 696ca8babcf1..e12565ddf741 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -1579,16 +1579,8 @@ void ScTabViewShell::Construct( TriState nForceDesignMode ) if ( pDBColl ) { const ScDBCollection::NamedDBs& rDBs = pDBColl->getNamedDBs(); - ScDBCollection::NamedDBs::const_iterator itr = rDBs.begin(), itrEnd = rDBs.end(); - for (; itr != itrEnd; ++itr) - { - if ((*itr)->IsStripData() && (*itr)->HasImportParam() - && !(*itr)->HasImportSelection()) - { - bReImport = true; - break; - } - } + bReImport = std::any_of(rDBs.begin(), rDBs.end(), + [](const std::unique_ptr<ScDBData>& rxDB) { return rxDB->IsStripData() && rxDB->HasImportParam() && !rxDB->HasImportSelection(); }); } if (bReImport) { diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx index 85f7dba8d8ca..ad2bf5a57a77 100644 --- a/sc/source/ui/view/tabvwshc.cxx +++ b/sc/source/ui/view/tabvwshc.cxx @@ -648,23 +648,28 @@ bool ScTabViewShell::UseSubTotal(ScRangeList* pRangeList) ++nRangeIndex; } - const ScDBCollection::NamedDBs& rDBs = pDoc->GetDBCollection()->getNamedDBs(); - ScDBCollection::NamedDBs::const_iterator itr = rDBs.begin(), itrEnd = rDBs.end(); - for (; !bSubTotal && itr != itrEnd; ++itr) + if (!bSubTotal) { - const ScDBData& rDB = **itr; - if (!rDB.HasAutoFilter()) - continue; - - nRangeIndex = 0; - while (!bSubTotal && nRangeIndex < nRangeCount) - { - const ScRange & rRange = (*pRangeList)[nRangeIndex]; - ScRange aDBArea; - rDB.GetArea(aDBArea); - if (aDBArea.Intersects(rRange)) - bSubTotal = true; - ++nRangeIndex; + const ScDBCollection::NamedDBs& rDBs = pDoc->GetDBCollection()->getNamedDBs(); + for (const auto& rxDB : rDBs) + { + const ScDBData& rDB = *rxDB; + if (!rDB.HasAutoFilter()) + continue; + + nRangeIndex = 0; + while (!bSubTotal && nRangeIndex < nRangeCount) + { + const ScRange & rRange = (*pRangeList)[nRangeIndex]; + ScRange aDBArea; + rDB.GetArea(aDBArea); + if (aDBArea.Intersects(rRange)) + bSubTotal = true; + ++nRangeIndex; + } + + if (bSubTotal) + break; } } return bSubTotal; diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx index e0fbd782619b..8c2f733dd32b 100644 --- a/sc/source/ui/view/tabvwshf.cxx +++ b/sc/source/ui/view/tabvwshf.cxx @@ -604,10 +604,8 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) if (pDPs) { const ScMarkData::MarkedTabsType& rSelectedTabs = rViewData.GetMarkData().GetSelectedTabs(); - for (ScMarkData::MarkedTabsType::const_iterator iterator = rSelectedTabs.begin(); - iterator != rSelectedTabs.end() && !bTabWithPivotTable; ++iterator ) + for (const SCTAB nSelTab : rSelectedTabs) { - const SCTAB nSelTab = *iterator; const size_t nCount = pDPs->GetCount(); for (size_t i = 0; i < nCount; ++i) { @@ -616,6 +614,8 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) if (pSheetSourceDesc && pSheetSourceDesc->GetSourceRange().aStart.Tab() == nSelTab) bTabWithPivotTable = true; } + if (bTabWithPivotTable) + break; } } } @@ -699,9 +699,8 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) OUString aUndo = ScResId( STR_UNDO_TAB_RTL ); pUndoManager->EnterListAction( aUndo, aUndo, 0, rViewData.GetViewShell()->GetViewShellId() ); - ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - rFunc.SetLayoutRTL( *itr, bSet ); + for (const auto& rTab : rMark) + rFunc.SetLayoutRTL( rTab, bSet ); pUndoManager->LeaveListAction(); } @@ -748,12 +747,11 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) { std::unique_ptr<ScUndoTabColorInfo::List> pTabColorList(new ScUndoTabColorInfo::List); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - if ( !pDoc->IsTabProtected(*itr) ) + if ( !pDoc->IsTabProtected(rTab) ) { - ScUndoTabColorInfo aTabColorInfo(*itr); + ScUndoTabColorInfo aTabColorInfo(rTab); aTabColorInfo.maNewTabBgColor = aColor; pTabColorList->push_back(aTabColorInfo); } @@ -793,12 +791,11 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq ) pTabColorList(new ScUndoTabColorInfo::List); if ( nTabSelCount > 1 ) { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - if ( !pDoc->IsTabProtected(*itr) ) + if ( !pDoc->IsTabProtected(rTab) ) { - ScUndoTabColorInfo aTabColorInfo(*itr); + ScUndoTabColorInfo aTabColorInfo(rTab); aTabColorInfo.maNewTabBgColor = aSelectedColor; pTabColorList->push_back(aTabColorInfo); } diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index c18d9289e1d5..0991ec545eea 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -952,9 +952,8 @@ void ScViewData::MoveTab( SCTAB nSrcTab, SCTAB nDestTab ) void ScViewData::CreateTabData( std::vector< SCTAB >& rvTabs ) { - std::vector< SCTAB >::iterator it_end = rvTabs.end(); - for ( std::vector< SCTAB >::iterator it = rvTabs.begin(); it != it_end; ++it ) - CreateTabData(*it); + for ( const auto& rTab : rvTabs ) + CreateTabData(rTab); } void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs ) @@ -975,11 +974,8 @@ void ScViewData::SetZoomType( SvxZoomType eNew, std::vector< SCTAB >& tabs ) } else { - std::vector< SCTAB >::iterator it_end = tabs.end(); - std::vector< SCTAB >::iterator it = tabs.begin(); - for ( ; it != it_end; ++it ) + for ( const SCTAB& i : tabs ) { - SCTAB i = *it; if ( i < static_cast<SCTAB>(maTabData.size()) && maTabData[i] ) maTabData[i]->eZoomType = eNew; } @@ -1040,11 +1036,8 @@ void ScViewData::SetZoom( const Fraction& rNewX, const Fraction& rNewY, std::vec } else { - std::vector< SCTAB >::iterator it_end = tabs.end(); - std::vector< SCTAB >::iterator it = tabs.begin(); - for ( ; it != it_end; ++it ) + for ( const SCTAB& i : tabs ) { - SCTAB i = *it; if ( i < static_cast<SCTAB>(maTabData.size()) && maTabData[i] ) { if ( bPagebreak ) @@ -1964,9 +1957,8 @@ void ScViewData::CreateTabData( SCTAB nNewTab ) void ScViewData::CreateSelectedTabData() { - ScMarkData::iterator itr = mpMarkData->begin(), itrEnd = mpMarkData->end(); - for (; itr != itrEnd; ++itr) - CreateTabData(*itr); + for (const auto& rTab : *mpMarkData) + CreateTabData(rTab); } void ScViewData::EnsureTabDataSize(size_t nSize) diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index a20e0ae05641..8d4a892677d7 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -138,17 +138,14 @@ bool ScViewFunc::AdjustBlockHeight( bool bPaint, ScMarkData* pMarkData ) sc::RowHeightContext aCxt(nPPTX, nPPTY, aZoomX, aZoomY, aProv.GetDevice()); bool bAnyChanged = false; - ScMarkData::iterator itr = pMarkData->begin(), itrEnd = pMarkData->end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : *pMarkData) { - SCTAB nTab = *itr; bool bChanged = false; SCROW nPaintY = 0; - std::vector<sc::ColRowSpan>::const_iterator itRows = aMarkedRows.begin(), itRowsEnd = aMarkedRows.end(); - for (; itRows != itRowsEnd; ++itRows) + for (const auto& rRow : aMarkedRows) { - SCROW nStartNo = itRows->mnStart; - SCROW nEndNo = itRows->mnEnd; + SCROW nStartNo = rRow.mnStart; + SCROW nEndNo = rRow.mnEnd; ScAddress aTopLeft(0, nStartNo, nTab); rDoc.UpdateScriptTypes(aTopLeft, MAXCOLCOUNT, nEndNo-nStartNo+1); if (rDoc.SetOptimalHeight(aCxt, nStartNo, nEndNo, nTab)) @@ -947,17 +944,14 @@ void ScViewFunc::SetPrintRanges( bool bEntireSheet, const OUString* pPrint, ScDocShell* pDocSh = GetViewData().GetDocShell(); ScDocument& rDoc = pDocSh->GetDocument(); ScMarkData& rMark = GetViewData().GetMarkData(); - SCTAB nTab; bool bUndo (rDoc.IsUndoEnabled()); std::unique_ptr<ScPrintRangeSaver> pOldRanges = rDoc.CreatePrintRangeSaver(); ScAddress::Details aDetails(rDoc.GetAddressConvention(), 0, 0); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : rMark) { - nTab = *itr; ScRange aRange( 0,0,nTab ); // print ranges @@ -1039,9 +1033,8 @@ void ScViewFunc::SetPrintRanges( bool bEntireSheet, const OUString* pPrint, // update page breaks - itr = rMark.begin(); - for (; itr != itrEnd; ++itr) - ScPrintFunc( pDocSh, pDocSh->GetPrinter(), *itr ).UpdatePages(); + for (const auto& rTab : rMark) + ScPrintFunc( pDocSh, pDocSh->GetPrinter(), rTab ).UpdatePages(); SfxBindings& rBindings = GetViewData().GetBindings(); rBindings.Invalidate( SID_DELETE_PRINTAREA ); @@ -1114,10 +1107,8 @@ bool ScViewFunc::MergeCells( bool bApi, bool& rDoContents, bool bCenter ) // Check for the contents of all selected tables. bool bAskDialog = false; ScCellMergeOption aMergeOption(nStartCol, nStartRow, nEndCol, nEndRow, bCenter); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& i : rMark) { - SCTAB i = *itr; aMergeOption.maTabs.insert(i); sc::MultiDataCellState aState = rDoc.HasMultipleDataCells(aMergeOption.getSingleRange(i)); @@ -1254,10 +1245,8 @@ bool ScViewFunc::RemoveMerge() do { bExtended = false; - ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& i : rMark) { - SCTAB i = *itr; aOption.maTabs.insert(i); aExtended.aStart.SetTab(i); aExtended.aEnd.SetTab(i); @@ -1565,11 +1554,9 @@ void ScViewFunc::FillTab( InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - if (*itr != nTab ) + for (const SCTAB& i : rMark) + if (i != nTab ) { - SCTAB i = *itr; pUndoDoc->AddUndoTab( i, i ); aMarkRange.aStart.SetTab( i ); aMarkRange.aEnd.SetTab( i ); @@ -1918,9 +1905,8 @@ bool ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem, for (SCTAB i = 0; i <= nEndTab; ++i) rMark.SelectTable(i, false); - std::set<SCTAB>::const_iterator itr = aOldSelectedTables.begin(), itrEnd = aOldSelectedTables.end(); - for (; itr != itrEnd; ++itr) - rMark.SelectTable(*itr, true); + for (const auto& rTab : aOldSelectedTables) + rMark.SelectTable(rTab, true); if ( bFound ) { // if a table is selected as a "match" it remains selected. @@ -2994,14 +2980,12 @@ void ScViewFunc::ShowTable( const std::vector<OUString>& rNames ) bool bUndo(rDoc.IsUndoEnabled()); std::vector<SCTAB> undoTabs; - OUString aName; SCTAB nPos = 0; bool bFound(false); - for (std::vector<OUString>::const_iterator itr=rNames.begin(), itrEnd = rNames.end(); itr!=itrEnd; ++itr) + for (const OUString& aName : rNames) { - aName = *itr; if (rDoc.GetTable(aName, nPos)) { rDoc.SetVisible( nPos, true ); @@ -3041,15 +3025,12 @@ void ScViewFunc::HideTable( const ScMarkData& rMark ) if (nVisible > nTabSelCount) { - SCTAB nTab; - ScMarkData::MarkedTabsType::const_iterator it; std::vector<SCTAB> undoTabs; // need to take a copy of selectedtabs since it is modified in the loop const ScMarkData::MarkedTabsType selectedTabs = rMark.GetSelectedTabs(); - for (it=selectedTabs.begin(); it!=selectedTabs.end(); ++it) + for (const SCTAB& nTab : selectedTabs) { - nTab = *it; if (rDoc.IsVisible( nTab )) { rDoc.SetVisible( nTab, false ); diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index d412bbb29423..d9a5b81891c1 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -821,11 +821,8 @@ bool ScViewFunc::PasteOnDrawObjectLinked( static bool lcl_SelHasAttrib( const ScDocument* pDoc, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData& rTabSelection, HasAttrFlags nMask ) { - ScMarkData::const_iterator itr = rTabSelection.begin(), itrEnd = rTabSelection.end(); - for (; itr != itrEnd; ++itr) - if ( pDoc->HasAttrib( nCol1, nRow1, *itr, nCol2, nRow2, *itr, nMask ) ) - return true; - return false; + return std::any_of(rTabSelection.begin(), rTabSelection.end(), + [&](const SCTAB& rTab) { return pDoc->HasAttrib( nCol1, nRow1, rTab, nCol2, nRow2, rTab, nMask ); }); } // paste into sheet: @@ -837,17 +834,18 @@ namespace { bool checkDestRangeForOverwrite(const ScRangeList& rDestRanges, const ScDocument* pDoc, const ScMarkData& rMark, weld::Window* pParentWnd) { bool bIsEmpty = true; - ScMarkData::const_iterator itrTab = rMark.begin(), itrTabEnd = rMark.end(); size_t nRangeSize = rDestRanges.size(); - for (; itrTab != itrTabEnd && bIsEmpty; ++itrTab) + for (const auto& rTab : rMark) { for (size_t i = 0; i < nRangeSize && bIsEmpty; ++i) { const ScRange& rRange = rDestRanges[i]; bIsEmpty = pDoc->IsBlockEmpty( - *itrTab, rRange.aStart.Col(), rRange.aStart.Row(), + rTab, rRange.aStart.Col(), rRange.aStart.Row(), rRange.aEnd.Col(), rRange.aEnd.Row()); } + if (!bIsEmpty) + break; } if (!bIsEmpty) @@ -1801,12 +1799,11 @@ void ScViewFunc::PostPasteFromClip(const ScRangeList& rPasteRanges, const ScMark for (size_t i = 0, n = rPasteRanges.size(); i < n; ++i) { const ScRange& r = rPasteRanges[i]; - ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { ScRange aChangeRange(r); - aChangeRange.aStart.SetTab(*itr); - aChangeRange.aEnd.SetTab(*itr); + aChangeRange.aStart.SetTab(rTab); + aChangeRange.aEnd.SetTab(rTab); aChangeRanges.push_back(aChangeRange); } } diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx index ce86a71685e2..2a2e2db41b8c 100644 --- a/sc/source/ui/view/viewfun4.cxx +++ b/sc/source/ui/view/viewfun4.cxx @@ -219,10 +219,9 @@ void ScViewFunc::DoRefConversion() if ( rMark.GetSelectCount() > 1 ) { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - if ( *itr != nTab ) - pUndoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : rMark) + if ( rTab != nTab ) + pUndoDoc->AddUndoTab( rTab, rTab ); } ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); @@ -234,10 +233,8 @@ void ScViewFunc::DoRefConversion() GetViewData().GetMultiArea( xRanges ); size_t nCount = xRanges->size(); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& i : rMark) { - SCTAB i = *itr; for (size_t j = 0; j < nCount; ++j) { ScRange aRange = (*xRanges)[j]; @@ -289,10 +286,9 @@ void ScViewFunc::DoRefConversion() if ( rMark.GetSelectCount() > 1 ) { - itr = rMark.begin(); - for (; itr != itrEnd; ++itr) - if ( *itr != nTab ) - pRedoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : rMark) + if ( rTab != nTab ) + pRedoDoc->AddUndoTab( rTab, rTab ); } ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); @@ -496,12 +492,11 @@ void ScViewFunc::DoSheetConversion( const ScConversionParam& rConvParam ) if ( rMark.GetSelectCount() > 1 ) { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - if ( *itr != nTab ) + for (const auto& rTab : rMark) + if ( rTab != nTab ) { - pUndoDoc->AddUndoTab( *itr, *itr ); - pRedoDoc->AddUndoTab( *itr, *itr ); + pUndoDoc->AddUndoTab( rTab, rTab ); + pRedoDoc->AddUndoTab( rTab, rTab ); } } } diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index a0e1185a6d3f..45fb81483c4b 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -325,9 +325,8 @@ namespace HelperNotifyChanges if (ScModelObj *pModelObj = getMustPropagateChangesModel(rDocShell)) { ScRangeList aChangeRanges; - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - aChangeRanges.push_back( ScRange( nCol, nRow, *itr ) ); + for (const auto& rTab : rMark) + aChangeRanges.push_back( ScRange( nCol, nRow, rTab ) ); HelperNotifyChanges::Notify(*pModelObj, aChangeRanges, "cell-change"); } @@ -513,10 +512,9 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, delete pArr; SvNumberFormatter* pFormatter = pDoc->GetFormatTable(); - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - i = *itr; + i = rTab; aPos.SetTab( i ); const sal_uInt32 nIndex = pDoc->GetAttr( nCol, nRow, i, ATTR_VALUE_FORMAT )->GetValue(); @@ -565,11 +563,10 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, } else { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for ( ; itr != itrEnd; ++itr ) + for (const auto& rTab : rMark) { bool bNumFmtSet = false; - rFunc.SetNormalString( bNumFmtSet, ScAddress( nCol, nRow, *itr ), rString, false ); + rFunc.SetNormalString( bNumFmtSet, ScAddress( nCol, nRow, rTab ), rString, false ); if (bNumFmtSet) { /* FIXME: if set on any sheet results in changed only on @@ -692,12 +689,11 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, if (bRecord && !bSimple) { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { ScUndoEnterData::Value aOldValue; - aOldValue.mnTab = *itr; - aOldValue.maCell.assign(rDoc, ScAddress(nCol, nRow, *itr)); + aOldValue.mnTab = rTab; + aOldValue.maCell.assign(rDoc, ScAddress(nCol, nRow, rTab)); aOldValues.push_back(aOldValue); } @@ -718,10 +714,9 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, } else { - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - ScAddress aPos(nCol, nRow, *itr); + ScAddress aPos(nCol, nRow, rTab); rDoc.SetEditText(aPos, rData, rDoc.GetEditPool()); } @@ -735,9 +730,8 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab, AdjustRowHeight(nRow,nRow); - itr = rMark.begin(); - for (; itr != itrEnd; ++itr) - pDocSh->PostPaintCell( nCol, nRow, *itr ); + for (const auto& rTab : rMark) + pDocSh->PostPaintCell( nCol, nRow, rTab ); ShowAllCursors(); @@ -1073,10 +1067,9 @@ void ScViewFunc::ApplyPatternLines( const ScPatternAttr& rAttr, const SvxBoxItem if( !bRemoveAdjCellBorder ) bCopyOnlyMarked = bMulti; pUndoDoc->InitUndo( pDoc, nStartTab, nStartTab ); - ScMarkData::iterator itr = aFuncMark.begin(), itrEnd = aFuncMark.end(); - for (; itr != itrEnd; ++itr) - if (*itr != nStartTab) - pUndoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : aFuncMark) + if (rTab != nStartTab) + pUndoDoc->AddUndoTab( rTab, rTab ); ScRange aCopyRange = aMarkRangeWithEnvelope; aCopyRange.aStart.SetTab(0); @@ -1159,12 +1152,11 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor ScRange aMarkRange; aFuncMark.GetMultiMarkArea( aMarkRange ); SCTAB nTabCount = rDoc.GetTableCount(); - ScMarkData::iterator itr = aFuncMark.begin(), itrEnd = aFuncMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : aFuncMark) { ScRange aChangeRange( aMarkRange ); - aChangeRange.aStart.SetTab( *itr ); - aChangeRange.aEnd.SetTab( *itr ); + aChangeRange.aStart.SetTab( rTab ); + aChangeRange.aEnd.SetTab( rTab ); aChangeRanges.push_back( aChangeRange ); } @@ -1185,10 +1177,9 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nStartTab, nStartTab ); - itr = aFuncMark.begin(); - for (; itr != itrEnd; ++itr) - if (*itr != nStartTab) - pUndoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : aFuncMark) + if (rTab != nStartTab) + pUndoDoc->AddUndoTab( rTab, rTab ); rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, bMulti, *pUndoDoc, &aFuncMark ); aFuncMark.MarkToMulti(); @@ -1262,19 +1253,17 @@ void ScViewFunc::ApplySelectionPattern( const ScPatternAttr& rAttr, bool bCursor const SfxPoolItem* pItem = nullptr; if ( rNewSet.GetItemState( nWhich, true, &pItem ) == SfxItemState::SET && pItem ) { - PropertyEntryVector_t::const_iterator aIt = aPropVector.begin(); - while ( aIt != aPropVector.end()) + for ( const auto& rProp : aPropVector) { - if ( aIt->nWID == nWhich ) + if ( rProp.nWID == nWhich ) { css::uno::Any aVal; - pItem->QueryValue( aVal, aIt->nMemberId ); + pItem->QueryValue( aVal, rProp.nMemberId ); aProperties.realloc( nCount + 1 ); - aProperties[ nCount ].Name = aIt->sName; + aProperties[ nCount ].Name = rProp.sName; aProperties[ nCount ].Value = aVal; ++nCount; } - ++aIt; } } } @@ -1358,10 +1347,9 @@ void ScViewFunc::SetStyleSheetToMarked( const SfxStyleSheet* pStyleSheet ) SCTAB nTab = rViewData.GetTabNo(); ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - ScMarkData::iterator itr = aFuncMark.begin(), itrEnd = aFuncMark.end(); - for (; itr != itrEnd; ++itr) - if (*itr != nTab) - pUndoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : aFuncMark) + if (rTab != nTab) + pUndoDoc->AddUndoTab( rTab, rTab ); ScRange aCopyRange = aMarkRange; aCopyRange.aStart.SetTab(0); @@ -1391,10 +1379,9 @@ void ScViewFunc::SetStyleSheetToMarked( const SfxStyleSheet* pStyleSheet ) { ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nTab, nTab ); - ScMarkData::iterator itr = aFuncMark.begin(), itrEnd = aFuncMark.end(); - for (; itr != itrEnd; ++itr) - if (*itr != nTab) - pUndoDoc->AddUndoTab( *itr, *itr ); + for (const auto& rTab : aFuncMark) + if (rTab != nTab) + pUndoDoc->AddUndoTab( rTab, rTab ); ScRange aCopyRange( nCol, nRow, 0, nCol, nRow, nTabCount-1 ); rDoc.CopyToDocument( aCopyRange, InsertDeleteFlags::ATTRIB, false, *pUndoDoc ); @@ -1408,9 +1395,8 @@ void ScViewFunc::SetStyleSheetToMarked( const SfxStyleSheet* pStyleSheet ) o3tl::make_unique<ScUndoSelectionStyle>( pDocSh, aUndoMark, aMarkRange, aName, std::move(pUndoDoc) ) ); } - ScMarkData::iterator itr = aFuncMark.begin(), itrEnd = aFuncMark.end(); - for (; itr != itrEnd; ++itr) - rDoc.ApplyStyle( nCol, nRow, *itr, static_cast<const ScStyleSheet&>(*pStyleSheet) ); + for (const auto& rTab : aFuncMark) + rDoc.ApplyStyle( nCol, nRow, rTab, static_cast<const ScStyleSheet&>(*pStyleSheet) ); if (!AdjustBlockHeight()) rViewData.GetDocShell()->PostPaintCell( nCol, nRow, nTab ); @@ -2018,31 +2004,26 @@ void ScViewFunc::SetWidthOrHeight( SCROW nCurY = GetViewData().GetCurY(); SCTAB nFirstTab = aMarkData.GetFirstSelected(); SCTAB nCurTab = GetViewData().GetTabNo(); - SCTAB nTab; if (bRecord && !rDoc.IsUndoEnabled()) bRecord = false; ScDocShellModificator aModificator( *pDocSh ); bool bAllowed = true; - ScMarkData::iterator itr = aMarkData.begin(), itrEnd = aMarkData.end(); - for (; itr != itrEnd && bAllowed; ++itr) - { - for (size_t i = 0, n = rRanges.size(); i < n && bAllowed; ++i) - { - bool bOnlyMatrix; - if (bWidth) - { - bAllowed = rDoc.IsBlockEditable( - *itr, rRanges[i].mnStart, 0, rRanges[i].mnEnd, MAXROW, - &bOnlyMatrix ) || bOnlyMatrix; - } - else - { - bAllowed = rDoc.IsBlockEditable( - *itr, 0, rRanges[i].mnStart, MAXCOL,rRanges[i].mnEnd, &bOnlyMatrix) || bOnlyMatrix; - } - } + for (const SCTAB& nTab : aMarkData) + { + bAllowed = std::all_of(rRanges.begin(), rRanges.end(), + [&bWidth, &rDoc, &nTab](const sc::ColRowSpan& rRange) { + bool bOnlyMatrix; + bool bIsBlockEditable; + if (bWidth) + bIsBlockEditable = rDoc.IsBlockEditable(nTab, rRange.mnStart, 0, rRange.mnEnd, MAXROW, &bOnlyMatrix); + else + bIsBlockEditable = rDoc.IsBlockEditable(nTab, 0, rRange.mnStart, MAXCOL, rRange.mnEnd, &bOnlyMatrix); + return bIsBlockEditable || bOnlyMatrix; + }); + if (!bAllowed) + break; } // Allow users to resize cols/rows in readonly docs despite the r/o state. @@ -2074,26 +2055,25 @@ void ScViewFunc::SetWidthOrHeight( rDoc.BeginDrawUndo(); // Drawing Updates pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); - itr = aMarkData.begin(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : aMarkData) { if (bWidth) { - if ( *itr == nFirstTab ) - pUndoDoc->InitUndo( &rDoc, *itr, *itr, true ); + if ( nTab == nFirstTab ) + pUndoDoc->InitUndo( &rDoc, nTab, nTab, true ); else - pUndoDoc->AddUndoTab( *itr, *itr, true ); - rDoc.CopyToDocument( static_cast<SCCOL>(nStart), 0, *itr, - static_cast<SCCOL>(nEnd), MAXROW, *itr, InsertDeleteFlags::NONE, + pUndoDoc->AddUndoTab( nTab, nTab, true ); + rDoc.CopyToDocument( static_cast<SCCOL>(nStart), 0, nTab, + static_cast<SCCOL>(nEnd), MAXROW, nTab, InsertDeleteFlags::NONE, false, *pUndoDoc ); } else { - if ( *itr == nFirstTab ) - pUndoDoc->InitUndo( &rDoc, *itr, *itr, false, true ); + if ( nTab == nFirstTab ) + pUndoDoc->InitUndo( &rDoc, nTab, nTab, false, true ); else - pUndoDoc->AddUndoTab( *itr, *itr, false, true ); - rDoc.CopyToDocument( 0, nStart, *itr, MAXCOL, nEnd, *itr, InsertDeleteFlags::NONE, false, *pUndoDoc ); + pUndoDoc->AddUndoTab( nTab, nTab, false, true ); + rDoc.CopyToDocument( 0, nStart, nTab, MAXCOL, nEnd, nTab, InsertDeleteFlags::NONE, false, *pUndoDoc ); } } @@ -2111,11 +2091,8 @@ void ScViewFunc::SetWidthOrHeight( bool bShow = nSizeTwips > 0 || eMode != SC_SIZE_DIRECT; bool bOutline = false; - itr = aMarkData.begin(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : aMarkData) { - nTab = *itr; - for (const sc::ColRowSpan & rRange : rRanges) { SCCOLROW nStartNo = rRange.mnStart; @@ -2252,17 +2229,14 @@ void ScViewFunc::SetWidthOrHeight( // the new heights and widths. GetViewData().GetView()->RefreshZoom(); - itr = aMarkData.begin(); - for (; itr != itrEnd; ++itr) - rDoc.UpdatePageBreaks( *itr ); + for (const SCTAB& nTab : aMarkData) + rDoc.UpdatePageBreaks( nTab ); GetViewData().GetView()->UpdateScrollBars(bWidth ? COLUMN_HEADER : ROW_HEADER); { - itr = aMarkData.begin(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : aMarkData) { - nTab = *itr; if (bWidth) { if (rDoc.HasAttrib( static_cast<SCCOL>(nStart),0,nTab, @@ -2294,10 +2268,8 @@ void ScViewFunc::SetWidthOrHeight( if (ScModelObj* pModelObj = HelperNotifyChanges::getMustPropagateChangesModel(*pDocSh)) { ScRangeList aChangeRanges; - itr = aMarkData.begin(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : aMarkData) { - nTab = *itr; for (const sc::ColRowSpan & rRange : rRanges) { SCCOL nStartCol = rRange.mnStart; @@ -2498,11 +2470,10 @@ void ScViewFunc::ProtectSheet( SCTAB nTab, const ScTableProtection& rProtect ) pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo, 0, GetViewData().GetViewShell()->GetViewShellId() ); } - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - rFunc.ProtectSheet(*itr, rProtect); - SetTabProtectionSymbol(*itr, true); + rFunc.ProtectSheet(rTab, rProtect); + SetTabProtectionSymbol(rTab, true); } if (bUndo) @@ -2531,9 +2502,8 @@ void ScViewFunc::Protect( SCTAB nTab, const OUString& rPassword ) pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo, 0, GetViewData().GetViewShell()->GetViewShellId() ); } - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) - rFunc.Protect( *itr, rPassword ); + for (const auto& rTab : rMark) + rFunc.Protect( rTab, rPassword ); if (bUndo) pDocSh->GetUndoManager()->LeaveListAction(); @@ -2567,13 +2537,12 @@ bool ScViewFunc::Unprotect( SCTAB nTab, const OUString& rPassword ) pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo, 0, GetViewData().GetViewShell()->GetViewShellId() ); } - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const auto& rTab : rMark) { - if ( rFunc.Unprotect( *itr, rPassword, false ) ) + if ( rFunc.Unprotect( rTab, rPassword, false ) ) { bChanged = true; - SetTabProtectionSymbol( *itr, false); + SetTabProtectionSymbol( rTab, false); } } diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx index c2150253e692..04aad19f7f29 100644 --- a/sc/source/ui/view/viewutil.cxx +++ b/sc/source/ui/view/viewutil.cxx @@ -238,10 +238,8 @@ void ScViewUtil::UnmarkFiltered( ScMarkData& rMark, const ScDocument* pDoc ) SCROW nEndRow = aMultiArea.aEnd.Row(); bool bChanged = false; - ScMarkData::iterator itr = rMark.begin(), itrEnd = rMark.end(); - for (; itr != itrEnd; ++itr) + for (const SCTAB& nTab : rMark) { - SCTAB nTab = *itr; for (SCROW nRow = nStartRow; nRow <= nEndRow; ++nRow) { SCROW nLastRow = nRow; diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx index b87765d0afd8..5a83b66c4aae 100644 --- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx +++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx @@ -558,10 +558,9 @@ void ScXMLSourceDlg::OkPressed() // Convert single cell links. { - std::set<const SvTreeListEntry*>::const_iterator it = maCellLinks.begin(), itEnd = maCellLinks.end(); - for (; it != itEnd; ++it) + for (const SvTreeListEntry* pCellLink : maCellLinks) { - const SvTreeListEntry& rEntry = **it; + const SvTreeListEntry& rEntry = *pCellLink; OUString aPath = getXPath(*mpLbTree, rEntry, aParam.maNamespaces); const ScOrcusXMLTreeParam::EntryData* pUserData = ScOrcusXMLTreeParam::getUserData(rEntry); @@ -573,10 +572,9 @@ void ScXMLSourceDlg::OkPressed() // Convert range links. For now, an element with range link takes all its // child elements as its fields. { - std::set<const SvTreeListEntry*>::const_iterator it = maRangeLinks.begin(), itEnd = maRangeLinks.end(); - for (; it != itEnd; ++it) + for (const SvTreeListEntry* pRangeLink : maRangeLinks) { - const SvTreeListEntry& rEntry = **it; + const SvTreeListEntry& rEntry = *pRangeLink; const ScOrcusXMLTreeParam::EntryData* pUserData = ScOrcusXMLTreeParam::getUserData(rEntry); ScOrcusImportXMLParam::RangeLink aRangeLink; |