Thumbnail me  3.0
D:/Thumbnail/Thumbnailme/MainWindow.h
Go to the documentation of this file.
00001 /***************************************************************************/
00022 #ifndef HEADER_MainWindow
00023 #define HEADER_MainWindow
00024 
00025 #include <QtGui>
00026 #include <QObject>
00027 #include <QxtConfigWidget>
00028 
00029 #include "defines.h"
00030 
00031 #include "About.h"
00032 #include "ConfigWidget.h"
00033 #include "DockInputOutput.h"
00034 #include "DockConf.h"
00035 #include "DockStyles.h"
00036 #include "DockTimeLine.h"
00037 #include "HelpWidget.h"
00038 #include "ImageShackLoginWidget.h"
00039 #include "IniManager.h"
00040 #include "PreviewGraphicView.h"
00041 #include "SettingsWidget.h"
00042 #include "SuccessDialog.h"
00043 #include "ThumbnailEngine.h"
00044 #include "VerboseWindow.h"
00045 
00046 #include "libQt+.h"
00047 
00048 class ConfigWidget;
00049 class DockInputOutput;
00050 class DockConf;
00051 class DockStyles;
00052 class DockTimeLine;
00053 class ImageShackLoginWidget;
00054 class IniManager;
00055 class PreviewGraphicView;
00056 class SettingsWidget;
00057 class SuccessDialog;
00058 class ThumbnailEngine;
00059 class VerboseWindow;
00060 class ProcessingStatusBar;
00061 
00062 class MainWindow : public QMainWindow
00063 {
00064     Q_OBJECT
00065 
00066     public:
00067     explicit MainWindow();
00068     virtual ~MainWindow();
00069 
00070     private:
00071 
00072     QSettings   *settings;
00073     bool        loadingFinishedBoolean;
00074 
00075     QToolBar    *toolBar;
00076 
00077     QMenu       *fileMenu;
00078         QAction *openMediasAction;
00079         QAction *openSettingsAction;
00080 
00081     QMenu   *openRecentSettingsAction;
00082         QAction *saveAction;
00083         QAction *saveUnderAction;
00084         QAction *printAction;
00085         QAction *quitAction;
00086 
00087     QMenu       *editionMenu;
00088         QAction *settingsAction;
00089 
00090     QMenu       *viewMenu;
00091         QAction *zoomInAction;
00092         QAction *zoomOutAction;
00093         QAction *clearSceneAction;
00094         QAction *fullScreenAction;
00095 
00096     QMenu       *configurationMenu;
00097                 QAction *configuration1;
00098                 QAction *configuration2;
00099                 QAction *configuration3;
00100                 QAction *configuration4;
00101 
00102                 QAction *configuration5;
00103                 QAction *configuration6;
00104                 QAction *configuration7;
00105                 QAction *configuration8;
00106 
00107                 QAction *configuration9;
00108                 QAction *configuration10;
00109                 QAction *configuration11;
00110                 QAction *configuration12;
00111 
00112                 QAction *configuration13;
00113                 QAction *configuration14;
00114                 QAction *configuration15;
00115                 QAction *configuration16;
00116 
00117                 QAction *configuration17;
00118                 QAction *configuration18;
00119                 QAction *configuration19;
00120                 QAction *configuration20;
00121 
00122                 QAction *configuration21;
00123                 QAction *configuration22;
00124                 QAction *configuration23;
00125                 QAction *configuration24;
00126 
00127     QMenu       *aboutMenu;
00128         QAction *aboutThumbnailMeAction;
00129         QAction *aboutQtAction;
00130         QAction *helpAction;
00131         QAction *donateAction;
00132         QAction *websiteAction;
00133 
00134     QDockWidget *configurationDockWidget;
00135 
00136     private:
00137 
00138     void    buildFontsCache();
00139 
00140     void    createDocks();
00141     void    createMenuBar();
00142     void    createMenuConnections();
00143     void    createToolBar();
00144 
00145     void    initializeMenuItems();
00146     void    initializeActions();
00147     bool    isvalidExtension(QString filePath);
00148 
00149     void    restoreWindowState();
00150 
00151     void    retranslate();
00152 
00153     protected:
00154     void    changeEvent(QEvent * e);
00155     void    closeEvent(QCloseEvent *e);
00156     void    dragEnterEvent(QDragEnterEvent *e);
00157     void    dropEvent(QDropEvent *e);
00158     void    keyPressEvent(QKeyEvent *e);
00159     void    showEvent (QShowEvent *e);
00160 
00161     public:
00162     DockInputOutput         *mpDockInputOutput;
00163     DockConf                *mpDockConf;
00164     DockStyles              *mpDockStyles;
00165     DockTimeLine            *mpDockTimeline;
00166     ImageShackLoginWidget   *mpImageShackLoginWidget;
00167     HelpWidget              *mpHelpWidget;
00168     IniManager              *mpIniManager;
00169     PreviewGraphicView      *mpPreviewGraphicView;
00170     SettingsWidget          *mpSettingsWidget;
00171     SuccessDialog           *mpSuccessDialog;
00172     ThumbnailEngine         *mpThumbnailEngine;
00173     VerboseWindow           *mpVerboseWindow;
00174     ProcessingStatusBar     *processStatusBar;
00175 
00176     public:
00177     QMenu *getActionOpenRecent();
00178 
00179     private slots:
00180     void buildFontsCacheEngine();
00181 
00182     public slots:
00183     void aboutThumbnailme();
00184     void donateThumbnailme();
00185     void loadLastConfiguration();
00186     void manageFullScreen();
00187     void websiteThumbnailme();
00188 
00189 };
00190 #endif
 All Classes Files Functions Enumerations