summaryrefslogtreecommitdiff
path: root/examples/svg/network/bearercloud/bearercloud.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-09-21 08:34:25 +0200
committerLiang Qi <liang.qi@qt.io>2016-09-21 08:34:25 +0200
commit3246c09fa5dd9c9354be8ec7d41fa5d5a57f0d0e (patch)
tree7e177e3205bcbdb44bef0630b71efeb632314eee /examples/svg/network/bearercloud/bearercloud.cpp
parent28caa8995d6872e665085f48f6efa770fc912201 (diff)
parent5a00abdefd1c050aae8760dfc01ae5e3631077aa (diff)
downloadqtsvg-3246c09fa5dd9c9354be8ec7d41fa5d5a57f0d0e.tar.gz
Merge remote-tracking branch 'origin/5.8' into dev
Change-Id: Idddd7f4219934dfe950a9e85b1f647ed11817495
Diffstat (limited to 'examples/svg/network/bearercloud/bearercloud.cpp')
-rw-r--r--examples/svg/network/bearercloud/bearercloud.cpp39
1 files changed, 25 insertions, 14 deletions
diff --git a/examples/svg/network/bearercloud/bearercloud.cpp b/examples/svg/network/bearercloud/bearercloud.cpp
index 1ec711e..bf2a444 100644
--- a/examples/svg/network/bearercloud/bearercloud.cpp
+++ b/examples/svg/network/bearercloud/bearercloud.cpp
@@ -113,17 +113,19 @@ void BearerCloud::cloudMoved()
void BearerCloud::timerEvent(QTimerEvent *)
{
- QList<Cloud *> clouds;
- foreach (QGraphicsItem *item, items()) {
+ std::vector<Cloud *> clouds;
+ const auto graphicsItems = items();
+ clouds.reserve(graphicsItems.size());
+ for (QGraphicsItem *item : graphicsItems) {
if (Cloud *cloud = qgraphicsitem_cast<Cloud *>(item))
- clouds << cloud;
+ clouds.push_back(cloud);
}
- foreach (Cloud *cloud, clouds)
+ for (Cloud *cloud : clouds)
cloud->calculateForces();
bool cloudsMoved = false;
- foreach (Cloud *cloud, clouds)
+ for (Cloud *cloud : clouds)
cloudsMoved |= cloud->advance();
if (!cloudsMoved) {
@@ -158,8 +160,13 @@ void BearerCloud::configurationAdded(const QNetworkConfiguration &config)
//! [3]
void BearerCloud::configurationRemoved(const QNetworkConfiguration &config)
{
- foreach (const QNetworkConfiguration::StateFlags &state, configStates.uniqueKeys())
- configStates.remove(state, config.identifier());
+ const auto id = config.identifier();
+ for (auto it = configStates.begin(), end = configStates.end(); it != end; /* erasing */) {
+ if (it.value() == id)
+ it = configStates.erase(it);
+ else
+ ++it;
+ }
Cloud *item = configurations.take(config.identifier());
@@ -173,10 +180,15 @@ void BearerCloud::configurationRemoved(const QNetworkConfiguration &config)
//! [4]
void BearerCloud::configurationChanged(const QNetworkConfiguration &config)
{
- foreach (const QNetworkConfiguration::StateFlags &state, configStates.uniqueKeys())
- configStates.remove(state, config.identifier());
+ const auto id = config.identifier();
+ for (auto it = configStates.begin(), end = configStates.end(); it != end; /* erasing */) {
+ if (it.value() == id)
+ it = configStates.erase(it);
+ else
+ ++it;
+ }
- configStates.insert(config.state(), config.identifier());
+ configStates.insert(config.state(), id);
cloudMoved();
}
@@ -185,10 +197,9 @@ void BearerCloud::configurationChanged(const QNetworkConfiguration &config)
//! [1]
void BearerCloud::updateConfigurations()
{
- QList<QNetworkConfiguration> allConfigurations = manager.allConfigurations();
-
- while (!allConfigurations.isEmpty())
- configurationAdded(allConfigurations.takeFirst());
+ const auto allConfigurations = manager.allConfigurations();
+ for (const QNetworkConfiguration &config : allConfigurations)
+ configurationAdded(config);
cloudMoved();
}