From 18ee72ac3f73f76b8c94b428ec4b72cb29d03f1c Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 8 Jun 2020 09:35:25 +0200 Subject: Utils/Archive: Add simple async API So we can integrate it deeper into the plugin wizard. Change-Id: I7f7a9eb8e07d3eeab6a4ecf92161f7d04f5fa5c2 Reviewed-by: David Schulz --- src/libs/utils/archive.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/libs/utils/archive.h') diff --git a/src/libs/utils/archive.h b/src/libs/utils/archive.h index 1447b9898a..324a473ba3 100644 --- a/src/libs/utils/archive.h +++ b/src/libs/utils/archive.h @@ -29,14 +29,29 @@ #include "fileutils.h" +#include +#include + namespace Utils { -class QTCREATOR_UTILS_EXPORT Archive +class QTCREATOR_UTILS_EXPORT Archive : public QObject { - Q_DECLARE_TR_FUNCTIONS(Utils::Archive) + Q_OBJECT public: static bool supportsFile(const FilePath &filePath, QString *reason = nullptr); static bool unarchive(const FilePath &src, const FilePath &dest, QWidget *parent); + static Archive *unarchive(const FilePath &src, const FilePath &dest); + + void cancel(); + +signals: + void outputReceived(const QString &output); + void finished(bool success); + +private: + Archive() = default; + + QProcess *m_process = nullptr; }; } // namespace Utils -- cgit v1.2.1