summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorArkadiy Illarionov <qarkai@gmail.com>2018-10-14 12:00:03 +0300
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-10-14 17:30:32 +0200
commit19be86249dcc5b13b3c95f5469600fa2bc1b749b (patch)
treee1468590650eea60e3897a8cb8b7c36bb9ab996b /vcl/source
parent7758115d15ded2afd81946df0865ecc831b179aa (diff)
Simplify containers iterations in vcl
Use range-based loop or replace with STL functions. Change-Id: Ide2f89194238ae6a1f21e8132e2297710d9e6dcd Reviewed-on: https://gerrit.libreoffice.org/61756 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/control/throbber.cxx7
-rw-r--r--vcl/source/filter/graphicfilter.cxx15
-rw-r--r--vcl/source/filter/wmf/wmfwr.cxx5
-rw-r--r--vcl/source/font/PhysicalFontCollection.cxx5
-rw-r--r--vcl/source/fontsubset/sft.cxx5
-rw-r--r--vcl/source/gdi/pdfextoutdevdata.cxx35
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx14
-rw-r--r--vcl/source/gdi/textlayout.cxx7
-rw-r--r--vcl/source/window/accmgr.cxx14
-rw-r--r--vcl/source/window/builder.cxx35
-rw-r--r--vcl/source/window/dialog.cxx18
-rw-r--r--vcl/source/window/dlgctrl.cxx27
-rw-r--r--vcl/source/window/layout.cxx9
-rw-r--r--vcl/source/window/menu.cxx6
-rw-r--r--vcl/source/window/printdlg.cxx20
-rw-r--r--vcl/source/window/taskpanelist.cxx130
-rw-r--r--vcl/source/window/toolbox.cxx61
-rw-r--r--vcl/source/window/toolbox2.cxx104
18 files changed, 191 insertions, 326 deletions
diff --git a/vcl/source/control/throbber.cxx b/vcl/source/control/throbber.cxx
index eae208bf1698..48f1f47733e6 100644
--- a/vcl/source/control/throbber.cxx
+++ b/vcl/source/control/throbber.cxx
@@ -78,13 +78,10 @@ namespace
aImages.reserve( aImageURLs.size() );
::comphelper::NamedValueCollection aMediaProperties;
- for ( ::std::vector< OUString >::const_iterator imageURL = aImageURLs.begin();
- imageURL != aImageURLs.end();
- ++imageURL
- )
+ for ( const auto& rImageURL : aImageURLs )
{
Reference< XGraphic > xGraphic;
- aMediaProperties.put( "URL", *imageURL );
+ aMediaProperties.put( "URL", rImageURL );
xGraphic.set( xGraphicProvider->queryGraphic( aMediaProperties.getPropertyValues() ), UNO_QUERY );
aImages.emplace_back( xGraphic );
}
diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx
index be79226ffbef..6cd6043dba9e 100644
--- a/vcl/source/filter/graphicfilter.cxx
+++ b/vcl/source/filter/graphicfilter.cxx
@@ -1080,17 +1080,10 @@ GraphicFilter::~GraphicFilter()
{
{
::osl::MutexGuard aGuard( getListMutex() );
- for(
- FilterList_impl::iterator it = pFilterHdlList->begin();
- it != pFilterHdlList->end();
- ++it
- ) {
- if( *it == this )
- {
- pFilterHdlList->erase( it );
- break;
- }
- }
+ auto it = std::find(pFilterHdlList->begin(), pFilterHdlList->end(), this);
+ if( it != pFilterHdlList->end() )
+ pFilterHdlList->erase( it );
+
if( pFilterHdlList->empty() )
{
delete pFilterHdlList;
diff --git a/vcl/source/filter/wmf/wmfwr.cxx b/vcl/source/filter/wmf/wmfwr.cxx
index a7eb3e212952..b0d40068f412 100644
--- a/vcl/source/filter/wmf/wmfwr.cxx
+++ b/vcl/source/filter/wmf/wmfwr.cxx
@@ -530,10 +530,9 @@ bool WMFWriter::WMFRecord_Escape_Unicode( const Point& rPoint, const OUString& r
aMemoryStream.WriteUInt32( nSkipActions );
WMFRecord_Escape( PRIVATE_ESCAPE_UNICODE, nStrmLen, static_cast<const sal_Int8*>(aMemoryStream.GetData()) );
- std::vector<tools::PolyPolygon>::iterator aIter( aPolyPolyVec.begin() );
- while ( aIter != aPolyPolyVec.end() )
+ for ( const auto& rPolyPoly : aPolyPolyVec )
{
- tools::PolyPolygon aPolyPoly( *aIter++ );
+ tools::PolyPolygon aPolyPoly( rPolyPoly );
aPolyPoly.Move( rPoint.X(), rPoint.Y() );
WMFRecord_PolyPolygon( aPolyPoly );
}
diff --git a/vcl/source/font/PhysicalFontCollection.cxx b/vcl/source/font/PhysicalFontCollection.cxx
index b58ce8503e14..9fd03b5dc683 100644
--- a/vcl/source/font/PhysicalFontCollection.cxx
+++ b/vcl/source/font/PhysicalFontCollection.cxx
@@ -907,9 +907,8 @@ std::unique_ptr<ImplDeviceFontSizeList> PhysicalFontCollection::GetDeviceFontSiz
std::set<int> rHeights;
pFontFamily->GetFontHeights( rHeights );
- std::set<int>::const_iterator it = rHeights.begin();
- for(; it != rHeights.begin(); ++it )
- pDeviceFontSizeList->Add( *it );
+ for( const auto& rHeight : rHeights )
+ pDeviceFontSizeList->Add( rHeight );
}
return pDeviceFontSizeList;
diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 1f3634b38320..a945ee7cc7be 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -528,10 +528,9 @@ static int GetCompoundTTOutline(TrueTypeFont *ttf, sal_uInt32 glyphID, ControlPo
fprintf(stderr, "Endless loop found in a compound glyph.\n");
fprintf(stderr, "%d -> ", index);
fprintf(stderr," [");
- for( std::vector< sal_uInt32 >::const_iterator it = glyphlist.begin();
- it != glyphlist.end(); ++it )
+ for( const auto& rGlyph : glyphlist )
{
- fprintf( stderr,"%d ", (int) *it );
+ fprintf( stderr,"%d ", (int) rGlyph );
}
fprintf(stderr,"]\n");
/**/
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx
index 371855861015..4b0c9cdc5725 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.cxx
@@ -394,31 +394,26 @@ bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIMtfAc
/* first determining if this BeginGroup is starting a GfxLink,
by searching for a EndGroup or a EndGroupGfxLink */
mbGroupIgnoreGDIMtfActions = false;
- std::deque< PDFExtOutDevDataSync >::iterator aBeg = mActions.begin();
- std::deque< PDFExtOutDevDataSync >::iterator aEnd = mActions.end();
- while ( aBeg != aEnd )
+ auto isStartingGfxLink = std::any_of(mActions.begin(), mActions.end(),
+ [](const PDFExtOutDevDataSync& rAction) { return rAction.eAct == PDFExtOutDevDataSync::EndGroupGfxLink; });
+ if ( isStartingGfxLink )
{
- if ( aBeg->eAct == PDFExtOutDevDataSync::EndGroupGfxLink )
+ Graphic& rGraphic = mGraphics.front();
+ if ( rGraphic.IsGfxLink() && mParaRects.size() >= 2 )
{
- Graphic& rGraphic = mGraphics.front();
- if ( rGraphic.IsGfxLink() && mParaRects.size() >= 2 )
+ GfxLinkType eType = rGraphic.GetGfxLink().GetType();
+ if ( eType == GfxLinkType::NativeJpg )
{
- GfxLinkType eType = rGraphic.GetGfxLink().GetType();
- if ( eType == GfxLinkType::NativeJpg )
- {
- mbGroupIgnoreGDIMtfActions = rOutDevData.HasAdequateCompression(rGraphic, mParaRects[0], mParaRects[1]);
- if ( !mbGroupIgnoreGDIMtfActions )
- mCurrentGraphic = rGraphic;
- }
- else if ( eType == GfxLinkType::NativePng || eType == GfxLinkType::NativePdf )
- {
- if ( eType == GfxLinkType::NativePdf || rOutDevData.HasAdequateCompression(rGraphic, mParaRects[0], mParaRects[1]) )
- mCurrentGraphic = rGraphic;
- }
+ mbGroupIgnoreGDIMtfActions = rOutDevData.HasAdequateCompression(rGraphic, mParaRects[0], mParaRects[1]);
+ if ( !mbGroupIgnoreGDIMtfActions )
+ mCurrentGraphic = rGraphic;
+ }
+ else if ( eType == GfxLinkType::NativePng || eType == GfxLinkType::NativePdf )
+ {
+ if ( eType == GfxLinkType::NativePdf || rOutDevData.HasAdequateCompression(rGraphic, mParaRects[0], mParaRects[1]) )
+ mCurrentGraphic = rGraphic;
}
- break;
}
- ++aBeg;
}
}
break;
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index af54291d6c1f..0a25d2fd8120 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -10807,18 +10807,12 @@ sal_Int32 PDFWriterImpl::beginStructureElement( PDFWriter::StructElement eType,
// silently insert structure into document again if one properly exists
if( ! m_aStructure[ 0 ].m_aChildren.empty() )
{
- PDFWriter::StructElement childType = PDFWriter::NonStructElement;
- sal_Int32 nNewCurElement = 0;
const std::list< sal_Int32 >& rRootChildren = m_aStructure[0].m_aChildren;
- for( std::list< sal_Int32 >::const_iterator it = rRootChildren.begin();
- childType != PDFWriter::Document && it != rRootChildren.end(); ++it )
+ auto it = std::find_if(rRootChildren.begin(), rRootChildren.end(),
+ [&](sal_Int32 nElement) { return m_aStructure[ nElement ].m_eType == PDFWriter::Document; });
+ if( it != rRootChildren.end() )
{
- nNewCurElement = *it;
- childType = m_aStructure[ nNewCurElement ].m_eType;
- }
- if( childType == PDFWriter::Document )
- {
- m_nCurrentStructElement = nNewCurElement;
+ m_nCurrentStructElement = *it;
SAL_WARN( "vcl.pdfwriter", "Structure element inserted to StructTreeRoot that is not a document" );
}
else {
diff --git a/vcl/source/gdi/textlayout.cxx b/vcl/source/gdi/textlayout.cxx
index 6631afed284b..fab85035412c 100644
--- a/vcl/source/gdi/textlayout.cxx
+++ b/vcl/source/gdi/textlayout.cxx
@@ -290,12 +290,9 @@ namespace vcl
// convert the metric vector
if ( _pVector )
{
- for ( MetricVector::iterator charRect = _pVector->begin();
- charRect != _pVector->end();
- ++charRect
- )
+ for ( auto& rCharRect : *_pVector )
{
- *charRect = m_rTargetDevice.LogicToPixel( *charRect );
+ rCharRect = m_rTargetDevice.LogicToPixel( rCharRect );
}
}
diff --git a/vcl/source/window/accmgr.cxx b/vcl/source/window/accmgr.cxx
index 10e426b27f5c..f7a3ea0545a1 100644
--- a/vcl/source/window/accmgr.cxx
+++ b/vcl/source/window/accmgr.cxx
@@ -22,6 +22,8 @@
#include <vcl/accel.hxx>
#include <accmgr.hxx>
+#include <algorithm>
+
ImplAccelManager::~ImplAccelManager()
{
}
@@ -66,15 +68,9 @@ void ImplAccelManager::RemoveAccel( Accelerator const * pAccel )
}
// throw it away
- for ( auto it = mpAccelList->begin();
- it != mpAccelList->end();
- ++it
- ) {
- if ( *it == pAccel ) {
- mpAccelList->erase( it );
- break;
- }
- }
+ auto it = std::find(mpAccelList->begin(), mpAccelList->end(), pAccel);
+ if (it != mpAccelList->end())
+ mpAccelList->erase( it );
}
void ImplAccelManager::EndSequence()
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 03eee84e4a97..a57984c61925 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -160,11 +160,10 @@ namespace weld
if (pList)
{
// return unit's default string (ie, the first one )
- for (auto it = pList->begin(); it != pList->end(); ++it)
- {
- if (it->second == rUnit)
- return it->first;
- }
+ auto it = std::find_if(pList->begin(), pList->end(),
+ [&rUnit](std::pair<OUString, FieldUnit>& rItem) { return rItem.second == rUnit; });
+ if (it != pList->end())
+ return it->first;
}
return OUString();
@@ -3850,15 +3849,12 @@ void VclBuilder::set_response(const OString& sID, short nResponse)
void VclBuilder::delete_by_name(const OString& sID)
{
- for (std::vector<WinAndId>::iterator aI = m_aChildren.begin(),
- aEnd = m_aChildren.end(); aI != aEnd; ++aI)
+ auto aI = std::find_if(m_aChildren.begin(), m_aChildren.end(),
+ [&sID](WinAndId& rItem) { return rItem.m_sID == sID; });
+ if (aI != m_aChildren.end())
{
- if (aI->m_sID == sID)
- {
- aI->m_pWindow.disposeAndClear();
- m_aChildren.erase(aI);
- break;
- }
+ aI->m_pWindow.disposeAndClear();
+ m_aChildren.erase(aI);
}
}
@@ -3870,15 +3866,10 @@ void VclBuilder::delete_by_window(vcl::Window *pWindow)
void VclBuilder::drop_ownership(const vcl::Window *pWindow)
{
- for (std::vector<WinAndId>::iterator aI = m_aChildren.begin(),
- aEnd = m_aChildren.end(); aI != aEnd; ++aI)
- {
- if (aI->m_pWindow == pWindow)
- {
- m_aChildren.erase(aI);
- break;
- }
- }
+ auto aI = std::find_if(m_aChildren.begin(), m_aChildren.end(),
+ [&pWindow](WinAndId& rItem) { return rItem.m_pWindow == pWindow; });
+ if (aI != m_aChildren.end())
+ m_aChildren.erase(aI);
}
OString VclBuilder::get_by_window(const vcl::Window *pWindow) const
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index bc8da4fb219d..5b2ec3b225db 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -400,17 +400,13 @@ vcl::Window* Dialog::GetDefaultParent(WinBits nStyle)
{
ImplSVData* pSVData = ImplGetSVData();
auto& rExecuteDialogs = pSVData->maWinData.mpExecuteDialogs;
- for (auto it = rExecuteDialogs.rbegin(); it != rExecuteDialogs.rend(); ++it)
- {
- // only if visible and enabled
- if (pParent->ImplGetFirstOverlapWindow()->IsWindowOrChild(*it, true) &&
- (*it)->IsReallyVisible() &&
- (*it)->IsEnabled() && (*it)->IsInputEnabled() && !(*it)->IsInModalMode())
- {
- pParent = it->get();
- break;
- }
- }
+ auto it = std::find_if(rExecuteDialogs.rbegin(), rExecuteDialogs.rend(),
+ [&pParent](VclPtr<Dialog>& rDialogPtr) {
+ return pParent->ImplGetFirstOverlapWindow()->IsWindowOrChild(rDialogPtr, true) &&
+ rDialogPtr->IsReallyVisible() && rDialogPtr->IsEnabled() &&
+ rDialogPtr->IsInputEnabled() && !rDialogPtr->IsInModalMode(); });
+ if (it != rExecuteDialogs.rend())
+ pParent = it->get();
}
return pParent;
diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx
index bda29cd62c1a..c46106f7665e 100644
--- a/vcl/source/window/dlgctrl.cxx
+++ b/vcl/source/window/dlgctrl.cxx
@@ -537,29 +537,18 @@ namespace
if (aStart != rGroup.end())
++aI;
- for (; aI != rGroup.end(); ++aI)
+ aI = std::find_if(aI, rGroup.end(), isSuitableDestination);
+ if (aI == rGroup.end())
{
- vcl::Window *pWindow = *aI;
-
- if (isSuitableDestination(pWindow))
- {
- pWindow->ImplControlFocus( GetFocusFlags::CURSOR | GetFocusFlags::Forward );
- return true;
- }
+ aI = std::find_if(rGroup.begin(), aStart, isSuitableDestination);
+ if (aI == aStart)
+ return false;
}
- for (aI = rGroup.begin(); aI != aStart; ++aI)
- {
- vcl::Window *pWindow = *aI;
-
- if (isSuitableDestination(pWindow))
- {
- pWindow->ImplControlFocus( GetFocusFlags::CURSOR | GetFocusFlags::Forward );
- return true;
- }
- }
+ vcl::Window *pWindow = *aI;
- return false;
+ pWindow->ImplControlFocus( GetFocusFlags::CURSOR | GetFocusFlags::Forward );
+ return true;
}
bool nextInGroup(RadioButton *pSourceWindow, bool bBackward)
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 2b4ac9c11b9c..d1a539acea09 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -549,9 +549,8 @@ Size VclButtonBox::addReqGroups(const VclButtonBox::Requisition &rReq) const
static long getMaxNonOutlier(const std::vector<long> &rG, long nAvgDimension)
{
long nMaxDimensionNonOutlier = 0;
- for (auto const& elem : rG)
+ for (auto const& nPrimaryChildDimension : rG)
{
- long nPrimaryChildDimension = elem;
if (nPrimaryChildDimension < nAvgDimension * 1.5)
{
nMaxDimensionNonOutlier = std::max(nPrimaryChildDimension,
@@ -569,13 +568,13 @@ static std::vector<long> setButtonSizes(const std::vector<long> &rG,
//set everything < 1.5 times the average to the same width, leave the
//outliers un-touched
std::vector<bool>::const_iterator aJ = rNonHomogeneous.begin();
- for (auto const& elem : rG)
+ auto nNonOutlierWidth = std::max(nMaxNonOutlier, nMinWidth);
+ for (auto const& nPrimaryChildDimension : rG)
{
- long nPrimaryChildDimension = elem;
bool bNonHomogeneous = *aJ;
if (!bNonHomogeneous && nPrimaryChildDimension < nAvgDimension * 1.5)
{
- aVec.push_back(std::max(nMaxNonOutlier, nMinWidth));
+ aVec.push_back(nNonOutlierWidth);
}
else
{
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index d1adaf25211c..30741a4ed620 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -400,14 +400,10 @@ void Menu::ImplCallEventListeners( VclEventId nEvent, sal_uInt16 nPos )
{
// Copy the list, because this can be destroyed when calling a Link...
std::list<Link<VclMenuEvent&,void>> aCopy( maEventListeners );
- std::list<Link<VclMenuEvent&,void>>::iterator aIter( aCopy.begin() );
- std::list<Link<VclMenuEvent&,void>>::const_iterator aEnd( aCopy.end() );
- while ( aIter != aEnd )
+ for ( const auto& rLink : aCopy )
{
- Link<VclMenuEvent&,void> &rLink = *aIter;
if( std::find(maEventListeners.begin(), maEventListeners.end(), rLink) != maEventListeners.end() )
rLink.Call( aEvent );
- ++aIter;
}
}
}
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 50726365af1e..be9eaeac97af 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -684,10 +684,9 @@ PrintDialog::PrintDialog( vcl::Window* i_pParent, const std::shared_ptr<PrinterC
// fill printer listbox
std::vector< OUString > rQueues( Printer::GetPrinterQueues() );
std::sort( rQueues.begin(), rQueues.end(), lcl_ListBoxCompare );
- for( std::vector< OUString >::const_iterator it = rQueues.begin();
- it != rQueues.end(); ++it )
+ for( const auto& rQueue : rQueues )
{
- maJobPage.mpPrinters->InsertEntry( *it );
+ maJobPage.mpPrinters->InsertEntry( rQueue );
}
// select current printer
if( maJobPage.mpPrinters->GetEntryPos( maPController->getPrinter()->GetName() ) != LISTBOX_ENTRY_NOTFOUND )
@@ -1303,24 +1302,23 @@ void PrintDialog::checkControlDependencies()
void PrintDialog::checkOptionalControlDependencies()
{
- for( auto it = maControlToPropertyMap.begin();
- it != maControlToPropertyMap.end(); ++it )
+ for( const auto& rEntry : maControlToPropertyMap )
{
- bool bShouldbeEnabled = maPController->isUIOptionEnabled( it->second );
+ bool bShouldbeEnabled = maPController->isUIOptionEnabled( rEntry.second );
- if( bShouldbeEnabled && dynamic_cast<RadioButton*>(it->first.get()) )
+ if( bShouldbeEnabled && dynamic_cast<RadioButton*>(rEntry.first.get()) )
{
- auto r_it = maControlToNumValMap.find( it->first );
+ auto r_it = maControlToNumValMap.find( rEntry.first );
if( r_it != maControlToNumValMap.end() )
{
- bShouldbeEnabled = maPController->isUIChoiceEnabled( it->second, r_it->second );
+ bShouldbeEnabled = maPController->isUIChoiceEnabled( rEntry.second, r_it->second );
}
}
- bool bIsEnabled = it->first->IsEnabled();
+ bool bIsEnabled = rEntry.first->IsEnabled();
// Enable does not do a change check first, so can be less cheap than expected
if( bShouldbeEnabled != bIsEnabled )
- it->first->Enable( bShouldbeEnabled );
+ rEntry.first->Enable( bShouldbeEnabled );
}
}
diff --git a/vcl/source/window/taskpanelist.cxx b/vcl/source/window/taskpanelist.cxx
index d6825cf2b26c..1f382b824907 100644
--- a/vcl/source/window/taskpanelist.cxx
+++ b/vcl/source/window/taskpanelist.cxx
@@ -167,48 +167,45 @@ bool TaskPaneList::HandleKeyEvent(const KeyEvent& rKeyEvent)
bool bSplitterOnly = aKeyCode.IsMod1() && aKeyCode.IsShift();
// is the focus in the list ?
- auto p = mTaskPanes.begin();
- while( p != mTaskPanes.end() )
+ auto p = std::find_if(mTaskPanes.begin(), mTaskPanes.end(),
+ [](const VclPtr<vcl::Window>& rWinPtr) { return rWinPtr->HasChildPathFocus( true ); });
+ if( p != mTaskPanes.end() )
{
vcl::Window *pWin = p->get();
- if( pWin->HasChildPathFocus( true ) )
+
+ // Ctrl-F6 goes directly to the document
+ if( !pWin->IsDialog() && aKeyCode.IsMod1() && !aKeyCode.IsShift() )
{
- // Ctrl-F6 goes directly to the document
- if( !pWin->IsDialog() && aKeyCode.IsMod1() && !aKeyCode.IsShift() )
- {
- pWin->ImplGrabFocusToDocument( GetFocusFlags::F6 );
- return true;
- }
+ pWin->ImplGrabFocusToDocument( GetFocusFlags::F6 );
+ return true;
+ }
- // activate next task pane
- vcl::Window *pNextWin = nullptr;
+ // activate next task pane
+ vcl::Window *pNextWin = nullptr;
- if( bSplitterOnly )
- pNextWin = FindNextSplitter( *p );
- else
- pNextWin = FindNextFloat( *p, bForward );
-
- if( pNextWin != pWin )
- {
- ImplGetSVData()->maWinData.mbNoSaveFocus = true;
- ImplTaskPaneListGrabFocus( pNextWin, bForward );
- ImplGetSVData()->maWinData.mbNoSaveFocus = false;
- }
- else
- {
- // forward key if no splitter found
- if( bSplitterOnly )
- return false;
-
- // we did not find another taskpane, so
- // put focus back into document
- pWin->ImplGrabFocusToDocument( GetFocusFlags::F6 | (bForward ? GetFocusFlags::Forward : GetFocusFlags::Backward));
- }
+ if( bSplitterOnly )
+ pNextWin = FindNextSplitter( *p );
+ else
+ pNextWin = FindNextFloat( *p, bForward );
- return true;
+ if( pNextWin != pWin )
+ {
+ ImplGetSVData()->maWinData.mbNoSaveFocus = true;
+ ImplTaskPaneListGrabFocus( pNextWin, bForward );
+ ImplGetSVData()->maWinData.mbNoSaveFocus = false;
}
else
- ++p;
+ {
+ // forward key if no splitter found
+ if( bSplitterOnly )
+ return false;
+
+ // we did not find another taskpane, so
+ // put focus back into document
+ pWin->ImplGrabFocusToDocument( GetFocusFlags::F6 | (bForward ? GetFocusFlags::Forward : GetFocusFlags::Backward));
+ }
+
+ return true;
}
// the focus is not in the list: activate first float if F6 was pressed
@@ -233,29 +230,26 @@ vcl::Window* TaskPaneList::FindNextSplitter( vcl::Window *pWindow )
::std::stable_sort( mTaskPanes.begin(), mTaskPanes.end(), LTRSort() );
auto p = mTaskPanes.begin();
- while( p != mTaskPanes.end() )
+ if( pWindow )
+ p = std::find(mTaskPanes.begin(), mTaskPanes.end(), pWindow);
+
+ if( p != mTaskPanes.end() )
{
- if( !pWindow || *p == pWindow )
+ unsigned n = mTaskPanes.size();
+ while( --n )
{
- unsigned n = mTaskPanes.size();
- while( --n )
+ if( pWindow ) // increment before test
+ ++p;
+ if( p == mTaskPanes.end() )
+ p = mTaskPanes.begin();
+ if( (*p)->ImplIsSplitter() && (*p)->IsReallyVisible() && !(*p)->IsDialog() && (*p)->GetParent()->HasChildPathFocus() )
{
- if( pWindow ) // increment before test
- ++p;
- if( p == mTaskPanes.end() )
- p = mTaskPanes.begin();
- if( (*p)->ImplIsSplitter() && (*p)->IsReallyVisible() && !(*p)->IsDialog() && (*p)->GetParent()->HasChildPathFocus() )
- {
- pWindow = (*p).get();
- break;
- }
- if( !pWindow ) // increment after test, otherwise first element is skipped
- ++p;
+ pWindow = (*p).get();
+ break;
}
- break;
+ if( !pWindow ) // increment after test, otherwise first element is skipped
+ ++p;
}
- else
- ++p;
}
return pWindow;
@@ -270,30 +264,24 @@ vcl::Window* TaskPaneList::FindNextFloat( vcl::Window *pWindow, bool bForward )
::std::stable_sort( mTaskPanes.begin(), mTaskPanes.end(), LTRSortBackward() );
auto p = mTaskPanes.begin();
+ if( pWindow )
+ p = std::find(mTaskPanes.begin(), mTaskPanes.end(), pWindow);
+
while( p != mTaskPanes.end() )
{
- if( !pWindow || *p == pWindow )
+ if( pWindow ) // increment before test
+ ++p;
+ if( p == mTaskPanes.end() )
+ break; // do not wrap, send focus back to document at end of list
+ /* #i83908# do not use the menubar if it is native and invisible
+ */
+ if( (*p)->IsReallyVisible() && !(*p)->ImplIsSplitter() &&
+ ( (*p)->GetType() != WindowType::MENUBARWINDOW || static_cast<MenuBarWindow*>(p->get())->CanGetFocus() ) )
{
- while( p != mTaskPanes.end() )
- {
- if( pWindow ) // increment before test
- ++p;
- if( p == mTaskPanes.end() )
- break; // do not wrap, send focus back to document at end of list
- /* #i83908# do not use the menubar if it is native and invisible
- */
- if( (*p)->IsReallyVisible() && !(*p)->ImplIsSplitter() &&
- ( (*p)->GetType() != WindowType::MENUBARWINDOW || static_cast<MenuBarWindow*>(p->get())->CanGetFocus() ) )
- {
- pWindow = (*p).get();
- break;
- }
- if( !pWindow ) // increment after test, otherwise first element is skipped
- ++p;
- }
+ pWindow = (*p).get();
break;
}
- else
+ if( !pWindow ) // increment after test, otherwise first element is skipped
++p;
}
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index 66563c6b9ee7..149aa0b99ef6 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -1916,16 +1916,9 @@ void lcl_hideDoubleSeparators( ToolBox::ImplToolItems& rItems )
if ( !bLastSep )
{
// check if any visible items have to appear behind it
- ToolBox::ImplToolItems::iterator temp_it;
- for ( temp_it = it+1; temp_it != rItems.end(); ++temp_it )
- {
- if ( (temp_it->meType == ToolBoxItemType::BUTTON) &&
- temp_it->mbVisible )
- {
- it->mbVisible = true;
- break;
- }
- }
+ if (std::any_of(it + 1, rItems.end(), [](const ImplToolItem& rItem) {
+ return (rItem.meType == ToolBoxItemType::BUTTON) && rItem.mbVisible; }))
+ it->mbVisible = true;
}
bLastSep = true;
}
@@ -4889,30 +4882,20 @@ bool ToolBox::ImplChangeHighlightUpDn( bool bUp, bool bNoCycle )
if( bUp )
{
// select last valid non-clipped item
- ImplToolItems::iterator it = mpData->m_aItems.end();
ImplToolItem* pItem = nullptr;
- while( it != mpData->m_aItems.begin() )
- {
- --it;
- if ( ImplIsValidItem( &(*it), true ) )
- {
- pItem = &(*it);
- break;
- }
- }
+ auto it = std::find_if(mpData->m_aItems.rbegin(), mpData->m_aItems.rend(),
+ [](const ImplToolItem& rItem) { return ImplIsValidItem( &rItem, true ); });
+ if( it != mpData->m_aItems.rend() )
+ pItem = &(*it);
+
InvalidateMenuButton();
ImplChangeHighlight( pItem );
}
else
{
// select first valid non-clipped item
- ImplToolItems::iterator it = mpData->m_aItems.begin();
- while( it != mpData->m_aItems.end() )
- {
- if ( ImplIsValidItem( &(*it), true ) )
- break;
- ++it;
- }
+ ImplToolItems::iterator it = std::find_if(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [](const ImplToolItem& rItem) { return ImplIsValidItem( &rItem, true ); });
if( it != mpData->m_aItems.end() )
{
InvalidateMenuButton();
@@ -4925,13 +4908,8 @@ bool ToolBox::ImplChangeHighlightUpDn( bool bUp, bool bNoCycle )
if( bUp )
{
// Select first valid item
- ImplToolItems::iterator it = mpData->m_aItems.begin();
- while( it != mpData->m_aItems.end() )
- {
- if ( ImplIsValidItem( &(*it), false ) )
- break;
- ++it;
- }
+ ImplToolItems::iterator it = std::find_if(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [](const ImplToolItem& rItem) { return ImplIsValidItem( &rItem, false ); });
// select the menu button if a clipped item would be selected
if( (it != mpData->m_aItems.end() && &(*it) == ImplGetFirstClippedItem()) && IsMenuEnabled() )
@@ -4955,17 +4933,12 @@ bool ToolBox::ImplChangeHighlightUpDn( bool bUp, bool bNoCycle )
}
else
{
- ImplToolItems::iterator it = mpData->m_aItems.end();
ImplToolItem* pItem = nullptr;
- while( it != mpData->m_aItems.begin() )
- {
- --it;
- if ( ImplIsValidItem( &(*it), false ) )
- {
- pItem = &(*it);
- break;
- }
- }
+ auto it = std::find_if(mpData->m_aItems.rbegin(), mpData->m_aItems.rend(),
+ [](const ImplToolItem& rItem) { return ImplIsValidItem( &rItem, false ); });
+ if( it != mpData->m_aItems.rend() )
+ pItem = &(*it);
+
ImplChangeHighlight( pItem );
}
return true;
diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx
index c6ebf3916303..d03d96759d34 100644
--- a/vcl/source/window/toolbox2.cxx
+++ b/vcl/source/window/toolbox2.cxx
@@ -719,23 +719,13 @@ ToolBox::ImplToolItems::size_type ToolBox::GetItemPos( sal_uInt16 nItemId ) cons
ToolBox::ImplToolItems::size_type ToolBox::GetItemPos( const Point& rPos ) const
{
// search the item position on the given point
- ImplToolItems::size_type nRet = ITEM_NOTFOUND;
- ImplToolItems::size_type nPos = 0;
- ImplToolItems::const_iterator it = mpData->m_aItems.begin();
- while( it != mpData->m_aItems.end() )
- {
- if ( it->maRect.IsInside( rPos ) )
- {
- // item found -> save position and break
- nRet = nPos;
- break;
- }
+ auto it = std::find_if(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [&rPos](const ImplToolItem& rItem) { return rItem.maRect.IsInside( rPos ); });
- ++it;
- ++nPos;
- }
+ if( it != mpData->m_aItems.end() )
+ return std::distance(mpData->m_aItems.begin(), it);
- return nRet;
+ return ITEM_NOTFOUND;
}
sal_uInt16 ToolBox::GetItemId( ImplToolItems::size_type nPos ) const
@@ -746,20 +736,11 @@ sal_uInt16 ToolBox::GetItemId( ImplToolItems::size_type nPos ) const
sal_uInt16 ToolBox::GetItemId( const Point& rPos ) const
{
// find item that was clicked
- ImplToolItems::const_iterator it = mpData->m_aItems.begin();
- while( it != mpData->m_aItems.end() )
- {
- // is it this item?
- if ( it->maRect.IsInside( rPos ) )
- {
- if ( it->meType == ToolBoxItemType::BUTTON )
- return it->mnId;
- else
- return 0;
- }
+ auto it = std::find_if(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [&rPos](const ImplToolItem& rItem) { return rItem.maRect.IsInside( rPos ); });
- ++it;
- }
+ if( (it != mpData->m_aItems.end()) && (it->meType == ToolBoxItemType::BUTTON) )
+ return it->mnId;
return 0;
}
@@ -781,11 +762,10 @@ sal_uInt16 ToolBox::GetItemId(const OUString &rCommand) const
if (!mpData)
return 0;
- for (ImplToolItems::const_iterator it = mpData->m_aItems.begin(); it != mpData->m_aItems.end(); ++it)
- {
- if (it->maCommandStr == rCommand)
- return it->mnId;
- }
+ auto it = std::find_if(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [&rCommand](const ImplToolItem& rItem) { return rItem.maCommandStr == rCommand; });
+ if (it != mpData->m_aItems.end())
+ return it->mnId;
return 0;
}
@@ -1461,17 +1441,11 @@ void ToolBox::SetOutStyle( sal_uInt16 nNewStyle )
// disable key input if all items are disabled
void ToolBox::ImplUpdateInputEnable()
{
- for( ImplToolItems::const_iterator it = mpData->m_aItems.begin();
- it != mpData->m_aItems.end(); ++it )
- {
- if( it->mbEnabled )
- {
+ mpData->mbKeyInputDisabled = std::none_of(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [](const ImplToolItem& rItem) {
// at least one useful entry
- mpData->mbKeyInputDisabled = false;
- return;
- }
- }
- mpData->mbKeyInputDisabled = true;
+ return rItem.mbEnabled;
+ });
}
void ToolBox::ImplFillLayoutData()
@@ -1593,14 +1567,8 @@ bool ToolBox::ImplHasClippedItems()
{
// are any items currently clipped ?
ImplFormat();
- ImplToolItems::const_iterator it = mpData->m_aItems.begin();
- while ( it != mpData->m_aItems.end() )
- {
- if( it->IsClipped() )
- return true;
- ++it;
- }
- return false;
+ return std::any_of(mpData->m_aItems.begin(), mpData->m_aItems.end(),
+ [](const ImplToolItem& rItem) { return rItem.IsClipped(); });
}
namespace
@@ -1631,17 +1599,16 @@ void ToolBox::UpdateCustomMenu()
if ( !mpData->m_aItems.empty() )
{
// nStartPos will hold the number of clipped items appended from first loop
- for ( ImplToolItems::iterator it(mpData->m_aItems.begin());
- it != mpData->m_aItems.end(); ++it)
+ for ( const auto& rItem : mpData->m_aItems )
{
- if( it->IsClipped() )
+ if( rItem.IsClipped() )
{
- sal_uInt16 id = it->mnId + TOOLBOX_MENUITEM_START;
- MenuItemBits nMenuItemBits = ConvertBitsFromToolBoxToMenu(it->mnBits);
- pMenu->InsertItem( id, it->maText, it->maImage, nMenuItemBits);
- pMenu->SetItemCommand( id, it->maCommandStr );
- pMenu->EnableItem( id, it->mbEnabled );
- pMenu->CheckItem ( id, it->meState == TRISTATE_TRUE );
+ sal_uInt16 id = rItem.mnId + TOOLBOX_MENUITEM_START;
+ MenuItemBits nMenuItemBits = ConvertBitsFromToolBoxToMenu(rItem.mnBits);
+ pMenu->InsertItem( id, rItem.maText, rItem.maImage, nMenuItemBits);
+ pMenu->SetItemCommand( id, rItem.maCommandStr );
+ pMenu->EnableItem( id, rItem.mbEnabled );
+ pMenu->CheckItem ( id, rItem.meState == TRISTATE_TRUE );
}
}
@@ -1649,17 +1616,16 @@ void ToolBox::UpdateCustomMenu()
pMenu->InsertSeparator();
// now append the items that are explicitly disabled
- for ( ImplToolItems::iterator it(mpData->m_aItems.begin());
- it != mpData->m_aItems.end(); ++it)
+ for ( const auto& rItem : mpData->m_aItems )
{
- if( it->IsItemHidden() )
+ if( rItem.IsItemHidden() )
{
- sal_uInt16 id = it->mnId + TOOLBOX_MENUITEM_START;
- MenuItemBits nMenuItemBits = ConvertBitsFromToolBoxToMenu(it->mnBits);
- pMenu->InsertItem( id, it->maText, it->maImage, nMenuItemBits );
- pMenu->SetItemCommand( id, it->maCommandStr );
- pMenu->EnableItem( id, it->mbEnabled );
- pMenu->CheckItem( id, it->meState == TRISTATE_TRUE );
+ sal_uInt16 id = rItem.mnId + TOOLBOX_MENUITEM_START;
+ MenuItemBits nMenuItemBits = ConvertBitsFromToolBoxToMenu(rItem.mnBits);
+ pMenu->InsertItem( id, rItem.maText, rItem.maImage, nMenuItemBits );
+ pMenu->SetItemCommand( id, rItem.maCommandStr );
+ pMenu->EnableItem( id, rItem.mbEnabled );
+ pMenu->CheckItem( id, rItem.meState == TRISTATE_TRUE );
}
}