X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Farchivewidget.h;h=de4c1f54ba51021452626f89befd36db604e013b;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=4ca08ec045a4bca037bdf75ceec3162d12161d49;hpb=34d730a4cfff25e2481ff7a6d16cc68f99f8ce3b;p=kdenlive diff --git a/src/archivewidget.h b/src/archivewidget.h index 4ca08ec0..de4c1f54 100644 --- a/src/archivewidget.h +++ b/src/archivewidget.h @@ -26,14 +26,17 @@ #include "docclipbase.h" #include +#include +#include +#include + #include #include #include -#include -#include -#include + class KJob; +class KArchive; /** * @class ArchiveWidget @@ -41,24 +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(QString projectName, QDomDocument doc, QList list, QStringList luma_list, QWidget * parent = 0); + ArchiveWidget(const QString &projectName, const QDomDocument &doc, const QList &list, const QStringList &luma_list, QWidget * parent = 0); + // Constructor for extracting widget + explicit ArchiveWidget(const KUrl &url, QWidget * parent = 0); ~ArchiveWidget(); + + QString extractedProjectFile() const; private slots: void slotCheckSpace(); bool slotStartArchiving(bool firstPass = true); - void slotArchivingFinished(KJob *job = NULL); + void slotArchivingFinished(KJob *job = NULL, bool finished = false); 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 ); @@ -75,16 +95,29 @@ private: 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); + void generateItems(QTreeWidgetItem *parentItem, const QStringList &items); + /** @brief Generate tree widget subitems from a map of clip ids / urls. */ + void generateItems(QTreeWidgetItem *parentItem, const 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 &); };