From 25dd9c521fc064a71db63b110b7973225ee20c02 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 18 Aug 2016 12:31:26 +0300 Subject: qdnd.cpp: Extract Method imageMimeFormats imageReadMimeFormats and imageWriteMimeFormats had duplicated source code. While touching the code, do some optimizations: - use QStringBuilder more - replace index based loop with 'range for' Change-Id: I174456bf4e55e030930b9b5a4aaef57c722d8f05 Reviewed-by: Edward Welbourne --- src/gui/kernel/qdnd.cpp | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) (limited to 'src/gui') diff --git a/src/gui/kernel/qdnd.cpp b/src/gui/kernel/qdnd.cpp index 21f9b46654..a59612474b 100644 --- a/src/gui/kernel/qdnd.cpp +++ b/src/gui/kernel/qdnd.cpp @@ -149,17 +149,12 @@ Qt::DropAction QDragManager::drag(QDrag *o) #if !(defined(QT_NO_DRAGANDDROP) && defined(QT_NO_CLIPBOARD)) -static QStringList imageReadMimeFormats() +static QStringList imageMimeFormats(const QList &imageFormats) { QStringList formats; - QList imageFormats = QImageReader::supportedImageFormats(); - const int numImageFormats = imageFormats.size(); - formats.reserve(numImageFormats); - for (int i = 0; i < numImageFormats; ++i) { - QString format = QLatin1String("image/"); - format += QString::fromLatin1(imageFormats.at(i).toLower()); - formats.append(format); - } + formats.reserve(imageFormats.size()); + for (const auto &format : imageFormats) + formats.append(QLatin1String("image/") + QLatin1String(format.toLower())); //put png at the front because it is best int pngIndex = formats.indexOf(QLatin1String("image/png")); @@ -169,25 +164,15 @@ static QStringList imageReadMimeFormats() return formats; } - -static QStringList imageWriteMimeFormats() +static inline QStringList imageReadMimeFormats() { - QStringList formats; - QList imageFormats = QImageWriter::supportedImageFormats(); - const int numImageFormats = imageFormats.size(); - formats.reserve(numImageFormats); - for (int i = 0; i < numImageFormats; ++i) { - QString format = QLatin1String("image/"); - format += QString::fromLatin1(imageFormats.at(i).toLower()); - formats.append(format); - } + return imageMimeFormats(QImageReader::supportedImageFormats()); +} - //put png at the front because it is best - int pngIndex = formats.indexOf(QLatin1String("image/png")); - if (pngIndex != -1 && pngIndex != 0) - formats.move(pngIndex, 0); - return formats; +static inline QStringList imageWriteMimeFormats() +{ + return imageMimeFormats(QImageWriter::supportedImageFormats()); } QInternalMimeData::QInternalMimeData() -- cgit v1.2.3