00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MAMA_DE_DIARY_H
00020 #define MAMA_DE_DIARY_H
00021
00022 #include <QtGui/QMainWindow>
00023 #include <QtCore/QDate>
00024 #include <QtGui/QGraphicsScene>
00025 #include <QtGui/QPixmap>
00026 #include <QtGui/QBitmap>
00027 #include <QDir>
00028
00029 #include "../../ui_mama_de_diary.h"
00030
00031 #include "../../include/Dialogs/helpDialog.h"
00032 #include "../../include/Dialogs/LanguageChangeDialog.h"
00033 #include "../../include/Dialogs/editorTransparencySettingsDialog.h"
00034 #include "../../include/Dialogs/savinganddiskusagesettings.h"
00035 #include "../../include/Dialogs/backgroundAnimationDialogimpl.h"
00036 #include "../../include/Dialogs/GeneralBehaviourDialog.h"
00037 #include "SystemTrayIntegration.h"
00038 #include "diarycontrols.h"
00039
00040 class mplayerWidget;
00041 class HttpDownloader;
00042
00043
00044
00045 #ifndef _XIAONING_DIARY_VERSION_
00046 #define _XIAONING_DIARY_VERSION_ "0.13"
00047 #endif
00048
00049 using namespace std;
00050
00051 class mama_de_diary : public QMainWindow
00052 {
00053 Q_OBJECT
00054
00055 public:
00056 mama_de_diary(QWidget *parent = 0);
00057 ~mama_de_diary();
00058 bool event(QEvent *event);
00059 void checkAndPrepareUserFolder();
00060 void doUiUserSpecificInitialization();
00061 void SetTextEditorTransparency(int redChannel, int greenChannel, int blueChannel, int alphaChannel);
00062 void PopError(const QString &message, const QString &type);
00063 Ui::mama_de_diaryClass ui;
00064 DiaryControls *iEditor;
00065
00066 SystemTrayIntegration* iSystemTrayMenu;
00067 protected:
00068 void closeEvent(QCloseEvent* event);
00069 private:
00070 void HandleBackgroundChange(QMainWindow *MainWindow);
00071 void HandlewindowSizeChange(QMainWindow *MainWindow);
00072 void UpdateWindowIcons();
00073 private:
00074 LanguageChangeDialog *iLanguageChangeDialog;
00075 editorTransparencySettingsDialog *iEditorTransparencySettingsDialog;
00076 SavingAndDiskUsageSettings *iSavingSettingsDialog;
00077 backgroundAnimationDialogImpl *iBackgroundAnimationDialog;
00078 GeneralBehaviourDialog *iGeneralBehaviourDialog;
00079
00080 QGraphicsScene iBackGroundgraphicsScene;
00081 QPixmap *iBackgroundPixmap;
00082
00083
00084 QPixmap *iFocusPixMap;
00085 QGraphicsPixmapItem *iFocusPixMapItem;
00086
00087 QIcon *iAppIcon;
00088
00089 helpDialog *aboutViewer;
00090 helpDialog *helpViewer;
00091
00092 QDir iApplicationDir;
00093 QDir iUserHomeDir;
00094 QErrorMessage *iErrorMessage;
00095
00096 HttpDownloader *iHttpDownloader;
00097 QFile iDownloadTargetFile;
00098 public slots:
00099
00100 void HandleUiLanguageChange();
00101
00102 void backgroundChangeTriggered();
00103 void backgroundAnimationTriggered();
00104 void languageChangeTriggered();
00105 void textEditorTransparencySettingsTriggered();
00106 void savingSettingsTriggered();
00107 void generalBehaviourTriggered();
00108
00109 void helpTriggered();
00110 void aboutTriggered();
00111 void aboutMplayerTriggered();
00112 void aboutQtTriggered();
00113
00114 void QuitProgram();
00115 void fullscreenToggle();
00116 void downloadFinished(int error);
00117 signals:
00118 void quitProgramReq();
00119 void error(const QString &message, const QString &type);
00120 void redirectVideoToPreview(QWidget *previewWidget);
00121 void redirectVideoToPlayer();
00122 };
00123
00124 #endif // MAMA_DE_DIARY_H