aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorTasuku Suzuki <[email protected]>2021-04-07 14:26:37 +0900
committerTasuku Suzuki <[email protected]>2021-04-07 12:58:26 +0000
commitffd5fc055f458407adbb8d190d9bdae5c5f0959d (patch)
tree4b4278f286d05db783289cba414a3a769b5b5738 /src/plugins/git/gitclient.cpp
parentd9cf979d6d1d99051be60aebeb78c28a6251249b (diff)
Git: Improve technical term "Tarball" for archive
Retrieve filters' name and suffix from mime database in Utils Change-Id: Ia48b44541d2104abb61dac27b9ce5820e341cbf6 Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: Oswald Buddenhagen <[email protected]>
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index c9da36cc749..0048043bcc0 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -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))