forked from qt-creator/qt-creator
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:
@@ -46,6 +46,7 @@
|
|||||||
#include <utils/checkablemessagebox.h>
|
#include <utils/checkablemessagebox.h>
|
||||||
#include <utils/fileutils.h>
|
#include <utils/fileutils.h>
|
||||||
#include <utils/hostosinfo.h>
|
#include <utils/hostosinfo.h>
|
||||||
|
#include <utils/mimetypes/mimedatabase.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/qtcprocess.h>
|
#include <utils/qtcprocess.h>
|
||||||
#include <utils/stringutils.h>
|
#include <utils/stringutils.h>
|
||||||
@@ -1219,15 +1220,19 @@ void GitClient::archive(const QString &workingDirectory, QString commit)
|
|||||||
repoDirectory = workingDirectory;
|
repoDirectory = workingDirectory;
|
||||||
QString repoName = QFileInfo(repoDirectory).fileName();
|
QString repoName = QFileInfo(repoDirectory).fileName();
|
||||||
|
|
||||||
QHash<QString, QString> filters {
|
QHash<QString, QString> filters;
|
||||||
{ tr("Tarball (*.tar.gz)"), ".tar.gz" },
|
|
||||||
{ tr("Zip archive (*.zip)"), ".zip" }
|
|
||||||
};
|
|
||||||
QString selectedFilter;
|
QString selectedFilter;
|
||||||
if (HostOsInfo::isWindowsHost())
|
auto appendFilter = [&filters, &selectedFilter](const QString &name, bool isSelected){
|
||||||
selectedFilter = filters.key(".zip");
|
const auto mimeType = Utils::mimeTypeForName(name);
|
||||||
else
|
const auto filterString = mimeType.filterString();
|
||||||
selectedFilter = filters.key(".tar.gz");
|
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;
|
QString output;
|
||||||
if (synchronousRevParseCmd(repoDirectory, commit, &output))
|
if (synchronousRevParseCmd(repoDirectory, commit, &output))
|
||||||
|
|||||||
Reference in New Issue
Block a user