/* 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 QLabel; class QActionGroup; class NewMovieWizard; class PicturesWidget; class SmTreeModel; class SmTreeView; class NewPicsDialog; class ArchiveView; class ArchiveBrowser; class SearchDialog; class RandomTab; class FSWidget; class MovieWidget; class SheMov : public QMainWindow { Q_OBJECT public: SheMov(QWidget *parent = 0, Qt::WindowFlags flags = 0); enum TabNum { FileManager = 0, Movies = 1, Pictures = 2, ArchiveBrowserTab = 3, RandomDisp = 4 }; 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 aboutShemov(); void showStatistics(); void setSize(qint64 size); void setDuration(qint64 dur, bool maybeMore); void checkConsistency(); void toggleHover(QObject *object); void analyzeActors(); void analyzeGenres(); void analyzeSeries(); void analyzeParts(); signals: void configChanged(); private: QAction *createSeparator(); void createHeaderMapper(SmTreeModel *model, SmTreeView *view, QActionGroup *group); void createStatusbar(); void createActions(); void createMenus(); void createOpenWithMenuFS(); void createToolBar(); void writeSettings(); void readSettings(); void createPalette(); //Statusbar Items QLabel *mSelectedDuration; QLabel *mSelectedItems; QLabel *mSelectedSize; QLabel *mFsFree; //Actions QAction *mQuitA; QAction *mConfigA; QAction *mAboutShemovA; QAction *mAboutQtA; QAction *mStatisticsA; QAction *mConsistencyA; QAction *mSearchDialogA; QActionGroup *mPicsTreeHeaderGroup; //PictureWidget Actions //PW = mPicWidget //PV = pictureViewer QAction *mPWDeletePicFromA; QAction *mPWEditPicMappingsA; QAction *mPWRefreshA; QAction *mPVToggleA; QAction *mPVAddA; QAction *mPVMarkA; QAction *mPVDeleteA; QAction *mPVClearMarksA; QAction *mPVReplaceA; QAction *mPVSelectAllA; QAction *mPVCopyToA; QAction *mPVShowNPDialogA; QAction *mPVAddToNPA; QAction *mPVSlideDlgA; QActionGroup *mPicActionGroup; //EndActions //ArchiveBrowser QAction *mArchiveBrowserViewMenuA; QAction *mArchiveBrowserMoveToBurnA; QAction *mArchiveBrowserMoveToUSBA; QAction *mArchiveBrowserRefreshA; QAction *mArchiveBrowserPlaySelectedA; QAction *mArchiveBrowserExpandAllA; QAction *mArchiveBrowserCollapseAllA; QActionGroup *mArchiveBrowserAG; //ArchiveFiles actions QAction *mArchiveFilesPlayA; QAction *mArchiveFilesQualityA; QAction *mArchiveFilesDvdNoA; QAction *mArchiveFilesTypeA; QAction *mArchiveFilesFileNoA; QAction *mArchiveFilesPropertiesA; QAction *mArchiveFilesPreviewA; QAction *mArchiveRemoveFilesA; //DB analyze actions QAction *mAnalyzeActorsA; QAction *mAnalyzeGenresA; QAction *mAnalyzeSeriesA; QAction *mAnalyzePartsA; QMenu *mEditPicMenu; QMenu *mPlaySelectedTimesMenuFS; QMenu *mPicViewMenu; QMenu *mArchiveBrowserViewMenu; QMenu *mRandomEditMenu; QAction *mEditFSMenuA; QAction *mEditPicMenuA; QAction *mViewPicMenuA; QAction *mRandomEditMenuA; //widgets + dialogs QTabWidget *mTab; SearchDialog *mSearchDialog; PicturesWidget *mPicWidget; ArchiveBrowser *mArchiveBrowser; RandomTab *mRandomTab; FSWidget* mFileWidget; //rename me! MovieWidget *mMovieWidget; }; #endif