Thumbnail me
3.0
|
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