/* 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 ARCHIVETREEVIEW_H #define ARCHIVETREEVIEW_H #include #include #include class SmUberModel; class SeriesTreeWidget; class FilesTreeWidget; class FilesTreeModel; class SeriesTreeModel; class MappingTableWidget; class MappingTableModel; class QItemSelection; class ArchiveTreeView : public QWidget { Q_OBJECT public: explicit ArchiveTreeView(QWidget *parent = 0); SeriesTreeWidget *seriesWidget() { return mSeriesWidget; } FilesTreeWidget *filesWidget() { return mFilesWidget; } const QString windowTitle() { return mWindowTitle; } signals: void needWindowTitleChange(QString); public slots: void setFileViewMode(int mode); private slots: void currentChanged(const QItemSelection &selected, const QItemSelection &deselected); void setMappingItems(const QList seriesPartIds, MappingTableModel *model, MappingTableWidget *widget); void playSelected(const QString &preferred = QString()); private: //functions void constructWindowTitle(); //widgets SeriesTreeWidget *mSeriesWidget; FilesTreeWidget *mFilesWidget; MappingTableWidget *mActorsWidget; MappingTableWidget *mGenresWidget; //models FilesTreeModel *mFilesModel; SeriesTreeModel *mSeriesModel; MappingTableModel *mActorsModel; MappingTableModel *mGenresModel; //misc QString mWindowTitle; }; #endif