/* 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 DbAnalyzerDialog; class MappingTreeWidget; class PicturesWidget; 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 updateSelectedCount(int count); void statusbarMessage(const QString &message); void configure(); void tabChanged(int newTab); void setFsFree(); void setSlide(bool toggled); void aboutShemov(); void showStatistics(); void newMovieWizard(); void newMovieWizardWithFiles(); void setSize(qint64 size); void checkConsistency(); void analyzeDb(); void analyzeDelete(int mode, QList &ids); void toggleHover(QObject *object); void checkMount(bool mounted); void toggleFilterGroup(bool checked); void editMappings(QString table); void mappingEditor(); void newPicsDialog(); 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 *mSlideLabel; 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 *mConfigA; QAction *mAboutShemovA; QAction *mAboutQtA; QAction *mStatisticsA; QAction *mPlaySelectedFSA; QAction *mPlaySelectedAVA; QAction *mOpenWithMenuFSA; QAction *mOpenWithMenuAVA; QAction *mArchiveSelectedA; QAction *mConsistencyA; QAction *mAnalyzerA; QAction *mMappingEditorA; QAction *mNewPicsA; //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 *mShowAllFilesA; 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; QAction *mSuggestFileA; //Filesystem View Actions QActionGroup *mFSHoverGroup; QActionGroup *mOpenWithGroupFS; QActionGroup *mOpenWithGroupAV; QActionGroup *mFilesTreeHeadersGroup; QActionGroup *mEditGroup; //PictureWidget Actions //PW = mPicWidget //PV = pictureViewer QAction *mPWDeletePicFromA; QAction *mPWEditPicMappingsA; QAction *mPWRefreshA; QAction *mPVToggleA; QAction *mPVAddA; QAction *mPVReplaceA; QAction *mPVSelectAllA; QAction *mPVSlideA; QAction *mPVShuffleA; QActionGroup *mPicActionGroup; //EndActions QSignalMapper *mOpenWithMapperFS; QSignalMapper *mOpenWithMapperAV; QSignalMapper *mFilterMapper; QMenu *mEditFSMenu; QMenu *mEditAVMenu; QMenu *mEditPicMenu; QMenu *mOpenWithMenuFS; QMenu *mOpenWithMenuAV; QMenu *mTreeViewMenu; QMenu *mFSViewMenu; QMenu *mPicViewMenu; QMenu *mTreeHeaderMenu; QMenu *mTreeHoverMenu; QMenu *mTreeFilterMenu; QMenu *mFSHoverMenu; QAction *mEditFSMenuA; QAction *mEditAVMenuA; QAction *mEditPicMenuA; QAction *mViewFSMenuA; QAction *mViewAVMenuA; QAction *mViewPicMenuA; //widgets + dialogs QTabWidget *mTab; FilesystemWidget *mFSWidget; ArchiveTreeView *mATree; NewMovieWizard *mNewMovieWizard; DbAnalyzerDialog *mDbAnalyzerDialog; PicturesWidget *mPicWidget; }; #endif