/* 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 ARCHIVEVIEWWIDGET_H #define ARCHIVEVIEWWIDGET_H #include #include "archivefileview.h" class MovieModel; class ListModel; class QComboBox; class QLineEdit; class QPushButton; class QModelIndex; class ArchiveFileView; class ArchiveProxy; class EditArchiveItemDialog; class CoverArchiveEditor; class ArchiveViewWidget : public QWidget { Q_OBJECT public: ArchiveViewWidget(MovieModel *model, ListModel *genre, ListModel *actors, QWidget *parent = 0); ~ArchiveViewWidget() {}; ArchiveFileView* fileView() { return mFileView; }; void setEditDialog(EditArchiveItemDialog *dlg) { mEditDialog = dlg; }; void setCoverEditDialog(CoverArchiveEditor *dlg) { mCoverEditDialog = dlg; }; public slots: void editFile(); void editCovers(); void addMovie(); void showMovie(const QModelIndex &movie); void properties(); void setFilter(); void setGenreFilter(const QString &filter); void setActorFilter(const QString &filter); signals: void statusbarMessage(const QString &message); void windowTitle(const QString &title); private slots: void rowChanged(const QModelIndex ¤t, const QModelIndex &prev); private: const QModelIndex getSourceColumnZero(); QComboBox *mGenre; QComboBox *mActors; QLineEdit *mName; QPushButton *mFilter; QPushButton *mClearFilter; MovieModel *mMovieModel; ListModel *mGenreModel; ListModel *mActorsModel; ArchiveFileView *mFileView; ArchiveProxy *mProxy; EditArchiveItemDialog *mEditDialog; CoverArchiveEditor *mCoverEditDialog; }; #endif