/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ #ifndef ARCHIVEBROWSER_H #define ARCHIVEBROWSER_H #include #include #include #include "smtreeview.h" class ArchiveBrowserModel; class ArchiveBrowserModelProxy; class SmTreeView; class CopyWorker; class QSortFilterProxyModel; class QComboBox; class QCheckBox; class QToolBar; class QSplitter; class QProgressDialog; class ArchiveBrowser : public QWidget { Q_OBJECT public: explicit ArchiveBrowser(QWidget *parent = 0); SmTreeView *archiveTree() { return mTree; } QToolBar *toolBar() { return mToolBar; } public slots: void browserSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); void readConfig(); void writeSettings(); void moveToBurn(); void moveToUSB(); void refresh(); void playSelected(); void itemDoubleClicked(QModelIndex); private slots: void setupQualityFilter(); void resetAll(); void copyError(QString); void copySuccess(QString); void setCopyFile(QString); signals: void sizeChanged(qint64 size); void itemCountChanged(int items); void needFSFreeUpdate(); private: QModelIndexList selectedRows(const QItemSelection &sel); SmTreeView *mTree; CopyWorker *mCopyWorker; QComboBox *mQualityFilter; QCheckBox *mSizeFilter; QToolBar *mToolBar; QSplitter *mTbSplitter; QProgressDialog *mUSBProgress; ArchiveBrowserModel *mModel; ArchiveBrowserModelProxy *mProxy; qint64 mSelectedSize; int mSelectedItems; }; #endif // ARCHIVEBROWSER_H