diff options
Diffstat (limited to 'archiveview.h')
-rw-r--r-- | archiveview.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/archiveview.h b/archiveview.h index b76e487..a62fd66 100644 --- a/archiveview.h +++ b/archiveview.h @@ -8,20 +8,23 @@ #ifndef ARCHIVEVIEW_H #define ARCHIVEVIEW_H -#include <QWidget> -#include <QSortFilterProxyModel> +#include <QDialog> #include <QRegExp> +#include <QSortFilterProxyModel> +#include <QWidget> #include "archivemodel.h" #include "smtreeview.h" -class QSortFilterProxyModel; class QComboBox; +class QLabel; class QLineEdit; +class QSortFilterProxyModel; class ArchiveTree; class ArchiveFiles; class ArchiveProxy; +class ArchiveProgressDialog; class ArchiveView : public QWidget { Q_OBJECT @@ -29,10 +32,16 @@ class ArchiveView : public QWidget { explicit ArchiveView(QWidget *parent = 0); int currentSortOrder() const; void writeSettings(); + // this is needed for displaying the progress dialog in the + // center of the main window... + void setConstructingDone() { mConstructing = false; } + QWidget *progressDialog(); private slots: void setFilter(); void clearFilter(); + void collectorStarted(); + void collectorFinished(); private: QComboBox *mSortOrder; @@ -41,6 +50,8 @@ class ArchiveView : public QWidget { ArchiveFiles *mFiles; ArchiveModel *mArchiveModel; ArchiveProxy *mProxy; + ArchiveProgressDialog *mProgress; + bool mConstructing; }; class ArchiveTree : public SmTreeView { @@ -52,6 +63,18 @@ class ArchiveTree : public SmTreeView { ArchiveModel *mModel; }; +class ArchiveProgressDialog : public QDialog { + Q_OBJECT + public: + explicit ArchiveProgressDialog(QWidget *parent = 0, Qt::WindowFlags f = Qt::WindowStaysOnTopHint); + + public slots: + void setMessage(const QString &msg); + + private: + QLabel *mMessage; +}; + class ArchiveFiles : public SmTreeView { public: explicit ArchiveFiles(QWidget *parent = 0); |