OSDN Git Service

Updated CA certificates file for cURL.
[x264-launcher/x264-launcher.git] / src / win_addJob.h
index 4c3e914..2bb5026 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2021 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_addJob.h"
-
-#include <QDir>
+#include <QDialog>
 
 class OptionsModel;
+class RecentlyUsed;
+class SysinfoModel;
+class PreferencesModel;
+class AbstractEncoderInfo;
+class QComboBox;
+
+namespace Ui
+{
+       class AddJobDialog;
+}
 
-class AddJobDialog : public QDialog, private Ui::AddJobDialog
+class AddJobDialog : public QDialog
 {
        Q_OBJECT
 
 public:
-       AddJobDialog(QWidget *parent, OptionsModel *options);
+       AddJobDialog(QWidget *parent, OptionsModel *const options, RecentlyUsed *const recentlyUsed, const SysinfoModel *const sysinfo, const PreferencesModel *const preferences);
        ~AddJobDialog(void);
 
        QString sourceFile(void);
        QString outputFile(void);
-       QString preset(void) { return cbxPreset->itemText(cbxPreset->currentIndex()); }
-       QString tuning(void) { return cbxTuning->itemText(cbxTuning->currentIndex()); }
-       QString profile(void) { return cbxProfile->itemText(cbxProfile->currentIndex()); }
-       QString params(void) { return editCustomParams->text().simplified(); }
-       bool runImmediately(void) { return checkBoxRun->isChecked(); }
-       void setRunImmediately(bool run) { checkBoxRun->setChecked(run); }
-       void setSourceFile(const QString &path) { editSource->setText(QDir::toNativeSeparators(path)); }
 
-protected:
-       OptionsModel *m_options;
-       OptionsModel *m_defaults;
+       bool runImmediately(void);
+       bool applyToAll(void);
+       void setRunImmediately(bool run);
+       void setSourceFile(const QString &path);
+       void setOutputFile(const QString &path);
+       void setSourceEditable(const bool editable);
+       void setApplyToAllVisible(const bool visible);
        
+       static QString generateOutputFileName(const QString &sourceFilePath, const QString &destinationDirectory, const int filterIndex, const bool saveToSourceDir);
+       static int getFilterIdx(const QString &fileExt);
+       static QString getFilterExt(const int filterIndex);
+       static QString AddJobDialog::getFilterStr(const int filterIndex);
+       static QString getFilterLst(void);
+       static QString getInputFilterLst(void);
+
+protected:
+       OptionsModel *const m_options;
+       RecentlyUsed *const m_recentlyUsed;
+
+       const SysinfoModel *const m_sysinfo;
+       const PreferencesModel *const m_preferences;
+       const OptionsModel *m_defaults;
+
        virtual void showEvent(QShowEvent *event);
        virtual bool eventFilter(QObject *o, QEvent *e);
+       virtual void dragEnterEvent(QDragEnterEvent *event);
+       virtual void dropEvent(QDropEvent *event);
 
 private slots:
+       void encoderIndexChanged(int index);
+       void variantIndexChanged(int index);
        void modeIndexChanged(int index);
        void browseButtonClicked(void);
        void configurationChanged(void);
        void templateSelected(void);
        void saveTemplateButtonClicked(void);
        void deleteTemplateButtonClicked(void);
+       void editorActionTriggered(void);
+       void copyActionTriggered(void);
+       void pasteActionTriggered(void);
        
        virtual void accept(void);
 
 private:
+       Ui::AddJobDialog *const ui;
+       bool m_monitorConfigChanges;
+       QString m_lastTemplateName;
+
        void loadTemplateList(void);
-       void restoreOptions(OptionsModel *options);
+       void restoreOptions(const OptionsModel *options);
        void saveOptions(OptionsModel *options);
-       void updateComboBox(QComboBox *cbox, const QString &text);
-       QString makeFileFilter(void);
+       void updateComboBox(QComboBox *const cbox, const QString &text);
+       void updateComboBox(QComboBox *const cbox, const int &data);
+       void updateComboBox(QComboBox *const cbox, const quint32 &data);
+
+       QString currentSourcePath(const bool bWithName = false);
+       QString currentOutputPath(const bool bWithName = false);
+       int currentOutputIndx(void);
 };