From 23501b427182e47d3bc36431f2603e5840f5f5cd Mon Sep 17 00:00:00 2001 From: Ville Voutilainen Date: Thu, 26 Nov 2020 07:05:11 +0200 Subject: Android: Don't remove icons or splashes if files with similar names exist Task-number: QTCREATORBUG-24879 Change-Id: Ie13a8a94534889c473414b5a5e771aae11d0f167 Reviewed-by: Alessandro Portale --- src/plugins/android/androidmanifesteditoriconwidget.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3