You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

643 lines
9.5 KiB
C++

#ifndef CMAINWINDOW_H
#define CMAINWINDOW_H
#include "cserie.h"
#include "cmovie.h"
//#include "cupdatethread.h"
#include "cpicturesthread.h"
#include <QMainWindow>
#include <QList>
#include <QSqlDatabase>
#include <QCloseEvent>
#include <QTime>
#include <QStandardItemModel>
#include <QItemSelection>
#include <QTreeView>
#include <QShortcut>
namespace Ui {
class cMainWindow;
}
/*!
\brief
\class cMainWindow cmainwindow.h "cmainwindow.h"
*/
class cMainWindow : public QMainWindow
{
Q_OBJECT
public:
/*!
\brief
\fn cMainWindow
\param parent
*/
explicit cMainWindow(QWidget *parent = nullptr);
/*!
\brief
\fn ~cMainWindow
*/
~cMainWindow();
/*!
\brief
\fn initDone
*/
void initDone();
private slots:
/*!
\brief
\fn on_m_lpSeriesList1_customContextMenuRequested
\param pos
*/
void on_m_lpSeriesList1_customContextMenuRequested(const QPoint &pos);
/*!
\brief
\fn on_m_lpSeriesList1_doubleClicked
\param index
*/
void on_m_lpSeriesList1_doubleClicked(const QModelIndex &index);
/*!
\brief
\fn on_m_lpSeriesList1_pressed
\param index
*/
void on_m_lpSeriesList1_pressed(const QModelIndex &index);
/*!
\brief
\fn on_m_lpSeriesList2_customContextMenuRequested
\param pos
*/
void on_m_lpSeriesList2_customContextMenuRequested(const QPoint &pos);
/*!
\brief
\fn on_m_lpSeriesList2_doubleClicked
\param index
*/
void on_m_lpSeriesList2_doubleClicked(const QModelIndex &index);
/*!
\brief
\fn on_m_lpSeriesList2_pressed
\param index
*/
void on_m_lpSeriesList2_pressed(const QModelIndex &index);
/*!
\brief
\fn on_m_lpMoviesList_customContextMenuRequested
\param pos
*/
void on_m_lpMoviesList_customContextMenuRequested(const QPoint &pos);
/*!
\brief
\fn on_m_lpMoviesList_doubleClicked
\param index
*/
void on_m_lpMoviesList_doubleClicked(const QModelIndex &index);
/*!
\brief
\fn onActionAdd
*/
void onActionAdd();
/*!
\brief
\fn onActionUpdateAll
*/
void onActionUpdateAll();
/*!
\brief
\fn onActionUpdateUnfinished
*/
void onActionUpdateUnfinished();
/*!
\brief
\fn onActionUpdate
*/
void onActionUpdate();
/*!
\brief
\fn onActionDelete
*/
void onActionDelete();
/*!
\brief
\fn onActionEdit
*/
void onActionEdit();
/*!
\brief
\fn onActionGotoDownload
*/
void onActionGotoDownload();
/*!
\brief
\fn onActionCopyDownload
*/
void onActionCopyDownload();
/*!
\brief
\fn onActionGotoIMDB
*/
void onActionGotoIMDB();
/*!
\brief
\fn onActionLoadPictures
*/
void onActionLoadPictures();
/*!
\brief
\fn onActionFind
*/
void onActionFind();
/*!
\brief
\fn onActionFindAgain
*/
void onActionFindAgain();
/*!
\brief
\fn onActionDiscover
*/
void onActionDiscover();
/*!
\brief
\fn onActionGotoAllDownload
*/
void onActionGotoAllDownload();
/*!
\brief
\fn onActionGotoAllDownloadOpen
*/
void onActionGotoAllDownloadOpen();
/*!
\brief
\fn onActionMovieAdd
*/
void onActionMovieAdd();
/*!
\brief
\fn onActionMovieUpdateAll
*/
void onActionMovieUpdateAll();
/*!
\brief
\fn onActionMovieUpdate
*/
void onActionMovieUpdate();
/*!
\brief
\fn onActionMovieDelete
*/
void onActionMovieDelete();
/*!
\brief
\fn onActionMovieEdit
*/
void onActionMovieEdit();
/*!
\brief
\fn onActionMovieGotoIMDB
*/
void onActionMovieGotoIMDB();
/*!
\brief
\fn onActionMovieLoadPictures
*/
void onActionMovieLoadPictures();
/*!
\brief
\fn onActionMovieFind
*/
void onActionMovieFind();
/*!
\brief
\fn onActionMovieFindAgain
*/
void onActionMovieFindAgain();
/*!
\brief
\fn onActionMovieDiscover
*/
void onActionMovieDiscover();
/*!
\brief
\fn onActionExport
*/
void onActionExport();
/*!
\brief
\fn onActionPreferences
*/
void onActionPreferences();
/*!
\brief
\fn onActionAddGlobal
*/
void onActionAddGlobal();
/*!
\brief
\fn onActionFindGlobal
*/
void onActionFindGlobal();
/*!
\brief
\fn onActionFindAgainGlobal
*/
void onActionFindAgainGlobal();
/*!
\brief
\fn updateMessage
\param szMessage
\param iProgress
*/
void updateMessage(const QString& szMessage, const qint32 &iProgress);
/*!
\brief
\fn updateAppendMessage
\param szMessage
*/
void updateAppendMessage(const QString& szMessage);
/*!
\brief
\fn updateDone
*/
void updateDone();
/*!
\brief
\fn picturesMessage
\param szMessage
\param iProgress
*/
void picturesMessage(const QString& szMessage, const qint32 &iProgress);
/*!
\brief
\fn picturesAppendMessage
\param szMessage
*/
void picturesAppendMessage(const QString& szMessage);
/*!
\brief
\fn picturesDone
*/
void picturesDone();
/*!
\brief
\fn selectionChanged1
\param selected
\param deselected
*/
void selectionChanged1(const QItemSelection &selected, const QItemSelection &deselected);
/*!
\brief
\fn selectionChanged2
\param selected
\param deselected
*/
void selectionChanged2(const QItemSelection &selected, const QItemSelection &deselected);
/*!
\brief
\fn scrollbarValueChanged1
\param value
*/
void scrollbarValueChanged1(int value);
/*!
\brief
\fn scrollbarValueChanged2
\param value
*/
void scrollbarValueChanged2(int value);
/*!
\brief
\fn on_m_lpSeriesFilterInitialized_clicked
*/
void on_m_lpSeriesFilterInitialized_clicked();
/*!
\brief
\fn on_m_lpSeriesFilterProgress_clicked
*/
void on_m_lpSeriesFilterProgress_clicked();
/*!
\brief
\fn on_m_lpSeriesFilterDone_clicked
*/
void on_m_lpSeriesFilterDone_clicked();
/*!
\brief
\fn on_m_lpSeriesFilterWithLink_clicked
*/
void on_m_lpSeriesFilterWithLink_clicked();
/*!
\brief
\fn on_m_lpSeriesFilterCliffhanger_clicked
*/
void on_m_lpSeriesFilterCliffhanger_clicked();
/*!
\brief
\fn on_m_lpSeriesFilterNotFinished_clicked
*/
void on_m_lpSeriesFilterNotFinished_clicked();
/*!
\brief
\fn on_m_lpMoviesFilterInitialized_clicked
*/
void on_m_lpMoviesFilterInitialized_clicked();
/*!
\brief
\fn on_m_lpMoviesFilterProgress_clicked
*/
void on_m_lpMoviesFilterProgress_clicked();
/*!
\brief
\fn on_m_lpMoviesFilterDone_clicked
*/
void on_m_lpMoviesFilterDone_clicked();
/*!
\brief
\fn on_m_lpSeriesFilter_clicked
*/
void on_m_lpSeriesFilter_clicked();
/*!
\brief
\fn on_m_lpMoviesFilter_clicked
*/
void on_m_lpMoviesFilter_clicked();
/*!
\brief
\fn onActionExit
*/
void onActionExit();
private:
Ui::cMainWindow* ui; /*!< TODO: describe */
cSerieList m_serieList; /*!< TODO: describe */
cMovieList m_movieList; /*!< TODO: describe */
QSqlDatabase m_db; /*!< TODO: describe */
QString m_szOldSelected; /*!< TODO: describe */
cMessageDialog* m_lpMessageDialog; /*!< TODO: describe */
cPicturesThread* m_lpPicturesThread; /*!< TODO: describe */
QStandardItemModel* m_lpSeriesListModel; /*!< TODO: describe */
QStandardItemModel* m_lpMoviesListModel; /*!< TODO: describe */
bool m_bProcessing; /*!< TODO: describe */
QShortcut* m_lpShortcutAdd; /*!< TODO: describe */
QShortcut* m_lpShortcutFind; /*!< TODO: describe */
QShortcut* m_lpShortcutFindAgain; /*!< TODO: describe */
QString m_szFind; /*!< TODO: describe */
QString m_szFindMovie; /*!< TODO: describe */
QMenu* m_lpFileMenu; /*!< TODO: describe */
QAction* m_lpFileExportAction; /*!< TODO: describe */
QAction* m_lpFilePreferencesAction; /*!< TODO: describe */
QAction* m_lpFileExitAction; /*!< TODO: describe */
/*!
\brief
\fn initDB
*/
void initDB();
/*!
\brief
\fn loadDB
*/
void loadDB();
/*!
\brief
\fn loadSeriesDB
*/
void loadSeriesDB();
/*!
\brief
\fn loadMoviesDB
*/
void loadMoviesDB();
/*!
\brief
\fn displaySeries
*/
void displaySeries();
/*!
\brief
\fn displayMovies
*/
void displayMovies();
/*!
\brief
\fn runEdit
\param lpSerie
\param szDownload
\return bool
*/
bool runEdit(cSerie *lpSerie, QString& szDownload);
/*!
\brief
\fn runMovieEdit
\param lpMovie
\return bool
*/
bool runMovieEdit(cMovie *lpMovie);
/*!
\brief
\fn showSeriesContextMenu
\param lpTreeView
\param pos
*/
void showSeriesContextMenu(QTreeView* lpTreeView, const QPoint &pos);
/*!
\brief
\fn doUpdate
\param serieList
*/
void doUpdate(cSerieList& serieList);
/*!
\brief
\fn showMoviesContextMenu
\param lpTreeView
\param pos
*/
void showMoviesContextMenu(QTreeView* lpTreeView, const QPoint &pos);
/*!
\brief
\fn setSeriesStyle
\param lpItems
*/
void setSeriesStyle(QList<QStandardItem *> lpItems);
/*!
\brief
\fn setMovieStyle
\param lpItem
*/
void setMovieStyle(QStandardItem* lpItem);
/*!
\brief
\fn applySeriesFilter
*/
void applySeriesFilter();
/*!
\brief
\fn applyMoviesFilter
*/
void applyMoviesFilter();
/*!
\brief
\fn applyMoviesFilter
\param i
\param lpMovie
\return bool
*/
bool applyMoviesFilter(qint32 i, cMovie* lpMovie);
/*!
\brief
\fn applyMoviesFilter
\param lpParent
*/
void applyMoviesFilter(QStandardItem* lpParent);
/*!
\brief
\fn checkState
\param state
\param bDesiredState
\return bool
*/
bool checkState(const Qt::CheckState &state, bool bDesiredState);
/*!
\brief
\fn find
*/
void find();
/*!
\brief
\fn findMovie
*/
void findMovie();
protected:
/*!
\brief
\fn closeEvent
\param event
*/
void closeEvent(QCloseEvent *event);
};
#endif // CMAINWINDOW_H