#include "docclipbase.h"
#include <kio/global.h>
+#include <KIO/CopyJob>
+#include <KTemporaryFile>
+#include <kdeversion.h>
+
#include <QLabel>
#include <QDialog>
#include <QList>
-#include <KIO/CopyJob>
-#include <KTemporaryFile>
+
class KJob;
-class KTar;
+class KArchive;
/**
* @class ArchiveWidget
* @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 <DocClipBase*> list, QStringList luma_list, QWidget * parent = 0);
// Constructor for extracting widget
- ArchiveWidget(const KUrl &url, QWidget * parent = 0);
+ explicit ArchiveWidget(const KUrl &url, QWidget * parent = 0);
~ArchiveWidget();
QString extractedProjectFile();
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 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 );
KUrl m_extractUrl;
QString m_projectName;
QTimer *m_progressTimer;
- KTar *m_extractArchive;
+ 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 <QString, QString> items);
/** @brief Replace urls in project file. */
bool processProjectFile();
void archivingFinished(bool);
void archiveProgress(int);
void extractingFinished();
+ void showMessage(const QString &, const QString &);
};