OSDN Git Service

Some more refactoring.
[x264-launcher/x264-launcher.git] / src / win_main.h
index 6471140..291fd1f 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2013 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
 #pragma once
 
 #include "uic_win_main.h"
-#include "thread_encode.h"
-#include "win_preferences.h"
+
 #include "global.h"
+#include "model_status.h"
 
 class JobListModel;
 class OptionsModel;
 class QFile;
 class QLibrary;
+class PreferencesModel;
+class RecentlyUsed;
+class IPCThread;
 
 class MainWindow: public QMainWindow, private Ui::MainWindow
 {
@@ -51,37 +54,45 @@ protected:
 private:
        bool m_firstShow;
        QLabel *m_label;
+       IPCThread *m_ipcThread;
 
        JobListModel *m_jobList;
        OptionsModel *m_options;
        QStringList *m_droppedFiles;
        QList<QFile*> m_toolsList;
        
-       PreferencesDialog::Preferences m_preferences;
+       PreferencesModel *m_preferences;
+       RecentlyUsed *m_recentlyUsed;
 
        const x264_cpu_t *const m_cpuFeatures;
        const QString m_appDir;
        
-       void updateButtons(EncodeThread::JobStatus status);
-       void updateTaskbar(EncodeThread::JobStatus status, const QIcon &icon);
+       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);
+
+       bool appendJob(const QString &sourceFileName, const QString &outputFileName, OptionsModel *options, const bool runImmediately);
+       void updateButtons(JobStatus status);
+       void updateTaskbar(JobStatus status, const QIcon &icon);
        unsigned int countPendingJobs(void);
        unsigned int countRunningJobs(void);
-       double detectAvisynthVersion(QLibrary *avsLib);
 
 private slots:
-       void addButtonPressed(const QString &filePathIn = QString(), const QString &filePathOut = QString(), const OptionsModel *options = NULL, int fileNo = -1, int fileTotal = 0, bool *ok = NULL);
+       void addButtonPressed();
+       void openActionTriggered();
        void abortButtonPressed(void);
        void browseButtonPressed(void);
        void deleteButtonPressed(void);
        void copyLogToClipboard(bool checked);
        void handleDroppedFiles(void);
        void init(void);
+       void instanceCreated(DWORD pid);
        void jobSelected(const QModelIndex & current, const QModelIndex & previous);
        void jobChangedData(const  QModelIndex &top, const  QModelIndex &bottom);
        void jobLogExtended(const QModelIndex & parent, int start, int end);
        void launchNextJob();
        void pauseButtonPressed(bool checked);
        void restartButtonPressed(void);
+       void saveLogFile(const QModelIndex &index);
        void showAbout(void);
        void showPreferences(void);
        void showWebLink(void);