diff options
author | Ville Voutilainen <ville.voutilainen@qt.io> | 2020-11-26 07:05:11 +0200 |
---|---|---|
committer | Ville Voutilainen <ville.voutilainen@qt.io> | 2020-11-26 10:52:53 +0000 |
commit | 23501b427182e47d3bc36431f2603e5840f5f5cd (patch) | |
tree | 3c13017e547f4a25e70cc809d2e4a531e0c53dee | |
parent | d31f2219fda1a96e755b96621443df64ec5bd2a1 (diff) |
Android: Don't remove icons or splashes if files with similar names exist
Task-number: QTCREATORBUG-24879
Change-Id: Ie13a8a94534889c473414b5a5e771aae11d0f167
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r-- | src/plugins/android/androidmanifesteditoriconwidget.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/android/androidmanifesteditoriconwidget.cpp b/src/plugins/android/androidmanifesteditoriconwidget.cpp index 5eb6a04405..9cc9ffda66 100644 --- a/src/plugins/android/androidmanifesteditoriconwidget.cpp +++ b/src/plugins/android/androidmanifesteditoriconwidget.cpp @@ -255,6 +255,17 @@ static QImage scaleWithoutStretching(const QImage& original, const QSize& target return ret; } +static bool similarFilesExist(const QString &path) +{ + QFileInfo fileInfo(path); + QDir imageDir(fileInfo.absolutePath()); + QString baseName(fileInfo.completeBaseName()); + baseName.append(QLatin1String(".*")); + imageDir.setNameFilters({baseName}); + auto entries = imageDir.entryList(); + return !entries.empty(); +} + void AndroidManifestEditorIconWidget::copyIcon() { if (m_targetIconPath.isEmpty()) @@ -269,7 +280,8 @@ void AndroidManifestEditorIconWidget::copyIcon() if (m_iconPath != targetPath) removeIcon(); if (original.isNull()) { - m_iconPath.clear(); + if (!similarFilesExist(m_iconPath)) + m_iconPath.clear(); return; } if (m_iconPath == targetPath) |