/* 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 SHEMOV_H #define SHEMOV_H #include #include class QTabWidget; class FilesystemWidget; class ArchiveEditWidget; class QAction; class QLabel; class QItemSelection; class QSignalMapper; class QMenu; class QActionGroup; class ArchiveEditDialog; class MovieModel; class ListModel; class ArchiveViewWidget; class EditArchiveItemDialog; class ArchiveItemEditDialog; class ArchiveTreeView; class SheMov : public QMainWindow { Q_OBJECT public: SheMov(QWidget *parent = 0, Qt::WindowFlags flags = 0); ~SheMov() {}; protected: virtual void closeEvent(QCloseEvent *event); private slots: void updateSelectionCount(const QItemSelection &sel, const QItemSelection &prev); void newWindowTitle(const QString &title); void statusbarMessage(const QString &message); void setTemplate(const QString &newTemplate); void configure(); void tabChanged(int newTab); void setFsFree(); void aboutShemov(); void showStatistics(); private: void createStatusbar(); void createActions(); void createMenus(); void createOpenWithMenuFS(); void createOpenWithMenuAV(); void writeSettings(); void readSettings(); //Statusbar Items QLabel *mSelectedItems; QLabel *mTemplate; QLabel *mSelectedSize; QLabel *mFsFree; //Actions QAction *mQuitA; QAction *mMarkFilesA; QAction *mUnmarkFilesA; QAction *mCreateFolderA; QAction *mDeleteFilesA; QAction *mRefreshA; QAction *mCopyA; QAction *mMoveA; QAction *mRenameA; QAction *mCdupA; QAction *mRenameCoverFA; QAction *mRenameCoverBA; QAction *mRenameCoverCA; QAction *mTemplateA; QAction *mConfigA; QAction *mArchiveA; QAction *mEditArchiveFileA; QAction *mAddMovieManuallyA; QAction *mPropertiesA; QAction *mMoveBurnA; QAction *mSetDvdA; QAction *mDeleteFromArchiveA; QAction *mAboutShemovA; QAction *mAboutQtA; QAction *mStatisticsA; QAction *mPlaySelectedFSA; QAction *mPlaySelectedAVA; QAction *mOpenWithMenuFSA; QAction *mOpenWithMenuAVA; QAction *mRenameMenuA; QAction *mCopyToPartsA; QActionGroup *mOpenWithGroupFS; QActionGroup *mOpenWithGroupAV; //EndActions QSignalMapper *mRenameMapper; QSignalMapper *mExtractMapper; QSignalMapper *mOpenWithMapperFS; QSignalMapper *mOpenWithMapperAV; QMenu *mEditFSMenu; QMenu *mEditArchiveMenu; QMenu *mOpenWithMenuFS; QMenu *mOpenWithMenuAV; QMenu *mRenameMenu; QAction *mEditFSMenuA; QAction *mEditArchiveMenuA; QTabWidget *mTab; FilesystemWidget *mFSWidget; ArchiveViewWidget *mAVWidget; ArchiveTreeView *mATree; ArchiveEditDialog *mAEdit; ArchiveItemEditDialog *mAItemEdit; MovieModel *mMovieModel; ListModel *mGenreModel; ListModel *mActorModel; }; #endif