X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Farchivewidget.h;h=ace36c6ff27bbef65a1af7f69dc7780efa7f2bb7;hb=c3deed6356f5456096f600d1a6e2d82ebe2e1fff;hp=32acc74a9cdb717e412f15a9de88aab347f583b8;hpb=93720831f547d37e5075262008c6af6e5a32aaf5;p=kdenlive diff --git a/src/archivewidget.h b/src/archivewidget.h index 32acc74a..ace36c6f 100644 --- a/src/archivewidget.h +++ b/src/archivewidget.h @@ -26,13 +26,17 @@ #include "docclipbase.h" #include +#include +#include +#include + #include #include #include -#include -#include + class KJob; +class KArchive; /** * @class ArchiveWidget @@ -40,21 +44,41 @@ class KJob; * @author Jean-Baptiste Mardelle */ +#if KDE_IS_VERSION(4,7,0) + class KMessageWidget; +#endif + class ArchiveWidget : public QDialog, public Ui::ArchiveWidget_UI { Q_OBJECT public: - ArchiveWidget(QDomDocument doc, QList list, QStringList luma_list, QWidget * parent = 0); + ArchiveWidget(QString projectName, QDomDocument doc, QList 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(); bool slotStartArchiving(bool firstPass = true); - void slotArchivingFinished(KJob *job); + void slotArchivingFinished(KJob *job = NULL); void slotArchivingProgress(KJob *, qulonglong); virtual void done ( int r ); bool closeAccepted(); + 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); + void slotJobResult(bool success, const QString &text); + void slotProxyOnly(int onlyProxy); protected: virtual void closeEvent ( QCloseEvent * e ); @@ -64,15 +88,36 @@ private: KIO::CopyJob *m_copyJob; QMap m_duplicateFiles; QMap m_replacementList; + QString m_name; QDomDocument m_doc; + KTemporaryFile *m_temp; + bool m_abortArchive; + QFuture m_archiveThread; + QStringList m_foldersList; + QMap m_filesList; + bool m_extractMode; + KUrl m_extractUrl; + QString m_projectName; + QTimer *m_progressTimer; + KArchive *m_extractArchive; + int m_missingClips; + +#if KDE_IS_VERSION(4,7,0) + KMessageWidget *m_infoMessage; +#endif /** @brief Generate tree widget subitems from a string list of urls. */ void generateItems(QTreeWidgetItem *parentItem, QStringList items); + /** @brief Generate tree widget subitems from a map of clip ids / urls. */ + void generateItems(QTreeWidgetItem *parentItem, QMap items); /** @brief Replace urls in project file. */ bool processProjectFile(); signals: - + void archivingFinished(bool); + void archiveProgress(int); + void extractingFinished(); + void showMessage(const QString &, const QString &); };