summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorArkadiy Illarionov <qarkai@gmail.com>2018-12-22 19:54:56 +0300
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-12-25 18:36:29 +0100
commit48b35ed43db87d21a943e66cfa4f59213dcfe3a1 (patch)
tree1352839eee90888fa987baec1887b4d3f5414cc5 /sc
parent68259f3663ba61a5f15f04793ac32a200100a8a5 (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')
-rw-r--r--sc/source/ui/view/cellsh.cxx7
-rw-r--r--sc/source/ui/view/cellsh1.cxx15
-rw-r--r--sc/source/ui/view/cellsh2.cxx5
-rw-r--r--sc/source/ui/view/cliputil.cxx7
-rw-r--r--sc/source/ui/view/dbfunc3.cxx36
-rw-r--r--sc/source/ui/view/drawvie4.cxx7
-rw-r--r--sc/source/ui/view/editsh.cxx5
-rw-r--r--sc/source/ui/view/formatsh.cxx13
-rw-r--r--sc/source/ui/view/gridwin.cxx37
-rw-r--r--sc/source/ui/view/gridwin2.cxx16
-rw-r--r--sc/source/ui/view/gridwin4.cxx7
-rw-r--r--sc/source/ui/view/output2.cxx3
-rw-r--r--sc/source/ui/view/pfuncache.cxx18
-rw-r--r--sc/source/ui/view/scextopt.cxx4
-rw-r--r--sc/source/ui/view/spelldialog.cxx9
-rw-r--r--sc/source/ui/view/tabvwsh4.cxx12
-rw-r--r--sc/source/ui/view/tabvwshc.cxx37
-rw-r--r--sc/source/ui/view/tabvwshf.cxx25
-rw-r--r--sc/source/ui/view/viewdata.cxx20
-rw-r--r--sc/source/ui/view/viewfun2.cxx49
-rw-r--r--sc/source/ui/view/viewfun3.cxx21
-rw-r--r--sc/source/ui/view/viewfun4.cxx27
-rw-r--r--sc/source/ui/view/viewfunc.cxx173
-rw-r--r--sc/source/ui/view/viewutil.cxx4
-rw-r--r--sc/source/ui/xmlsource/xmlsourcedlg.cxx10
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;