/* 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 #include #include #include "smtreemodel.h" #include "smdialog.h" class SeriesTreeWidget; class FilesTreeWidget; class FilesTreeModel; class SeriesTreeModel; class MappingTableWidget; class MappingTableModel; class NoCoverMovieDialog; class MetadataDisplay; class QItemSelection; class QSqlQuery; class QPushButton; class QContextMenuEvent; class QLabel; class ArchiveTreeView : public QWidget { Q_OBJECT public: enum CopyType { WindowsDir, WindowsFullPath, UnixDir, UnixFullPath }; explicit ArchiveTreeView(QWidget *parent = 0); virtual ~ArchiveTreeView() {} SeriesTreeWidget *seriesWidget() { return mSeriesWidget; } FilesTreeWidget *filesWidget() { return mFilesWidget; } const QString windowTitle() { return mWindowTitle; } signals: void needWindowTitleChange(QString); public slots: void setFileViewMode(int mode); void showAllFiles(bool toggled); void cleanDatabase(const QString &table); void selectMoviePart(int seriespartId, int seriesId); void copyPath(int type); void readSettings(); 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()); void invalidateSorting(); private: //functions void constructWindowTitle(); const QString createWindowsPath(const QString &path) const; //widgets SeriesTreeWidget *mSeriesWidget; FilesTreeWidget *mFilesWidget; MappingTableWidget *mActorsWidget; MappingTableWidget *mGenresWidget; MetadataDisplay *mMetaData; //models FilesTreeModel *mFilesModel; SeriesTreeModel *mSeriesModel; MappingTableModel *mActorsModel; MappingTableModel *mGenresModel; //misc QString mWindowTitle; NoCoverMovieDialog *mNoCoverDialog; bool mShowAllFiles; }; #endif