/* 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 #include class QTabWidget; class FilesystemWidget; class QAction; class QLabel; class QItemSelection; class QSignalMapper; class QMenu; class QActionGroup; class ArchiveTreeView; class NewMovieWizard; class SheMov : public QMainWindow { Q_OBJECT public: SheMov(QWidget *parent = 0, Qt::WindowFlags flags = 0); virtual ~SheMov() {} protected: virtual void closeEvent(QCloseEvent *event); private slots: void updateSelectionCount(const QItemSelection &sel, const QItemSelection &prev); void statusbarMessage(const QString &message); void setTemplate(const QString &newTemplate); void configure(); void tabChanged(int newTab); void setFsFree(); void aboutShemov(); void showStatistics(); void newMovieWizard(); void newMovieWizardWithFiles(); void setSize(qint64 size); void checkConsistency(); void toggleHover(QObject *object); void checkMount(bool mounted); void toggleFilterGroup(bool checked); void editMappings(QString table); signals: void configChanged(); private: void createStatusbar(); void createActions(); void createMenus(); void createOpenWithMenuFS(); void createOpenWithMenuAV(); void createToolBar(); void writeSettings(); void readSettings(); //Statusbar Items QLabel *mSelectedItems; QLabel *mTemplate; QLabel *mSelectedSize; QLabel *mFsFree; //Actions QAction *mQuitA; QAction *mMarkFilesA; QAction *mToggleFavoriteA; QAction *mUnmarkFilesA; QAction *mCreateFolderA; QAction *mDeleteFilesA; QAction *mRefreshA; QAction *mCopyA; QAction *mCutA; QAction *mPasteA; QAction *mMoveA; QAction *mRenameA; QAction *mCdupA; QAction *mBackDirA; QAction *mMountDvdA; QAction *mMarkA; QAction *mRenameCoverFA; QAction *mRenameCoverBA; QAction *mRenameCoverCA; QAction *mTemplateA; QAction *mConfigA; QAction *mAboutShemovA; QAction *mAboutQtA; QAction *mStatisticsA; QAction *mPlaySelectedFSA; QAction *mPlaySelectedAVA; QAction *mOpenWithMenuFSA; QAction *mOpenWithMenuAVA; QAction *mRenameMenuA; QAction *mArchiveSelectedA; QAction *mConsistencyA; //hmm QAction *mHoverDirectoriesA; //TreeView Actions //Series Actions QAction *mNewSeriesA; QAction *mDeleteFromSeriesA; QAction *mExpandAllSeriesA; QAction *mCollapseAllSeriesA; QAction *mExpandCurrentA; QAction *mNewMovieWizardA; QAction *mAddCoverA; QAction *mEditItemA; //TreeView View Actions QAction *mShowLocalA; QAction *mShowArchivedA; QAction *mShowNormalA; QAction *mShowNoCoverDialogA; QActionGroup *mShowTreeGroup; QAction *mHoverPicsA; QAction *mHoverArchiveA; QAction *mHoverMoviesA; QActionGroup *mHoverTreeGroup; QAction *mFilterBySeriesA; QAction *mFilterByActorA; QAction *mFilterByGenreA; QAction *mFilterByQualityA; QAction *mFilterByFilenameA; QAction *mFilterByDvdNoA; QAction *mFilterBySizeA; QActionGroup *mFilterGroup; QAction *mFilterFavoritesA; QAction *mEditGenresA; QAction *mEditActorsA; //TreeView FileWidget Actions QAction *mMoveToBurnA; QAction *mMoveFilesA; QAction *mDeleteFilesFromTreeA; QAction *mFilePropertiesA; QAction *mCopyUnixFullPathA; QAction *mCopyUnixDirA; QAction *mCopyWindowsFullPathA; QAction *mCopyWindowsDirA; //Filesystem View Actions QActionGroup *mFSHoverGroup; QActionGroup *mOpenWithGroupFS; QActionGroup *mOpenWithGroupAV; QActionGroup *mCleanupGroup; QActionGroup *mFilesTreeHeadersGroup; QActionGroup *mEditGroup; //EndActions QSignalMapper *mRenameMapper; QSignalMapper *mOpenWithMapperFS; QSignalMapper *mOpenWithMapperAV; QSignalMapper *mCleanupMapper; QSignalMapper *mFilterMapper; QMenu *mEditFSMenu; QMenu *mEditAVMenu; QMenu *mOpenWithMenuFS; QMenu *mOpenWithMenuAV; QMenu *mRenameMenu; QMenu *mTreeViewMenu; QMenu *mFSViewMenu; QMenu *mTreeHeaderMenu; QMenu *mTreeHoverMenu; QMenu *mTreeFilterMenu; QMenu *mFSHoverMenu; QAction *mEditFSMenuA; QAction *mEditAVMenuA; QAction *mViewFSMenuA; QAction *mViewAVMenuA; //widgets + dialogs QTabWidget *mTab; FilesystemWidget *mFSWidget; ArchiveTreeView *mATree; NewMovieWizard *mNewMovieWizard; }; #endif