diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-07-11 09:54:15 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-07-11 09:15:13 +0000 |
commit | 940306f134ded0a323821526d09f12670495b29c (patch) | |
tree | bacd1bfdcb689810739f3b2eb0fc1402d38434d1 | |
parent | 962371cbe3f01f3c30991522de1d03c8dfd77164 (diff) |
Eradicate all but one Q_FOREACH loop
Q_FOREACH is going to be deprecated, or at the very least banned from
use in Qt code.
All these are trivial in the sense that the loop body clearly doesn't
modify the container over which we iterate, and that the container is
const, or trivially marked as such.
In one case, replaced Q_FOREACH + delete + clear() with
qDeleteAll(qExchange()), in three others, replaced Qt containers with
statically-known content with plain C arrays.
Change-Id: I718821811370f0cfefac3893283572d39a7d957d
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
18 files changed, 59 insertions, 55 deletions
diff --git a/examples/multimedia/spectrum/app/engine.cpp b/examples/multimedia/spectrum/app/engine.cpp index a60904e5e..fd977785b 100644 --- a/examples/multimedia/spectrum/app/engine.cpp +++ b/examples/multimedia/spectrum/app/engine.cpp @@ -585,12 +585,11 @@ bool Engine::selectFormat() format.setCodec("audio/pcm"); format.setSampleSize(16); format.setSampleType(QAudioFormat::SignedInt); - int sampleRate, channels; - foreach (sampleRate, sampleRatesList) { + for (int sampleRate : qAsConst(sampleRatesList)) { if (foundSupportedFormat) break; format.setSampleRate(sampleRate); - foreach (channels, channelsList) { + for (int channels : qAsConst(channelsList)) { format.setChannelCount(channels); const bool inputSupport = m_generateTone || m_audioInputDevice.isFormatSupported(format); @@ -752,8 +751,7 @@ void Engine::createOutputDir() // Ensure output directory exists and is empty if (m_outputDir.exists()) { const QStringList files = m_outputDir.entryList(QDir::Files); - QString file; - foreach (file, files) + for (const QString &file : files) m_outputDir.remove(file); } else { QDir::current().mkdir("output"); diff --git a/examples/multimedia/spectrum/app/settingsdialog.cpp b/examples/multimedia/spectrum/app/settingsdialog.cpp index f1723077e..889fcf639 100644 --- a/examples/multimedia/spectrum/app/settingsdialog.cpp +++ b/examples/multimedia/spectrum/app/settingsdialog.cpp @@ -72,11 +72,10 @@ SettingsDialog::SettingsDialog( // Populate combo boxes - QAudioDeviceInfo device; - foreach (device, availableInputDevices) + for (const QAudioDeviceInfo &device : availableInputDevices) m_inputDeviceComboBox->addItem(device.deviceName(), QVariant::fromValue(device)); - foreach (device, availableOutputDevices) + for (const QAudioDeviceInfo &device : availableOutputDevices) m_outputDeviceComboBox->addItem(device.deviceName(), QVariant::fromValue(device)); diff --git a/examples/multimedia/spectrum/app/waveform.cpp b/examples/multimedia/spectrum/app/waveform.cpp index 33e0297bc..d0058b2e3 100644 --- a/examples/multimedia/spectrum/app/waveform.cpp +++ b/examples/multimedia/spectrum/app/waveform.cpp @@ -243,10 +243,7 @@ void Waveform::audioPositionChanged(qint64 position) void Waveform::deletePixmaps() { - QPixmap *pixmap; - foreach (pixmap, m_pixmaps) - delete pixmap; - m_pixmaps.clear(); + qDeleteAll(qExchange(m_pixmaps, {})); } void Waveform::createPixmaps(const QSize &widgetSize) diff --git a/src/multimedia/doc/snippets/multimedia-snippets/audio.cpp b/src/multimedia/doc/snippets/multimedia-snippets/audio.cpp index 9646b708e..57d3adfb4 100644 --- a/src/multimedia/doc/snippets/multimedia-snippets/audio.cpp +++ b/src/multimedia/doc/snippets/multimedia-snippets/audio.cpp @@ -213,7 +213,8 @@ void AudioDeviceInfo() //! [Setting audio format] //! [Dumping audio formats] - foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput)) + const auto deviceInfos = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput); + for (const QAudioDeviceInfo &deviceInfo : deviceInfos) qDebug() << "Device name: " << deviceInfo.deviceName(); //! [Dumping audio formats] } diff --git a/src/multimedia/doc/snippets/multimedia-snippets/camera.cpp b/src/multimedia/doc/snippets/multimedia-snippets/camera.cpp index 52f3203be..f851caadd 100644 --- a/src/multimedia/doc/snippets/multimedia-snippets/camera.cpp +++ b/src/multimedia/doc/snippets/multimedia-snippets/camera.cpp @@ -179,8 +179,8 @@ void overview_movie() void camera_listing() { //! [Camera listing] - QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); - foreach (const QCameraInfo &cameraInfo, cameras) + const QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); + for (const QCameraInfo &cameraInfo : cameras) qDebug() << cameraInfo.deviceName(); //! [Camera listing] } @@ -188,8 +188,8 @@ void camera_listing() void camera_selection() { //! [Camera selection] - QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); - foreach (const QCameraInfo &cameraInfo, cameras) { + const QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); + for (const QCameraInfo &cameraInfo : cameras) { if (cameraInfo.deviceName() == "mycamera") camera = new QCamera(cameraInfo); } @@ -269,8 +269,8 @@ void camerafocus() //! [Camera focus zones] focus->setFocusPointMode(QCameraFocus::FocusPointAuto); - QList<QCameraFocusZone> zones = focus->focusZones(); - foreach (QCameraFocusZone zone, zones) { + const QList<QCameraFocusZone> zones = focus->focusZones(); + for (const QCameraFocusZone &zone : zones) { if (zone.status() == QCameraFocusZone::Focused) { // Draw a green box at zone.area() } else if (zone.status() == QCameraFocusZone::Selected) { diff --git a/src/multimedia/doc/snippets/multimedia-snippets/media.cpp b/src/multimedia/doc/snippets/multimedia-snippets/media.cpp index 7cabfabf3..60097d917 100644 --- a/src/multimedia/doc/snippets/multimedia-snippets/media.cpp +++ b/src/multimedia/doc/snippets/multimedia-snippets/media.cpp @@ -223,10 +223,10 @@ void MediaExample::AudioRecorder() //! [Audio recorder] //! [Audio recorder inputs] - QStringList inputs = audioRecorder->audioInputs(); + const QStringList inputs = audioRecorder->audioInputs(); QString selectedInput = audioRecorder->defaultAudioInput(); - foreach (QString input, inputs) { + for (const QString &input : inputs) { QString description = audioRecorder->audioInputDescription(input); // show descriptions to user and allow selection selectedInput = input; diff --git a/src/plugins/avfoundation/camera/avfvideoencodersettingscontrol.mm b/src/plugins/avfoundation/camera/avfvideoencodersettingscontrol.mm index bbb16e709..ddf833fd3 100644 --- a/src/plugins/avfoundation/camera/avfvideoencodersettingscontrol.mm +++ b/src/plugins/avfoundation/camera/avfvideoencodersettingscontrol.mm @@ -76,7 +76,7 @@ static bool format_supports_framerate(AVCaptureDeviceFormat *format, qreal fps) static bool real_list_contains(const QList<qreal> &list, qreal value) { - Q_FOREACH (qreal r, list) { + for (qreal r : list) { if (qFuzzyCompare(r, value)) return true; } diff --git a/src/plugins/common/evr/evrcustompresenter.cpp b/src/plugins/common/evr/evrcustompresenter.cpp index 84786e9a9..3de8d3ac3 100644 --- a/src/plugins/common/evr/evrcustompresenter.cpp +++ b/src/plugins/common/evr/evrcustompresenter.cpp @@ -1029,7 +1029,7 @@ void EVRCustomPresenter::supportedFormatsChanged() m_canRenderToSurface = true; } else { formats = m_surface->supportedPixelFormats(QAbstractVideoBuffer::NoHandle); - Q_FOREACH (QVideoFrame::PixelFormat format, formats) { + for (QVideoFrame::PixelFormat format : qAsConst(formats)) { if (SUCCEEDED(m_presentEngine->checkFormat(qt_evr_D3DFormatFromPixelFormat(format)))) { m_canRenderToSurface = true; break; diff --git a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp index 9d44dc16f..c946c0894 100644 --- a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp +++ b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp @@ -226,7 +226,8 @@ void tst_QAudioDeviceInfo::equalityOperator() QVERIFY(!(dev1 != dev2)); // Make sure each available device is not equal to null - foreach (const QAudioDeviceInfo info, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput)) { + const auto infos = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput); + for (const QAudioDeviceInfo info : infos) { QVERIFY(dev1 != info); QVERIFY(!(dev1 == info)); diff --git a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp index 64e872f27..bcc50f78a 100644 --- a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp +++ b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp @@ -220,7 +220,7 @@ void tst_QAudioInput::initTestCase() QVERIFY(m_temporaryDir->isValid()); const QString temporaryAudioPath = m_temporaryDir->path() + slash; - foreach (const QAudioFormat &format, testFormats) { + for (const QAudioFormat &format : qAsConst(testFormats)) { const QString fileName = temporaryAudioPath + formatToFileName(format) + QStringLiteral(".wav"); audioFiles.append(FilePtr::create(fileName)); } diff --git a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp index f167bf8ec..f3a676073 100644 --- a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp +++ b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp @@ -264,7 +264,7 @@ void tst_QAudioOutput::initTestCase() QVERIFY(m_temporaryDir->isValid()); const QString temporaryAudioPath = m_temporaryDir->path() + slash; - foreach (const QAudioFormat &format, testFormats) { + for (const QAudioFormat &format : qAsConst(testFormats)) { qint64 len = (format.sampleRate()*format.channelCount()*(format.sampleSize()/8)*2); // 2 seconds createSineWaveData(format, len); // Write generate sine wave data to file diff --git a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp index b8d501c12..b0497be2f 100644 --- a/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp +++ b/tests/auto/integration/qcamerabackend/tst_qcamerabackend.cpp @@ -113,7 +113,8 @@ void tst_QCameraBackend::testDeviceDescription() if (deviceCount == 0) QVERIFY(QCamera::deviceDescription(QByteArray("random")).isNull()); else { - foreach (const QByteArray &device, QCamera::availableDevices()) + const auto devices = QCamera::availableDevices(); + for (const QByteArray &device : devices) QVERIFY(QCamera::deviceDescription(device).length() > 0); } } @@ -121,14 +122,14 @@ void tst_QCameraBackend::testDeviceDescription() void tst_QCameraBackend::testCameraInfo() { int deviceCount = QMediaServiceProvider::defaultServiceProvider()->devices(QByteArray(Q_MEDIASERVICE_CAMERA)).count(); - QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); + const QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); QCOMPARE(cameras.count(), deviceCount); if (cameras.isEmpty()) { QVERIFY(QCameraInfo::defaultCamera().isNull()); QSKIP("Camera selection is not supported"); } - foreach (const QCameraInfo &info, cameras) { + for (const QCameraInfo &info : cameras) { QVERIFY(!info.deviceName().isEmpty()); QVERIFY(!info.description().isEmpty()); QVERIFY(info.orientation() % 90 == 0); @@ -624,9 +625,9 @@ void tst_QCameraBackend::testVideoRecording_data() { QTest::addColumn<QByteArray>("device"); - QList<QByteArray> devices = QCamera::availableDevices(); + const QList<QByteArray> devices = QCamera::availableDevices(); - foreach (const QByteArray &device, devices) { + for (const QByteArray &device : devices) { QTest::newRow(QCamera::deviceDescription(device).toUtf8()) << device; } diff --git a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp index 5b9fdd03c..798b63f96 100644 --- a/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp +++ b/tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp @@ -280,11 +280,11 @@ void tst_QDeclarativeVideoOutput::surfaceSource() QVERIFY(holder.videoSurface() != 0); // Now we could do things with the surface.. - QList<QVideoFrame::PixelFormat> formats = holder.videoSurface()->supportedPixelFormats(); + const QList<QVideoFrame::PixelFormat> formats = holder.videoSurface()->supportedPixelFormats(); QVERIFY(formats.count() > 0); // See if we can start and stop each pixel format (..) - foreach (QVideoFrame::PixelFormat format, formats) { + for (QVideoFrame::PixelFormat format : formats) { QVideoSurfaceFormat surfaceFormat(QSize(200,100), format); QVERIFY(holder.videoSurface()->isFormatSupported(surfaceFormat)); // This does kind of depend on node factories diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index a776602a0..a61352a18 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -152,7 +152,7 @@ QMediaContent tst_QMediaPlayerBackend::selectVideoFile(const QStringList& mediaC QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error))); - foreach (QString s, mediaCandidates) { + for (const QString &s : mediaCandidates) { QFileInfo videoFile(s); if (!videoFile.exists()) continue; diff --git a/tests/auto/integration/shared/mediafileselector.h b/tests/auto/integration/shared/mediafileselector.h index 8b88d14a4..984da6e2b 100644 --- a/tests/auto/integration/shared/mediafileselector.h +++ b/tests/auto/integration/shared/mediafileselector.h @@ -42,7 +42,7 @@ static QMediaContent selectMediaFile(const QStringList& mediaCandidates) QSignalSpy errorSpy(&player, SIGNAL(error(QMediaPlayer::Error))); - foreach (QString s, mediaCandidates) { + for (const QString &s : mediaCandidates) { QFileInfo mediaFile(s); if (!mediaFile.exists()) continue; diff --git a/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp b/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp index 3a7b661df..ce1b2b9d0 100644 --- a/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp +++ b/tests/auto/unit/qmediapluginloader/tst_qmediapluginloader.cpp @@ -72,7 +72,7 @@ void tst_QMediaPluginLoader::testInstance() if (keys.isEmpty()) // Test is invalidated, skip. QSKIP("No plug-ins available"); - foreach (const QString &key, keys) + for (const QString &key : keys) QVERIFY(loader->instance(key) != 0); } @@ -83,7 +83,7 @@ void tst_QMediaPluginLoader::testInstances() if (keys.isEmpty()) // Test is invalidated, skip. QSKIP("No plug-ins available"); - foreach (const QString &key, keys) + for (const QString &key : keys) QVERIFY(loader->instances(key).size() > 0); } diff --git a/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h b/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h index 017615aa9..1b2372cf5 100644 --- a/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h +++ b/tests/auto/unit/qmultimedia_common/mockcameraexposurecontrol.h @@ -51,13 +51,22 @@ public: m_shutterRanges << 0.001 << 0.01 << 0.1 << 1.0; m_exposureRanges << -2.0 << 2.0; - QList<QCameraExposure::ExposureMode> exposureModes; - exposureModes << QCameraExposure::ExposureAuto << QCameraExposure::ExposureManual << QCameraExposure::ExposureBacklight - << QCameraExposure::ExposureNight << QCameraExposure::ExposureSpotlight << QCameraExposure::ExposureSports - << QCameraExposure::ExposureSnow << QCameraExposure:: ExposureLargeAperture << QCameraExposure::ExposureSmallAperture - << QCameraExposure::ExposurePortrait << QCameraExposure::ExposureModeVendor << QCameraExposure::ExposureBeach; + const QCameraExposure::ExposureMode exposureModes[] = { + QCameraExposure::ExposureAuto, + QCameraExposure::ExposureManual, + QCameraExposure::ExposureBacklight, + QCameraExposure::ExposureNight, + QCameraExposure::ExposureSpotlight, + QCameraExposure::ExposureSports, + QCameraExposure::ExposureSnow, + QCameraExposure:: ExposureLargeAperture, + QCameraExposure::ExposureSmallAperture, + QCameraExposure::ExposurePortrait, + QCameraExposure::ExposureModeVendor, + QCameraExposure::ExposureBeach, + }; - foreach (QCameraExposure::ExposureMode mode, exposureModes) + for (QCameraExposure::ExposureMode mode : exposureModes) m_exposureModes << QVariant::fromValue<QCameraExposure::ExposureMode>(mode); m_meteringModes << QVariant::fromValue<QCameraExposure::MeteringMode>(QCameraExposure::MeteringMatrix) diff --git a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp index 43dc52022..7ba631e58 100644 --- a/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp +++ b/tests/auto/unit/qpaintervideosurface/tst_qpaintervideosurface.cpp @@ -730,16 +730,14 @@ void tst_QPainterVideoSurface::shaderSupportedFormat_data() QTest::addColumn<bool>("supportedPixelFormat"); QTest::addColumn<bool>("supportedFormat"); - QList<QPair<QPainterVideoSurface::ShaderType, QByteArray> > types; - - + const QPair<QPainterVideoSurface::ShaderType, QByteArray> types[] = { #if !defined(QT_OPENGL_ES) - types << qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")); + qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")), #endif - types << qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")); + qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")), + }; - QPair<QPainterVideoSurface::ShaderType, QByteArray> type; - foreach (type, types) { + for (const auto &type : types) { QTest::newRow((type.second + "rgb32 640x480").constData()) << type.first << QAbstractVideoBuffer::NoHandle @@ -952,14 +950,14 @@ void tst_QPainterVideoSurface::shaderPresent_data() QTest::addColumn<int>("bytesB"); QTest::addColumn<int>("bytesPerLineB"); - QList<QPair<QPainterVideoSurface::ShaderType, QByteArray> > types; + const QPair<QPainterVideoSurface::ShaderType, QByteArray> types[] = { #if !defined(QT_OPENGL_ES) - types << qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")); + qMakePair(QPainterVideoSurface::FragmentProgramShader, QByteArray("ARBfp: ")), #endif - types << qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")); + qMakePair(QPainterVideoSurface::GlslShader, QByteArray("GLSL: ")), + }; - QPair<QPainterVideoSurface::ShaderType, QByteArray> type; - foreach (type, types) { + for (const auto &type : types) { QTest::newRow((type.second + "rgb32 -> argb32").constData()) << type.first << QVideoFrame::Format_RGB32 |