diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2015-05-18 09:32:14 +0400 |
---|---|---|
committer | Konstantin Ritt <ritt.ks@gmail.com> | 2015-07-31 09:52:49 +0000 |
commit | 839af2268e2b0b8079d1f107db71dcf0390c11ee (patch) | |
tree | b0fbd144c88ac795e07f9b7550cc2cf68e72d4dc /src/plugins | |
parent | 5e3e34731b7880ac775e8f1fa156ce016e6820f1 (diff) |
Micro optimization to Basic/Android FDB::populateFontDatabase()
Re-use QDir to check if dir exists
(QDir::exists() also returns false if path specifies a file),
and use somewhat faster QDir::entryInfoList() to iterate the font files.
Change-Id: Iea3a6e5548928a01db71037425adf170cb722151
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformfontdatabase.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp index b4b6123147..be1a3d7bdf 100644 --- a/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp +++ b/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp @@ -45,16 +45,19 @@ QString QAndroidPlatformFontDatabase::fontDir() const void QAndroidPlatformFontDatabase::populateFontDatabase() { QString fontpath = fontDir(); + QDir dir(fontpath); - if (!QFile::exists(fontpath)) { + if (!dir.exists()) { qFatal("QFontDatabase: Cannot find font directory %s - is Qt installed correctly?", qPrintable(fontpath)); } - QDir dir(fontpath); - QList<QFileInfo> entries = dir.entryInfoList(QStringList() << QStringLiteral("*.ttf") << QStringLiteral("*.otf"), QDir::Files); - for (int i = 0; i < int(entries.count()); ++i) { - const QByteArray file = QFile::encodeName(entries.at(i).absoluteFilePath()); + QStringList nameFilters; + nameFilters << QLatin1String("*.ttf") + << QLatin1String("*.otf"); + + foreach (const QFileInfo &fi, dir.entryInfoList(nameFilters, QDir::Files)) { + const QByteArray file = QFile::encodeName(fi.absoluteFilePath()); QBasicFontDatabase::addTTFile(QByteArray(), file); } } |