OSDN Git Service

Fixed a bug in job name generation.
[x264-launcher/x264-launcher.git] / src / win_main.h
index f58b711..b4cbe1a 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2015 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2016 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // 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
@@ -27,7 +27,6 @@
 //Qt
 #include <QMainWindow>
 
-class IPC;
 class JobListModel;
 class OptionsModel;
 class SysinfoModel;
@@ -39,6 +38,7 @@ class InputEventFilter;
 class QModelIndex;
 class QLabel;
 class QSystemTrayIcon;
+class IPCThread_Recv;
 enum JobStatus;
 
 namespace Ui
@@ -50,9 +50,12 @@ namespace MUtils
 {
        namespace CPUFetaures
        {
-               struct _stuctName;
+               struct _cpu_info_t;
                typedef struct _cpu_info_t cpu_info_t;
        }
+
+       class IPCChannel;
+       class Taskbar7;
 }
 
 class MainWindow: public QMainWindow
@@ -60,7 +63,7 @@ class MainWindow: public QMainWindow
        Q_OBJECT
 
 public:
-       MainWindow(const MUtils::CPUFetaures::cpu_info_t &cpuFeatures);
+       MainWindow(const MUtils::CPUFetaures::cpu_info_t &cpuFeatures, MUtils::IPCChannel *const ipcChannel);
        ~MainWindow(void);
 
 protected:
@@ -69,30 +72,31 @@ protected:
        virtual void resizeEvent(QResizeEvent *e);
        virtual void dragEnterEvent(QDragEnterEvent *event);
        virtual void dropEvent(QDropEvent *event);
-       virtual bool winEvent(MSG *message, long *result);
 
 private:
        Ui::MainWindow *const ui;
+       MUtils::IPCChannel *const m_ipcChannel;
 
        bool m_initialized;
-       QLabel *m_label;
-       QTimer *m_fileTimer;
+       QScopedPointer<QLabel> m_label[2];
+       QScopedPointer<QMovie> m_animation;
+       QScopedPointer<QTimer> m_fileTimer;
 
-       IPC *const m_ipc;
-       QSystemTrayIcon *const m_sysTray;
+       QScopedPointer<IPCThread_Recv>   m_ipcThread;
+       QScopedPointer<MUtils::Taskbar7> m_taskbar;
+       QScopedPointer<QSystemTrayIcon>  m_sysTray;
 
-       InputEventFilter *m_inputFilter_jobList;
-       InputEventFilter *m_inputFilter_version;
-       InputEventFilter *m_inputFilter_checkUp;
+       QScopedPointer<InputEventFilter> m_inputFilter_jobList;
+       QScopedPointer<InputEventFilter> m_inputFilter_version;
+       QScopedPointer<InputEventFilter> m_inputFilter_checkUp;
 
-       JobListModel *m_jobList;
-       OptionsModel *m_options;
-       QStringList *m_pendingFiles;
-       QList<QFile*> m_toolsList;
+       QScopedPointer<JobListModel> m_jobList;
+       QScopedPointer<OptionsModel> m_options;
+       QScopedPointer<QStringList> m_pendingFiles;
        
-       SysinfoModel *m_sysinfo;
-       PreferencesModel *m_preferences;
-       RecentlyUsed *m_recentlyUsed;
+       QScopedPointer<SysinfoModel> m_sysinfo;
+       QScopedPointer<PreferencesModel> m_preferences;
+       QScopedPointer<RecentlyUsed> m_recentlyUsed;
        
        bool createJob(QString &sourceFileName, QString &outputFileName, OptionsModel *options, bool &runImmediately, const bool restart = false, int fileNo = -1, int fileTotal = 0, bool *applyToAll = NULL);
        bool createJobMultiple(const QStringList &filePathIn);
@@ -108,10 +112,13 @@ private:
 private slots:
        void addButtonPressed();
        void openActionTriggered();
+       void cleanupActionTriggered(void);
        void abortButtonPressed(void);
        void browseButtonPressed(void);
        void deleteButtonPressed(void);
        void copyLogToClipboard(bool checked);
+       void saveLogToLocalFile(bool checked);
+       void toggleLineWrapping(bool checked);
        void checkUpdates(void);
        void handlePendingFiles(void);
        void init(void);