summaryrefslogtreecommitdiff
path: root/src/libs/utils/archive.h
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-06-08 09:35:25 +0200
committerEike Ziller <eike.ziller@qt.io>2020-06-15 07:45:10 +0000
commit18ee72ac3f73f76b8c94b428ec4b72cb29d03f1c (patch)
treec75e59a782c2514aa07c4a5950476941b73aa2ef /src/libs/utils/archive.h
parent7cedde2a0ae4776dfba4ea3643a2ef8e76e54dfc (diff)
downloadqt-creator-18ee72ac3f73f76b8c94b428ec4b72cb29d03f1c.tar.gz
Utils/Archive: Add simple async API
So we can integrate it deeper into the plugin wizard. Change-Id: I7f7a9eb8e07d3eeab6a4ecf92161f7d04f5fa5c2 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/libs/utils/archive.h')
-rw-r--r--src/libs/utils/archive.h19
1 files changed, 17 insertions, 2 deletions
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 <QObject>
+#include <QProcess>
+
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