summaryrefslogtreecommitdiff
path: root/src/libs/utils/archive.h
diff options
context:
space:
mode:
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