]> git.sesse.net Git - kdenlive/blobdiff - src/archivewidget.h
Allow to manually edit video4linux capture profile
[kdenlive] / src / archivewidget.h
index 4ca08ec045a4bca037bdf75ceec3162d12161d49..e76aa669255c604749797f57666629cb32a62695 100644 (file)
 #include <QLabel>
 #include <QDialog>
 #include <QList>
-#include <KIO/Job>
 #include <KIO/CopyJob>
 #include <KTemporaryFile>
 
 class KJob;
+class KArchive;
 
 /**
  * @class ArchiveWidget
@@ -47,7 +47,11 @@ class ArchiveWidget : public QDialog, public Ui::ArchiveWidget_UI
 
 public:
     ArchiveWidget(QString projectName, QDomDocument doc, QList <DocClipBase*> list, QStringList luma_list, QWidget * parent = 0);
+    // Constructor for extracting widget
+    ArchiveWidget(const KUrl &url, QWidget * parent = 0);
     ~ArchiveWidget();
+
+    QString extractedProjectFile();
     
 private slots:
     void slotCheckSpace();
@@ -59,6 +63,13 @@ private slots:
     void createArchive();
     void slotArchivingProgress(int);
     void slotArchivingFinished(bool result);
+    void slotStartExtracting();
+    void doExtracting();
+    void slotExtractingFinished();
+    void slotExtractProgress();
+    void slotGotProgress(KJob*);
+    void openArchiveForExtraction();
+    void slotDisplayMessage(const QString &icon, const QString &text);
 
 protected:
     virtual void closeEvent ( QCloseEvent * e );
@@ -75,6 +86,11 @@ private:
     QFuture<void> m_archiveThread;
     QStringList m_foldersList;
     QMap <QString, QString> m_filesList;
+    bool m_extractMode;
+    KUrl m_extractUrl;
+    QString m_projectName;
+    QTimer *m_progressTimer;
+    KArchive *m_extractArchive;
 
     /** @brief Generate tree widget subitems from a string list of urls. */
     void generateItems(QTreeWidgetItem *parentItem, QStringList items);
@@ -84,7 +100,8 @@ private:
 signals:
     void archivingFinished(bool);
     void archiveProgress(int);
-
+    void extractingFinished();
+    void showMessage(const QString &, const QString &);
 };