Git: Improve technical term "Tarball" for archive

Retrieve filters' name and suffix from mime database in Utils

Change-Id: Ia48b44541d2104abb61dac27b9ce5820e341cbf6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
This commit is contained in:
Tasuku Suzuki
2021-04-07 14:26:37 +09:00
parent d9cf979d6d
commit ffd5fc055f

View File

@@ -46,6 +46,7 @@
#include <utils/checkablemessagebox.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/stringutils.h>
@@ -1219,15 +1220,19 @@ void GitClient::archive(const QString &workingDirectory, QString commit)
repoDirectory = workingDirectory;
QString repoName = QFileInfo(repoDirectory).fileName();
QHash<QString, QString> filters {
{ tr("Tarball (*.tar.gz)"), ".tar.gz" },
{ tr("Zip archive (*.zip)"), ".zip" }
};
QHash<QString, QString> filters;
QString selectedFilter;
if (HostOsInfo::isWindowsHost())
selectedFilter = filters.key(".zip");
else
selectedFilter = filters.key(".tar.gz");
auto appendFilter = [&filters, &selectedFilter](const QString &name, bool isSelected){
const auto mimeType = Utils::mimeTypeForName(name);
const auto filterString = mimeType.filterString();
filters.insert(filterString, "." + mimeType.preferredSuffix());
if (isSelected)
selectedFilter = filterString;
};
bool windows = HostOsInfo::isWindowsHost();
appendFilter("application/zip", windows);
appendFilter("application/x-compressed-tar", !windows);
QString output;
if (synchronousRevParseCmd(repoDirectory, commit, &output))