#include "taskbar7.h"
//Qt includes
-#include <QCoreApplication>
+#include <QApplication>
#include <QDate>
#include <QPlastiqueStyle>
/*
* RAII execution state handler
*/
-static class ExecutionStateHandler
+class ExecutionStateHandler
{
public:
ExecutionStateHandler(void)
#define VER_X264_MAJOR 2
#define VER_X264_MINOR 2
#define VER_X264_PATCH 6
-#define VER_X264_BUILD 630
+#define VER_X264_BUILD 638
#define VER_X264_MINIMUM_REV 2363
#define VER_X264_CURRENT_API 140
///////////////////////////////////////////////////////////////////////////////
#include "win_addJob.h"
+#include "uic_win_addJob.h"
#include "global.h"
#include "model_options.h"
#define REMOVE_USAFED_ITEM \
{ \
- for(int i = 0; i < cbxTemplate->count(); i++) \
+ for(int i = 0; i < ui->cbxTemplate->count(); i++) \
{ \
- OptionsModel* temp = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(i).value<void*>()); \
+ OptionsModel* temp = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(i).value<void*>()); \
if(temp == NULL) \
{ \
- cbxTemplate->blockSignals(true); \
- cbxTemplate->removeItem(i); \
- cbxTemplate->blockSignals(false); \
+ ui->cbxTemplate->blockSignals(true); \
+ ui->cbxTemplate->removeItem(i); \
+ ui->cbxTemplate->blockSignals(false); \
break; \
} \
} \
m_x64supported(x64supported),
m_use10BitEncoding(use10BitEncoding),
m_saveToSourceFolder(saveToSourceFolder),
- m_recentlyUsed(recentlyUsed)
+ m_recentlyUsed(recentlyUsed),
+ ui(new Ui::AddJobDialog())
{
//Init the dialog, from the .ui file
- setupUi(this);
+ ui->setupUi(this);
setWindowFlags(windowFlags() & (~Qt::WindowContextHelpButtonHint));
//Fix dialog size
- buttonSaveTemplate->setMaximumHeight(20);
- buttonDeleteTemplate->setMaximumHeight(20);
+ ui->buttonSaveTemplate->setMaximumHeight(20);
+ ui->buttonDeleteTemplate->setMaximumHeight(20);
resize(width(), minimumHeight());
setMinimumSize(size());
setMaximumHeight(height());
//Hide optional controls
- checkBoxApplyToAll->setVisible(false);
+ ui->checkBoxApplyToAll->setVisible(false);
//Monitor RC mode combobox
- connect(cbxRateControlMode, SIGNAL(currentIndexChanged(int)), this, SLOT(modeIndexChanged(int)));
+ connect(ui->cbxRateControlMode, SIGNAL(currentIndexChanged(int)), this, SLOT(modeIndexChanged(int)));
//Activate buttons
- connect(buttonBrowseSource, SIGNAL(clicked()), this, SLOT(browseButtonClicked()));
- connect(buttonBrowseOutput, SIGNAL(clicked()), this, SLOT(browseButtonClicked()));
- connect(buttonSaveTemplate, SIGNAL(clicked()), this, SLOT(saveTemplateButtonClicked()));
- connect(buttonDeleteTemplate, SIGNAL(clicked()), this, SLOT(deleteTemplateButtonClicked()));
+ connect(ui->buttonBrowseSource, SIGNAL(clicked()), this, SLOT(browseButtonClicked()));
+ connect(ui->buttonBrowseOutput, SIGNAL(clicked()), this, SLOT(browseButtonClicked()));
+ connect(ui->buttonSaveTemplate, SIGNAL(clicked()), this, SLOT(saveTemplateButtonClicked()));
+ connect(ui->buttonDeleteTemplate, SIGNAL(clicked()), this, SLOT(deleteTemplateButtonClicked()));
//Setup validator
- editCustomX264Params->installEventFilter(this);
- editCustomX264Params->setValidator(new StringValidatorX264(labelNotificationX264, iconNotificationX264));
- editCustomX264Params->clear();
- editCustomAvs2YUVParams->installEventFilter(this);
- editCustomAvs2YUVParams->setValidator(new StringValidatorAvs2YUV(labelNotificationAvs2YUV, iconNotificationAvs2YUV));
- editCustomAvs2YUVParams->clear();
+ ui->editCustomX264Params->installEventFilter(this);
+ ui->editCustomX264Params->setValidator(new StringValidatorX264(ui->labelNotificationX264, ui->iconNotificationX264));
+ ui->editCustomX264Params->clear();
+ ui->editCustomAvs2YUVParams->installEventFilter(this);
+ ui->editCustomAvs2YUVParams->setValidator(new StringValidatorAvs2YUV(ui->labelNotificationAvs2YUV, ui->iconNotificationAvs2YUV));
+ ui->editCustomAvs2YUVParams->clear();
//Install event filter
- labelHelpScreenX264->installEventFilter(this);
- labelHelpScreenAvs2YUV->installEventFilter(this);
+ ui->labelHelpScreenX264->installEventFilter(this);
+ ui->labelHelpScreenAvs2YUV->installEventFilter(this);
//Monitor for options changes
- connect(cbxRateControlMode, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
- connect(spinQuantizer, SIGNAL(valueChanged(double)), this, SLOT(configurationChanged()));
- connect(spinBitrate, SIGNAL(valueChanged(int)), this, SLOT(configurationChanged()));
- connect(cbxPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
- connect(cbxTuning, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
- connect(cbxProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
- connect(editCustomX264Params, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
- connect(editCustomAvs2YUVParams, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
+ connect(ui->cbxRateControlMode, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
+ connect(ui->spinQuantizer, SIGNAL(valueChanged(double)), this, SLOT(configurationChanged()));
+ connect(ui->spinBitrate, SIGNAL(valueChanged(int)), this, SLOT(configurationChanged()));
+ connect(ui->cbxPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
+ connect(ui->cbxTuning, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
+ connect(ui->cbxProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
+ connect(ui->editCustomX264Params, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
+ connect(ui->editCustomAvs2YUVParams, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
//Create context menus
- ADD_CONTEXTMENU_ACTION(editCustomX264Params, QIcon(":/buttons/page_edit.png"), tr("Open the Text-Editor"), editorActionTriggered);
- ADD_CONTEXTMENU_ACTION(editCustomAvs2YUVParams, QIcon(":/buttons/page_edit.png"), tr("Open the Text-Editor"), editorActionTriggered);
- ADD_CONTEXTMENU_SEPARATOR(editCustomX264Params);
- ADD_CONTEXTMENU_SEPARATOR(editCustomAvs2YUVParams);
- ADD_CONTEXTMENU_ACTION(editCustomX264Params, QIcon(":/buttons/page_copy.png"), tr("Copy to Clipboard"), copyActionTriggered);
- ADD_CONTEXTMENU_ACTION(editCustomAvs2YUVParams, QIcon(":/buttons/page_copy.png"), tr("Copy to Clipboard"), copyActionTriggered);
- ADD_CONTEXTMENU_ACTION(editCustomX264Params, QIcon(":/buttons/page_paste.png"), tr("Paste from Clipboard"), pasteActionTriggered);
- ADD_CONTEXTMENU_ACTION(editCustomAvs2YUVParams, QIcon(":/buttons/page_paste.png"), tr("Paste from Clipboard"), pasteActionTriggered);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomX264Params, QIcon(":/buttons/page_edit.png"), tr("Open the Text-Editor"), editorActionTriggered);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomAvs2YUVParams, QIcon(":/buttons/page_edit.png"), tr("Open the Text-Editor"), editorActionTriggered);
+ ADD_CONTEXTMENU_SEPARATOR(ui->editCustomX264Params);
+ ADD_CONTEXTMENU_SEPARATOR(ui->editCustomAvs2YUVParams);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomX264Params, QIcon(":/buttons/page_copy.png"), tr("Copy to Clipboard"), copyActionTriggered);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomAvs2YUVParams, QIcon(":/buttons/page_copy.png"), tr("Copy to Clipboard"), copyActionTriggered);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomX264Params, QIcon(":/buttons/page_paste.png"), tr("Paste from Clipboard"), pasteActionTriggered);
+ ADD_CONTEXTMENU_ACTION(ui->editCustomAvs2YUVParams, QIcon(":/buttons/page_paste.png"), tr("Paste from Clipboard"), pasteActionTriggered);
//Setup template selector
loadTemplateList();
- connect(cbxTemplate, SIGNAL(currentIndexChanged(int)), this, SLOT(templateSelected()));
+ connect(ui->cbxTemplate, SIGNAL(currentIndexChanged(int)), this, SLOT(templateSelected()));
}
AddJobDialog::~AddJobDialog(void)
{
//Free templates
- for(int i = 0; i < cbxTemplate->model()->rowCount(); i++)
+ for(int i = 0; i < ui->cbxTemplate->model()->rowCount(); i++)
{
- if(cbxTemplate->itemText(i).startsWith("<") || cbxTemplate->itemText(i).endsWith(">"))
+ if(ui->cbxTemplate->itemText(i).startsWith("<") || ui->cbxTemplate->itemText(i).endsWith(">"))
{
continue;
}
- OptionsModel *item = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(i).value<void*>());
- cbxTemplate->setItemData(i, QVariant::fromValue<void*>(NULL));
+ OptionsModel *item = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(i).value<void*>());
+ ui->cbxTemplate->setItemData(i, QVariant::fromValue<void*>(NULL));
X264_DELETE(item);
}
//Free validators
- if(const QValidator *tmp = editCustomX264Params->validator())
+ if(const QValidator *tmp = ui->editCustomX264Params->validator())
{
- editCustomX264Params->setValidator(NULL);
+ ui->editCustomX264Params->setValidator(NULL);
X264_DELETE(tmp);
}
- if(const QValidator *tmp = editCustomAvs2YUVParams->validator())
+ if(const QValidator *tmp = ui->editCustomAvs2YUVParams->validator())
{
- editCustomAvs2YUVParams->setValidator(NULL);
+ ui->editCustomAvs2YUVParams->setValidator(NULL);
X264_DELETE(tmp);
}
X264_DELETE(m_defaults);
+ delete ui;
}
///////////////////////////////////////////////////////////////////////////////
QDialog::showEvent(event);
templateSelected();
- if((!editSource->text().isEmpty()) && editOutput->text().isEmpty())
+ if((!ui->editSource->text().isEmpty()) && ui->editOutput->text().isEmpty())
{
- QString outPath = generateOutputFileName(QDir::fromNativeSeparators(editSource->text()), m_recentlyUsed->outputDirectory(), m_recentlyUsed->filterIndex(), m_saveToSourceFolder);
- editOutput->setText(QDir::toNativeSeparators(outPath));
- buttonAccept->setFocus();
+ QString outPath = generateOutputFileName(QDir::fromNativeSeparators(ui->editSource->text()), m_recentlyUsed->outputDirectory(), m_recentlyUsed->filterIndex(), m_saveToSourceFolder);
+ ui->editOutput->setText(QDir::toNativeSeparators(outPath));
+ ui->buttonAccept->setFocus();
}
- labelNotificationX264->hide();
- iconNotificationX264->hide();
- labelNotificationAvs2YUV->hide();
- iconNotificationAvs2YUV->hide();
+ ui->labelNotificationX264->hide();
+ ui->iconNotificationX264->hide();
+ ui->labelNotificationAvs2YUV->hide();
+ ui->iconNotificationAvs2YUV->hide();
//Enable drag&drop support for this window, required for Qt v4.8.4+
setAcceptDrops(true);
bool AddJobDialog::eventFilter(QObject *o, QEvent *e)
{
- if((o == labelHelpScreenX264) && (e->type() == QEvent::MouseButtonPress))
+ if((o == ui->labelHelpScreenX264) && (e->type() == QEvent::MouseButtonPress))
{
HelpDialog *helpScreen = new HelpDialog(this, false, m_x64supported, m_use10BitEncoding);
helpScreen->exec();
X264_DELETE(helpScreen);
}
- else if((o == labelHelpScreenAvs2YUV) && (e->type() == QEvent::MouseButtonPress))
+ else if((o == ui->labelHelpScreenAvs2YUV) && (e->type() == QEvent::MouseButtonPress))
{
HelpDialog *helpScreen = new HelpDialog(this, true, m_x64supported, m_use10BitEncoding);
helpScreen->exec();
X264_DELETE(helpScreen);
}
- else if((o == editCustomX264Params) && (e->type() == QEvent::FocusOut))
+ else if((o == ui->editCustomX264Params) && (e->type() == QEvent::FocusOut))
{
- editCustomX264Params->setText(editCustomX264Params->text().simplified());
+ ui->editCustomX264Params->setText(ui->editCustomX264Params->text().simplified());
}
- else if((o == editCustomAvs2YUVParams) && (e->type() == QEvent::FocusOut))
+ else if((o == ui->editCustomAvs2YUVParams) && (e->type() == QEvent::FocusOut))
{
- editCustomAvs2YUVParams->setText(editCustomAvs2YUVParams->text().simplified());
+ ui->editCustomAvs2YUVParams->setText(ui->editCustomAvs2YUVParams->text().simplified());
}
return false;
}
if(!droppedFile.isEmpty())
{
const QString outFileName = generateOutputFileName(droppedFile, currentOutputPath(), currentOutputIndx(), m_saveToSourceFolder);
- editSource->setText(QDir::toNativeSeparators(droppedFile));
- editOutput->setText(QDir::toNativeSeparators(outFileName));
+ ui->editSource->setText(QDir::toNativeSeparators(droppedFile));
+ ui->editOutput->setText(QDir::toNativeSeparators(outFileName));
}
}
void AddJobDialog::modeIndexChanged(int index)
{
- spinQuantizer->setEnabled(index == 0 || index == 1);
- spinBitrate->setEnabled(index == 2 || index == 3);
+ ui->spinQuantizer->setEnabled(index == 0 || index == 1);
+ ui->spinBitrate->setEnabled(index == 2 || index == 3);
}
void AddJobDialog::accept(void)
{
//Selection complete?
- if(editSource->text().trimmed().isEmpty())
+ if(ui->editSource->text().trimmed().isEmpty())
{
QMessageBox::warning(this, tr("Not Found!"), tr("Please select a valid source file first!"));
return;
}
- if(editOutput->text().trimmed().isEmpty())
+ if(ui->editOutput->text().trimmed().isEmpty())
{
QMessageBox::warning(this, tr("Not Selected!"), tr("<nobr>Please select a valid output file first!</nobr>"));
return;
}
//Custom parameters okay?
- if(!editCustomX264Params->hasAcceptableInput())
+ if(!ui->editCustomX264Params->hasAcceptableInput())
{
int ret = QMessageBox::warning(this, tr("Invalid Params"), tr("<nobr>Your custom parameters are invalid and will be discarded!</nobr>"), QMessageBox::Ignore | QMessageBox::Cancel, QMessageBox::Cancel);
if(ret != QMessageBox::Ignore) return;
void AddJobDialog::browseButtonClicked(void)
{
- if(QObject::sender() == buttonBrowseSource)
+ if(QObject::sender() == ui->buttonBrowseSource)
{
QString filePath = QFileDialog::getOpenFileName(this, tr("Open Source File"), currentSourcePath(true), getInputFilterLst(), NULL, QFileDialog::DontUseNativeDialog);
if(!(filePath.isNull() || filePath.isEmpty()))
{
QString destFile = generateOutputFileName(filePath, currentOutputPath(), currentOutputIndx(), m_saveToSourceFolder);
- editSource->setText(QDir::toNativeSeparators(filePath));
- editOutput->setText(QDir::toNativeSeparators(destFile));
+ ui->editSource->setText(QDir::toNativeSeparators(filePath));
+ ui->editOutput->setText(QDir::toNativeSeparators(destFile));
}
}
- else if(QObject::sender() == buttonBrowseOutput)
+ else if(QObject::sender() == ui->buttonBrowseOutput)
{
QString selectedType = getFilterStr(currentOutputIndx());
QString filePath = QFileDialog::getSaveFileName(this, tr("Choose Output File"), currentOutputPath(true), getFilterLst(), &selectedType, QFileDialog::DontUseNativeDialog | QFileDialog::DontConfirmOverwrite);
}
filePath = QString("%1.%2").arg(filePath, getFilterExt(tempIndex));
}
- editOutput->setText(QDir::toNativeSeparators(filePath));
+ ui->editOutput->setText(QDir::toNativeSeparators(filePath));
}
}
}
void AddJobDialog::configurationChanged(void)
{
- OptionsModel* options = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(cbxTemplate->currentIndex()).value<void*>());
+ OptionsModel* options = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(ui->cbxTemplate->currentIndex()).value<void*>());
if(options)
{
- cbxTemplate->blockSignals(true);
- cbxTemplate->insertItem(0, tr("<Unsaved Configuration>"), QVariant::fromValue<void*>(NULL));
- cbxTemplate->setCurrentIndex(0);
- cbxTemplate->blockSignals(false);
+ ui->cbxTemplate->blockSignals(true);
+ ui->cbxTemplate->insertItem(0, tr("<Unsaved Configuration>"), QVariant::fromValue<void*>(NULL));
+ ui->cbxTemplate->setCurrentIndex(0);
+ ui->cbxTemplate->blockSignals(false);
}
}
void AddJobDialog::templateSelected(void)
{
- OptionsModel* options = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(cbxTemplate->currentIndex()).value<void*>());
+ OptionsModel* options = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(ui->cbxTemplate->currentIndex()).value<void*>());
if(options)
{
qDebug("Loading options!");
restoreOptions(options);
}
- modeIndexChanged(cbxRateControlMode->currentIndex());
+ modeIndexChanged(ui->cbxRateControlMode->currentIndex());
}
void AddJobDialog::saveTemplateButtonClicked(void)
if(options->equals(m_defaults))
{
QMessageBox::warning (this, tr("Oups"), tr("<nobr>It makes no sense to save the default settings!</nobr>"));
- cbxTemplate->blockSignals(true);
- cbxTemplate->setCurrentIndex(0);
- cbxTemplate->blockSignals(false);
+ ui->cbxTemplate->blockSignals(true);
+ ui->cbxTemplate->setCurrentIndex(0);
+ ui->cbxTemplate->blockSignals(false);
REMOVE_USAFED_ITEM;
X264_DELETE(options);
return;
}
- for(int i = 0; i < cbxTemplate->count(); i++)
+ for(int i = 0; i < ui->cbxTemplate->count(); i++)
{
- const QString tempName = cbxTemplate->itemText(i);
+ const QString tempName = ui->cbxTemplate->itemText(i);
if(tempName.contains('<') || tempName.contains('>'))
{
continue;
}
- OptionsModel* test = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(i).value<void*>());
+ OptionsModel* test = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(i).value<void*>());
if(test != NULL)
{
if(options->equals(test))
{
QMessageBox::warning (this, tr("Oups"), tr("<nobr>There already is a template for the current settings!</nobr>"));
- cbxTemplate->blockSignals(true);
- cbxTemplate->setCurrentIndex(i);
- cbxTemplate->blockSignals(false);
+ ui->cbxTemplate->blockSignals(true);
+ ui->cbxTemplate->setCurrentIndex(i);
+ ui->cbxTemplate->blockSignals(false);
REMOVE_USAFED_ITEM;
X264_DELETE(options);
return;
return;
}
- int index = cbxTemplate->model()->rowCount();
- cbxTemplate->blockSignals(true);
- for(int i = 0; i < cbxTemplate->count(); i++)
+ int index = ui->cbxTemplate->model()->rowCount();
+ ui->cbxTemplate->blockSignals(true);
+ for(int i = 0; i < ui->cbxTemplate->count(); i++)
{
- if(cbxTemplate->itemText(i).compare(name, Qt::CaseInsensitive) == 0)
+ if(ui->cbxTemplate->itemText(i).compare(name, Qt::CaseInsensitive) == 0)
{
index = -1; //Do not append new template
- OptionsModel *oldItem = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(i).value<void*>());
- cbxTemplate->setItemData(i, QVariant::fromValue<void*>(options));
- cbxTemplate->setCurrentIndex(i);
+ OptionsModel *oldItem = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(i).value<void*>());
+ ui->cbxTemplate->setItemData(i, QVariant::fromValue<void*>(options));
+ ui->cbxTemplate->setCurrentIndex(i);
X264_DELETE(oldItem);
}
}
if(index >= 0)
{
- cbxTemplate->insertItem(index, name, QVariant::fromValue<void*>(options));
- cbxTemplate->setCurrentIndex(index);
+ ui->cbxTemplate->insertItem(index, name, QVariant::fromValue<void*>(options));
+ ui->cbxTemplate->setCurrentIndex(index);
}
- cbxTemplate->blockSignals(false);
+ ui->cbxTemplate->blockSignals(false);
REMOVE_USAFED_ITEM;
}
void AddJobDialog::deleteTemplateButtonClicked(void)
{
- const int index = cbxTemplate->currentIndex();
- QString name = cbxTemplate->itemText(index);
+ const int index = ui->cbxTemplate->currentIndex();
+ QString name = ui->cbxTemplate->itemText(index);
if(name.contains('<') || name.contains('>') || name.contains('\\') || name.contains('/'))
{
OptionsModel::deleteTemplate(name);
- OptionsModel *item = reinterpret_cast<OptionsModel*>(cbxTemplate->itemData(index).value<void*>());
- cbxTemplate->removeItem(index);
+ OptionsModel *item = reinterpret_cast<OptionsModel*>(ui->cbxTemplate->itemData(index).value<void*>());
+ ui->cbxTemplate->removeItem(index);
X264_DELETE(item);
}
QString AddJobDialog::sourceFile(void)
{
- return QDir::fromNativeSeparators(editSource->text());
+ return QDir::fromNativeSeparators(ui->editSource->text());
}
QString AddJobDialog::outputFile(void)
{
- return QDir::fromNativeSeparators(editOutput->text());
+ return QDir::fromNativeSeparators(ui->editOutput->text());
+}
+
+QString AddJobDialog::preset(void)
+{
+ return ui->cbxPreset->itemText(ui->cbxPreset->currentIndex());
+}
+
+QString AddJobDialog::tuning(void)
+{
+ return ui->cbxTuning->itemText(ui->cbxTuning->currentIndex());
+}
+
+QString AddJobDialog::profile(void)
+{
+ return ui->cbxProfile->itemText(ui->cbxProfile->currentIndex());
+}
+
+QString AddJobDialog::params(void)
+{
+ return ui->editCustomX264Params->text().simplified();
+}
+
+bool AddJobDialog::runImmediately(void)
+{
+ return ui->checkBoxRun->isChecked();
+}
+
+bool AddJobDialog::applyToAll(void)
+{
+ return ui->checkBoxApplyToAll->isChecked();
+}
+
+void AddJobDialog::setRunImmediately(bool run)
+{
+ ui->checkBoxRun->setChecked(run);
+}
+
+void AddJobDialog::setSourceFile(const QString &path)
+{
+ ui->editSource->setText(QDir::toNativeSeparators(path));
+}
+
+void AddJobDialog::setOutputFile(const QString &path)
+{
+ ui->editOutput->setText(QDir::toNativeSeparators(path));}
+
+void AddJobDialog::setSourceEditable(const bool editable)
+{
+ ui->buttonBrowseSource->setEnabled(editable);
+}
+
+void AddJobDialog::setApplyToAllVisible(const bool visible)
+{
+ ui->checkBoxApplyToAll->setVisible(visible);
}
///////////////////////////////////////////////////////////////////////////////
void AddJobDialog::loadTemplateList(void)
{
- cbxTemplate->addItem(tr("<Default>"), QVariant::fromValue<void*>(m_defaults));
- cbxTemplate->setCurrentIndex(0);
+ ui->cbxTemplate->addItem(tr("<Default>"), QVariant::fromValue<void*>(m_defaults));
+ ui->cbxTemplate->setCurrentIndex(0);
QMap<QString, OptionsModel*> templates = OptionsModel::loadAllTemplates();
QStringList templateNames = templates.keys();
while(!templateNames.isEmpty())
{
QString current = templateNames.takeFirst();
- cbxTemplate->addItem(current, QVariant::fromValue<void*>(templates.value(current)));
+ ui->cbxTemplate->addItem(current, QVariant::fromValue<void*>(templates.value(current)));
if(templates.value(current)->equals(m_options))
{
- cbxTemplate->setCurrentIndex(cbxTemplate->count() - 1);
+ ui->cbxTemplate->setCurrentIndex(ui->cbxTemplate->count() - 1);
}
}
- if((cbxTemplate->currentIndex() == 0) && (!m_options->equals(m_defaults)))
+ if((ui->cbxTemplate->currentIndex() == 0) && (!m_options->equals(m_defaults)))
{
- cbxTemplate->insertItem(1, tr("<Recently Used>"), QVariant::fromValue<void*>(m_options));
- cbxTemplate->setCurrentIndex(1);
+ ui->cbxTemplate->insertItem(1, tr("<Recently Used>"), QVariant::fromValue<void*>(m_options));
+ ui->cbxTemplate->setCurrentIndex(1);
}
}
void AddJobDialog::restoreOptions(OptionsModel *options)
{
- cbxRateControlMode->blockSignals(true);
- spinQuantizer->blockSignals(true);
- spinBitrate->blockSignals(true);
- cbxPreset->blockSignals(true);
- cbxTuning->blockSignals(true);
- cbxProfile->blockSignals(true);
- editCustomX264Params->blockSignals(true);
- editCustomAvs2YUVParams->blockSignals(true);
-
- cbxRateControlMode->setCurrentIndex(options->rcMode());
- spinQuantizer->setValue(options->quantizer());
- spinBitrate->setValue(options->bitrate());
- updateComboBox(cbxPreset, options->preset());
- updateComboBox(cbxTuning, options->tune());
- updateComboBox(cbxProfile, options->profile());
- editCustomX264Params->setText(options->customX264());
- editCustomAvs2YUVParams->setText(options->customAvs2YUV());
-
- cbxRateControlMode->blockSignals(false);
- spinQuantizer->blockSignals(false);
- spinBitrate->blockSignals(false);
- cbxPreset->blockSignals(false);
- cbxTuning->blockSignals(false);
- cbxProfile->blockSignals(false);
- editCustomX264Params->blockSignals(false);
- editCustomAvs2YUVParams->blockSignals(false);
+ ui->cbxRateControlMode->blockSignals(true);
+ ui->spinQuantizer->blockSignals(true);
+ ui->spinBitrate->blockSignals(true);
+ ui->cbxPreset->blockSignals(true);
+ ui->cbxTuning->blockSignals(true);
+ ui->cbxProfile->blockSignals(true);
+ ui->editCustomX264Params->blockSignals(true);
+ ui->editCustomAvs2YUVParams->blockSignals(true);
+
+ ui->cbxRateControlMode->setCurrentIndex(options->rcMode());
+ ui->spinQuantizer->setValue(options->quantizer());
+ ui->spinBitrate->setValue(options->bitrate());
+ updateComboBox(ui->cbxPreset, options->preset());
+ updateComboBox(ui->cbxTuning, options->tune());
+ updateComboBox(ui->cbxProfile, options->profile());
+ ui->editCustomX264Params->setText(options->customX264());
+ ui->editCustomAvs2YUVParams->setText(options->customAvs2YUV());
+
+ ui->cbxRateControlMode->blockSignals(false);
+ ui->spinQuantizer->blockSignals(false);
+ ui->spinBitrate->blockSignals(false);
+ ui->cbxPreset->blockSignals(false);
+ ui->cbxTuning->blockSignals(false);
+ ui->cbxProfile->blockSignals(false);
+ ui->editCustomX264Params->blockSignals(false);
+ ui->editCustomAvs2YUVParams->blockSignals(false);
}
void AddJobDialog::saveOptions(OptionsModel *options)
{
- options->setRCMode(static_cast<OptionsModel::RCMode>(cbxRateControlMode->currentIndex()));
- options->setQuantizer(spinQuantizer->value());
- options->setBitrate(spinBitrate->value());
- options->setPreset(cbxPreset->model()->data(cbxPreset->model()->index(cbxPreset->currentIndex(), 0)).toString());
- options->setTune(cbxTuning->model()->data(cbxTuning->model()->index(cbxTuning->currentIndex(), 0)).toString());
- options->setProfile(cbxProfile->model()->data(cbxProfile->model()->index(cbxProfile->currentIndex(), 0)).toString());
- options->setCustomX264(editCustomX264Params->hasAcceptableInput() ? editCustomX264Params->text().simplified() : QString());
- options->setCustomAvs2YUV(editCustomAvs2YUVParams->hasAcceptableInput() ? editCustomAvs2YUVParams->text().simplified() : QString());
+ options->setRCMode(static_cast<OptionsModel::RCMode>(ui->cbxRateControlMode->currentIndex()));
+ options->setQuantizer(ui->spinQuantizer->value());
+ options->setBitrate(ui->spinBitrate->value());
+ options->setPreset(ui->cbxPreset->model()->data(ui->cbxPreset->model()->index(ui->cbxPreset->currentIndex(), 0)).toString());
+ options->setTune(ui->cbxTuning->model()->data(ui->cbxTuning->model()->index(ui->cbxTuning->currentIndex(), 0)).toString());
+ options->setProfile(ui->cbxProfile->model()->data(ui->cbxProfile->model()->index(ui->cbxProfile->currentIndex(), 0)).toString());
+ options->setCustomX264(ui->editCustomX264Params->hasAcceptableInput() ? ui->editCustomX264Params->text().simplified() : QString());
+ options->setCustomAvs2YUV(ui->editCustomAvs2YUVParams->hasAcceptableInput() ? ui->editCustomAvs2YUVParams->text().simplified() : QString());
}
QString AddJobDialog::currentSourcePath(const bool bWithName)
#pragma once
-#include "uic_win_addJob.h"
-
-#include <QDir>
+#include <QDialog>
class OptionsModel;
class RecentlyUsed;
+class QComboBox;
+
+namespace Ui
+{
+ class AddJobDialog;
+}
-class AddJobDialog : public QDialog, private Ui::AddJobDialog
+class AddJobDialog : public QDialog
{
Q_OBJECT
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 editCustomX264Params->text().simplified(); }
- bool runImmediately(void) { return checkBoxRun->isChecked(); }
- bool applyToAll(void) { return checkBoxApplyToAll->isChecked(); }
- void setRunImmediately(bool run) { checkBoxRun->setChecked(run); }
- void setSourceFile(const QString &path) { editSource->setText(QDir::toNativeSeparators(path)); }
- void setOutputFile(const QString &path) { editOutput->setText(QDir::toNativeSeparators(path)); }
- void setSourceEditable(const bool editable) { buttonBrowseSource->setEnabled(editable); }
- void setApplyToAllVisible(const bool visible) { checkBoxApplyToAll->setVisible(visible); }
+ QString preset(void);
+ QString tuning(void);
+ QString profile(void);
+ QString params(void);
+ 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);
virtual void accept(void);
private:
+ Ui::AddJobDialog *const ui;
+
void loadTemplateList(void);
void restoreOptions(OptionsModel *options);
void saveOptions(OptionsModel *options);
///////////////////////////////////////////////////////////////////////////////
#include "win_editor.h"
+#include "uic_win_editor.h"
+
#include "global.h"
#include <QProcess>
EditorDialog::EditorDialog(QWidget *parent)
:
- QDialog(parent)
+ QDialog(parent),
+ ui(new Ui::EditorDialog())
{
//Init the dialog, from the .ui file
- setupUi(this);
+ ui->setupUi(this);
setWindowFlags(windowFlags() & (~Qt::WindowContextHelpButtonHint));
//Fix size
EditorDialog::~EditorDialog(void)
{
+ delete ui;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// Public Functions
+///////////////////////////////////////////////////////////////////////////////
+
+QString EditorDialog::getEditText(void)
+{
+ return ui->plainTextEdit->toPlainText().simplified();
+}
+
+void EditorDialog::setEditText(const QString &text)
+{
+ ui->plainTextEdit->clear();
+ ui->plainTextEdit->appendPlainText(text.simplified());
}
///////////////////////////////////////////////////////////////////////////////
#pragma once
-#include "uic_win_editor.h"
+#include <QDialog>
-class QProcess;
+namespace Ui
+{
+ class EditorDialog;
+}
-class EditorDialog : public QDialog, private Ui::EditorDialog
+class EditorDialog : public QDialog
{
Q_OBJECT
EditorDialog(QWidget *parent);
~EditorDialog(void);
- QString getEditText(void) { return plainTextEdit->toPlainText().simplified(); }
-
- void setEditText(const QString &text)
- {
- plainTextEdit->clear();
- plainTextEdit->appendPlainText(text.simplified());
- }
+ QString getEditText(void);
+ void setEditText(const QString &text);
+
+private:
+ Ui::EditorDialog *const ui;
};
///////////////////////////////////////////////////////////////////////////////
#include "win_help.h"
+#include "uic_win_help.h"
+
#include "global.h"
#include <QProcess>
m_avs2yuv(avs2yuv),
m_x64supported(x64supported),
m_use10BitEncoding(use10BitEncoding),
- m_process(new QProcess())
+ m_process(new QProcess()),
+ ui(new Ui::HelpDialog())
{
//Init the dialog, from the .ui file
- setupUi(this);
+ ui->setupUi(this);
setWindowFlags(windowFlags() & (~Qt::WindowContextHelpButtonHint));
//Fix size
HelpDialog::~HelpDialog(void)
{
delete m_process;
+ delete ui;
}
///////////////////////////////////////////////////////////////////////////////
void HelpDialog::showEvent(QShowEvent *event)
{
- logo_x264->setHidden(m_avs2yuv);
- logo_avisynth->setVisible(m_avs2yuv);
+ ui->logo_x264->setHidden(m_avs2yuv);
+ ui->logo_avisynth->setVisible(m_avs2yuv);
QDialog::showEvent(event);
if(!m_process->waitForStarted())
{
- plainTextEdit->appendPlainText(tr("Failed to create x264 process :-("));
+ ui->plainTextEdit->appendPlainText(tr("Failed to create x264 process :-("));
}
}
{
line = line.left(line.length() - 1);
}
- plainTextEdit->appendPlainText(line);
+ ui->plainTextEdit->appendPlainText(line);
}
}
if(!m_avs2yuv)
{
m_process->start(X264_BINARY(m_appDir, m_use10BitEncoding, m_x64supported), QStringList() << "--fullhelp");
- plainTextEdit->appendPlainText("\n--------\n");
+ ui->plainTextEdit->appendPlainText("\n--------\n");
if(!m_process->waitForStarted())
{
- plainTextEdit->appendPlainText(tr("Failed to create x264 process :-("));
+ ui->plainTextEdit->appendPlainText(tr("Failed to create x264 process :-("));
}
}
}
else
{
- plainTextEdit->verticalScrollBar()->setSliderPosition(0);
+ ui->plainTextEdit->verticalScrollBar()->setSliderPosition(0);
}
}
#pragma once
-#include "uic_win_help.h"
+#include <QDialog>
class QProcess;
-class HelpDialog : public QDialog, private Ui::HelpDialog
+namespace Ui
+{
+ class HelpDialog;
+}
+
+class HelpDialog : public QDialog
{
Q_OBJECT
void finished(void);
private:
+ Ui::HelpDialog *const ui;
+
const QString m_appDir;
QProcess *const m_process;
///////////////////////////////////////////////////////////////////////////////
#include "win_main.h"
+#include "uic_win_main.h"
+#include "global.h"
+#include "model_status.h"
#include "model_jobList.h"
#include "model_options.h"
#include "model_preferences.h"
m_skipVersionTest(false),
m_abortOnTimeout(true),
m_firstShow(true),
- m_initialized(false)
+ m_initialized(false),
+ ui(new Ui::MainWindow())
{
//Init the dialog, from the .ui file
- setupUi(this);
+ ui->setupUi(this);
setWindowFlags(windowFlags() & (~Qt::WindowMaximizeButtonHint));
//Register meta types
//Freeze minimum size
setMinimumSize(size());
- splitter->setSizes(QList<int>() << 16 << 196);
+ ui->splitter->setSizes(QList<int>() << 16 << 196);
//Update title
- labelBuildDate->setText(tr("Built on %1 at %2").arg(x264_version_date().toString(Qt::ISODate), QString::fromLatin1(x264_version_time())));
- labelBuildDate->installEventFilter(this);
+ ui->labelBuildDate->setText(tr("Built on %1 at %2").arg(x264_version_date().toString(Qt::ISODate), QString::fromLatin1(x264_version_time())));
+ ui->labelBuildDate->installEventFilter(this);
setWindowTitle(QString("%1 (%2 Mode)").arg(windowTitle(), m_cpuFeatures->x64 ? "64-Bit" : "32-Bit"));
if(X264_DEBUG)
{
//Create model
m_jobList = new JobListModel(m_preferences);
connect(m_jobList, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(jobChangedData(QModelIndex, QModelIndex)));
- jobsView->setModel(m_jobList);
+ ui->jobsView->setModel(m_jobList);
//Setup view
- jobsView->horizontalHeader()->setSectionHidden(3, true);
- jobsView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
- jobsView->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed);
- jobsView->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed);
- jobsView->horizontalHeader()->resizeSection(1, 150);
- jobsView->horizontalHeader()->resizeSection(2, 90);
- jobsView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
- connect(jobsView->selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), this, SLOT(jobSelected(QModelIndex, QModelIndex)));
+ ui->jobsView->horizontalHeader()->setSectionHidden(3, true);
+ ui->jobsView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
+ ui->jobsView->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed);
+ ui->jobsView->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed);
+ ui->jobsView->horizontalHeader()->resizeSection(1, 150);
+ ui->jobsView->horizontalHeader()->resizeSection(2, 90);
+ ui->jobsView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
+ connect(ui->jobsView->selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), this, SLOT(jobSelected(QModelIndex, QModelIndex)));
//Create context menu
- QAction *actionClipboard = new QAction(QIcon(":/buttons/page_paste.png"), tr("Copy to Clipboard"), logView);
+ QAction *actionClipboard = new QAction(QIcon(":/buttons/page_paste.png"), tr("Copy to Clipboard"), ui->logView);
actionClipboard->setEnabled(false);
- logView->addAction(actionClipboard);
+ ui->logView->addAction(actionClipboard);
connect(actionClipboard, SIGNAL(triggered(bool)), this, SLOT(copyLogToClipboard(bool)));
- jobsView->addActions(menuJob->actions());
+ ui->jobsView->addActions(ui->menuJob->actions());
//Enable buttons
- connect(buttonAddJob, SIGNAL(clicked()), this, SLOT(addButtonPressed()));
- connect(buttonStartJob, SIGNAL(clicked()), this, SLOT(startButtonPressed()));
- connect(buttonAbortJob, SIGNAL(clicked()), this, SLOT(abortButtonPressed()));
- connect(buttonPauseJob, SIGNAL(toggled(bool)), this, SLOT(pauseButtonPressed(bool)));
- connect(actionJob_Delete, SIGNAL(triggered()), this, SLOT(deleteButtonPressed()));
- connect(actionJob_Restart, SIGNAL(triggered()), this, SLOT(restartButtonPressed()));
- connect(actionJob_Browse, SIGNAL(triggered()), this, SLOT(browseButtonPressed()));
+ connect(ui->buttonAddJob, SIGNAL(clicked()), this, SLOT(addButtonPressed()));
+ connect(ui->buttonStartJob, SIGNAL(clicked()), this, SLOT(startButtonPressed()));
+ connect(ui->buttonAbortJob, SIGNAL(clicked()), this, SLOT(abortButtonPressed()));
+ connect(ui->buttonPauseJob, SIGNAL(toggled(bool)), this, SLOT(pauseButtonPressed(bool)));
+ connect(ui->actionJob_Delete, SIGNAL(triggered()), this, SLOT(deleteButtonPressed()));
+ connect(ui->actionJob_Restart, SIGNAL(triggered()), this, SLOT(restartButtonPressed()));
+ connect(ui->actionJob_Browse, SIGNAL(triggered()), this, SLOT(browseButtonPressed()));
//Enable menu
- connect(actionOpen, SIGNAL(triggered()), this, SLOT(openActionTriggered()));
- connect(actionAbout, SIGNAL(triggered()), this, SLOT(showAbout()));
- connect(actionWebMulder, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebX264, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebKomisar, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebVideoLAN, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebJEEB, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebAvisynth32, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebAvisynth64, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebVapourSynth, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebVapourSynthDocs, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebWiki, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebBluRay, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebAvsWiki, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebSecret, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionWebSupport, SIGNAL(triggered()), this, SLOT(showWebLink()));
- connect(actionPreferences, SIGNAL(triggered()), this, SLOT(showPreferences()));
+ connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openActionTriggered()));
+ connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(showAbout()));
+ connect(ui->actionWebMulder, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebX264, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebKomisar, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebVideoLAN, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebJEEB, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebAvisynth32, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebAvisynth64, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebVapourSynth, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebVapourSynthDocs, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebWiki, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebBluRay, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebAvsWiki, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebSecret, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionWebSupport, SIGNAL(triggered()), this, SLOT(showWebLink()));
+ connect(ui->actionPreferences, SIGNAL(triggered()), this, SLOT(showPreferences()));
//Create floating label
- m_label = new QLabel(jobsView->viewport());
+ m_label = new QLabel(ui->jobsView->viewport());
m_label->setText(tr("No job created yet. Please click the 'Add New Job' button!"));
m_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
SET_TEXT_COLOR(m_label, Qt::darkGray);
SET_FONT_BOLD(m_label, true);
m_label->setVisible(true);
m_label->setContextMenuPolicy(Qt::ActionsContextMenu);
- m_label->addActions(jobsView->actions());
- connect(splitter, SIGNAL(splitterMoved(int, int)), this, SLOT(updateLabelPos()));
+ m_label->addActions(ui->jobsView->actions());
+ connect(ui->splitter, SIGNAL(splitterMoved(int, int)), this, SLOT(updateLabelPos()));
updateLabelPos();
}
X264_DELETE(m_recentlyUsed);
VapourSynthCheckThread::unload();
AvisynthCheckThread::unload();
+
+ delete ui;
}
///////////////////////////////////////////////////////////////////////////////
*/
void MainWindow::startButtonPressed(void)
{
- m_jobList->startJob(jobsView->currentIndex());
+ m_jobList->startJob(ui->jobsView->currentIndex());
}
/*
*/
void MainWindow::abortButtonPressed(void)
{
- m_jobList->abortJob(jobsView->currentIndex());
+ m_jobList->abortJob(ui->jobsView->currentIndex());
}
/*
*/
void MainWindow::deleteButtonPressed(void)
{
- m_jobList->deleteJob(jobsView->currentIndex());
+ m_jobList->deleteJob(ui->jobsView->currentIndex());
m_label->setVisible(m_jobList->rowCount(QModelIndex()) == 0);
}
*/
void MainWindow::browseButtonPressed(void)
{
- QString outputFile = m_jobList->getJobOutputFile(jobsView->currentIndex());
+ QString outputFile = m_jobList->getJobOutputFile(ui->jobsView->currentIndex());
if((!outputFile.isEmpty()) && QFileInfo(outputFile).exists() && QFileInfo(outputFile).isFile())
{
QProcess::startDetached(QString::fromLatin1("explorer.exe"), QStringList() << QString::fromLatin1("/select,") << QDir::toNativeSeparators(outputFile), QFileInfo(outputFile).path());
{
if(checked)
{
- m_jobList->pauseJob(jobsView->currentIndex());
+ m_jobList->pauseJob(ui->jobsView->currentIndex());
}
else
{
- m_jobList->resumeJob(jobsView->currentIndex());
+ m_jobList->resumeJob(ui->jobsView->currentIndex());
}
}
*/
void MainWindow::restartButtonPressed(void)
{
- const QModelIndex index = jobsView->currentIndex();
+ const QModelIndex index = ui->jobsView->currentIndex();
const OptionsModel *options = m_jobList->getJobOptions(index);
QString sourceFileName = m_jobList->getJobSourceFile(index);
QString outputFileName = m_jobList->getJobOutputFile(index);
{
qDebug("Job selected: %d", current.row());
- if(logView->model())
+ if(ui->logView->model())
{
- disconnect(logView->model(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(jobLogExtended(QModelIndex, int, int)));
+ disconnect(ui->logView->model(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(jobLogExtended(QModelIndex, int, int)));
}
if(current.isValid())
{
- logView->setModel(m_jobList->getLogFile(current));
- connect(logView->model(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(jobLogExtended(QModelIndex, int, int)));
- logView->actions().first()->setEnabled(true);
- QTimer::singleShot(0, logView, SLOT(scrollToBottom()));
+ ui->logView->setModel(m_jobList->getLogFile(current));
+ connect(ui->logView->model(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(jobLogExtended(QModelIndex, int, int)));
+ ui->logView->actions().first()->setEnabled(true);
+ QTimer::singleShot(0, ui->logView, SLOT(scrollToBottom()));
- progressBar->setValue(m_jobList->getJobProgress(current));
- editDetails->setText(m_jobList->data(m_jobList->index(current.row(), 3, QModelIndex()), Qt::DisplayRole).toString());
+ ui->progressBar->setValue(m_jobList->getJobProgress(current));
+ ui->editDetails->setText(m_jobList->data(m_jobList->index(current.row(), 3, QModelIndex()), Qt::DisplayRole).toString());
updateButtons(m_jobList->getJobStatus(current));
updateTaskbar(m_jobList->getJobStatus(current), m_jobList->data(m_jobList->index(current.row(), 0, QModelIndex()), Qt::DecorationRole).value<QIcon>());
}
else
{
- logView->setModel(NULL);
- logView->actions().first()->setEnabled(false);
- progressBar->setValue(0);
- editDetails->clear();
+ ui->logView->setModel(NULL);
+ ui->logView->actions().first()->setEnabled(false);
+ ui->progressBar->setValue(0);
+ ui->editDetails->clear();
updateButtons(JobStatus_Undefined);
updateTaskbar(JobStatus_Undefined, QIcon());
}
- progressBar->repaint();
+ ui->progressBar->repaint();
}
/*
*/
void MainWindow::jobChangedData(const QModelIndex &topLeft, const QModelIndex &bottomRight)
{
- int selected = jobsView->currentIndex().row();
+ int selected = ui->jobsView->currentIndex().row();
if(topLeft.column() <= 1 && bottomRight.column() >= 1) /*STATUS*/
{
{
if(i == selected)
{
- progressBar->setValue(m_jobList->getJobProgress(m_jobList->index(i, 0, QModelIndex())));
- WinSevenTaskbar::setTaskbarProgress(this, progressBar->value(), progressBar->maximum());
+ ui->progressBar->setValue(m_jobList->getJobProgress(m_jobList->index(i, 0, QModelIndex())));
+ WinSevenTaskbar::setTaskbarProgress(this, ui->progressBar->value(), ui->progressBar->maximum());
break;
}
}
{
if(i == selected)
{
- editDetails->setText(m_jobList->data(m_jobList->index(i, 3, QModelIndex()), Qt::DisplayRole).toString());
+ ui->editDetails->setText(m_jobList->data(m_jobList->index(i, 3, QModelIndex()), Qt::DisplayRole).toString());
break;
}
}
*/
void MainWindow::jobLogExtended(const QModelIndex & parent, int start, int end)
{
- QTimer::singleShot(0, logView, SLOT(scrollToBottom()));
+ QTimer::singleShot(0, ui->logView, SLOT(scrollToBottom()));
}
/*
*/
void MainWindow::showWebLink(void)
{
- if(QObject::sender() == actionWebMulder) QDesktopServices::openUrl(QUrl(home_url));
- if(QObject::sender() == actionWebX264) QDesktopServices::openUrl(QUrl("http://www.x264.com/"));
- if(QObject::sender() == actionWebKomisar) QDesktopServices::openUrl(QUrl("http://komisar.gin.by/"));
- if(QObject::sender() == actionWebVideoLAN) QDesktopServices::openUrl(QUrl("http://download.videolan.org/pub/x264/binaries/"));
- if(QObject::sender() == actionWebJEEB) QDesktopServices::openUrl(QUrl("http://x264.fushizen.eu/"));
- if(QObject::sender() == actionWebAvisynth32) QDesktopServices::openUrl(QUrl("http://sourceforge.net/projects/avisynth2/files/AviSynth%202.5/"));
- if(QObject::sender() == actionWebAvisynth64) QDesktopServices::openUrl(QUrl("http://code.google.com/p/avisynth64/downloads/list"));
- if(QObject::sender() == actionWebVapourSynth) QDesktopServices::openUrl(QUrl("http://www.vapoursynth.com/"));
- if(QObject::sender() == actionWebVapourSynthDocs) QDesktopServices::openUrl(QUrl("http://www.vapoursynth.com/doc/"));
- if(QObject::sender() == actionWebWiki) QDesktopServices::openUrl(QUrl("http://mewiki.project357.com/wiki/X264_Settings"));
- if(QObject::sender() == actionWebBluRay) QDesktopServices::openUrl(QUrl("http://www.x264bluray.com/"));
- if(QObject::sender() == actionWebAvsWiki) QDesktopServices::openUrl(QUrl("http://avisynth.nl/index.php/Main_Page#Usage"));
- if(QObject::sender() == actionWebSupport) QDesktopServices::openUrl(QUrl("http://forum.doom9.org/showthread.php?t=144140"));
- if(QObject::sender() == actionWebSecret) QDesktopServices::openUrl(QUrl("http://www.youtube.com/watch_popup?v=AXIeHY-OYNI"));
+ if(QObject::sender() == ui->actionWebMulder) QDesktopServices::openUrl(QUrl(home_url));
+ if(QObject::sender() == ui->actionWebX264) QDesktopServices::openUrl(QUrl("http://www.x264.com/"));
+ if(QObject::sender() == ui->actionWebKomisar) QDesktopServices::openUrl(QUrl("http://komisar.gin.by/"));
+ if(QObject::sender() == ui->actionWebVideoLAN) QDesktopServices::openUrl(QUrl("http://download.videolan.org/pub/x264/binaries/"));
+ if(QObject::sender() == ui->actionWebJEEB) QDesktopServices::openUrl(QUrl("http://x264.fushizen.eu/"));
+ if(QObject::sender() == ui->actionWebAvisynth32) QDesktopServices::openUrl(QUrl("http://sourceforge.net/projects/avisynth2/files/AviSynth%202.5/"));
+ if(QObject::sender() == ui->actionWebAvisynth64) QDesktopServices::openUrl(QUrl("http://code.google.com/p/avisynth64/downloads/list"));
+ if(QObject::sender() == ui->actionWebVapourSynth) QDesktopServices::openUrl(QUrl("http://www.vapoursynth.com/"));
+ if(QObject::sender() == ui->actionWebVapourSynthDocs) QDesktopServices::openUrl(QUrl("http://www.vapoursynth.com/doc/"));
+ if(QObject::sender() == ui->actionWebWiki) QDesktopServices::openUrl(QUrl("http://mewiki.project357.com/wiki/X264_Settings"));
+ if(QObject::sender() == ui->actionWebBluRay) QDesktopServices::openUrl(QUrl("http://www.x264bluray.com/"));
+ if(QObject::sender() == ui->actionWebAvsWiki) QDesktopServices::openUrl(QUrl("http://avisynth.nl/index.php/Main_Page#Usage"));
+ if(QObject::sender() == ui->actionWebSupport) QDesktopServices::openUrl(QUrl("http://forum.doom9.org/showthread.php?t=144140"));
+ if(QObject::sender() == ui->actionWebSecret) QDesktopServices::openUrl(QUrl("http://www.youtube.com/watch_popup?v=AXIeHY-OYNI"));
}
/*
return;
}
- int startIdx= jobsView->currentIndex().isValid() ? qBound(0, jobsView->currentIndex().row(), rows-1) : 0;
+ int startIdx= ui->jobsView->currentIndex().isValid() ? qBound(0, ui->jobsView->currentIndex().row(), rows-1) : 0;
for(int i = 0; i < rows; i++)
{
{
if(m_jobList->startJob(m_jobList->index(currentIdx, 0, QModelIndex())))
{
- jobsView->selectRow(currentIdx);
+ ui->jobsView->selectRow(currentIdx);
return;
}
}
*/
void MainWindow::updateLabelPos(void)
{
- const QWidget *const viewPort = jobsView->viewport();
+ const QWidget *const viewPort = ui->jobsView->viewport();
m_label->setGeometry(0, 0, viewPort->width(), viewPort->height());
}
{
qDebug("copyLogToClipboard");
- if(LogFileModel *log = dynamic_cast<LogFileModel*>(logView->model()))
+ if(LogFileModel *log = dynamic_cast<LogFileModel*>(ui->logView->model()))
{
log->copyToClipboard();
x264_beep(x264_beep_info);
*/
bool MainWindow::eventFilter(QObject *o, QEvent *e)
{
- if((o == labelBuildDate) && (e->type() == QEvent::MouseButtonPress))
+ if((o == ui->labelBuildDate) && (e->type() == QEvent::MouseButtonPress))
{
QTimer::singleShot(0, this, SLOT(showAbout()));
return true;
{
if(runImmediately)
{
- jobsView->selectRow(newIndex.row());
+ ui->jobsView->selectRow(newIndex.row());
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
m_jobList->startJob(newIndex);
}
{
qDebug("MainWindow::updateButtons(void)");
- buttonStartJob->setEnabled(status == JobStatus_Enqueued);
- buttonAbortJob->setEnabled(status == JobStatus_Indexing || status == JobStatus_Running || status == JobStatus_Running_Pass1 || status == JobStatus_Running_Pass2 || status == JobStatus_Paused);
- buttonPauseJob->setEnabled(status == JobStatus_Indexing || status == JobStatus_Running || status == JobStatus_Paused || status == JobStatus_Running_Pass1 || status == JobStatus_Running_Pass2);
- buttonPauseJob->setChecked(status == JobStatus_Paused || status == JobStatus_Pausing);
+ ui->buttonStartJob->setEnabled(status == JobStatus_Enqueued);
+ ui->buttonAbortJob->setEnabled(status == JobStatus_Indexing || status == JobStatus_Running || status == JobStatus_Running_Pass1 || status == JobStatus_Running_Pass2 || status == JobStatus_Paused);
+ ui->buttonPauseJob->setEnabled(status == JobStatus_Indexing || status == JobStatus_Running || status == JobStatus_Paused || status == JobStatus_Running_Pass1 || status == JobStatus_Running_Pass2);
+ ui->buttonPauseJob->setChecked(status == JobStatus_Paused || status == JobStatus_Pausing);
- actionJob_Delete->setEnabled(status == JobStatus_Completed || status == JobStatus_Aborted || status == JobStatus_Failed || status == JobStatus_Enqueued);
- actionJob_Restart->setEnabled(status == JobStatus_Completed || status == JobStatus_Aborted || status == JobStatus_Failed || status == JobStatus_Enqueued);
- actionJob_Browse->setEnabled(status == JobStatus_Completed);
+ ui->actionJob_Delete->setEnabled(status == JobStatus_Completed || status == JobStatus_Aborted || status == JobStatus_Failed || status == JobStatus_Enqueued);
+ ui->actionJob_Restart->setEnabled(status == JobStatus_Completed || status == JobStatus_Aborted || status == JobStatus_Failed || status == JobStatus_Enqueued);
+ ui->actionJob_Browse->setEnabled(status == JobStatus_Completed);
- actionJob_Start->setEnabled(buttonStartJob->isEnabled());
- actionJob_Abort->setEnabled(buttonAbortJob->isEnabled());
- actionJob_Pause->setEnabled(buttonPauseJob->isEnabled());
- actionJob_Pause->setChecked(buttonPauseJob->isChecked());
+ ui->actionJob_Start->setEnabled(ui->buttonStartJob->isEnabled());
+ ui->actionJob_Abort->setEnabled(ui->buttonAbortJob->isEnabled());
+ ui->actionJob_Pause->setEnabled(ui->buttonPauseJob->isEnabled());
+ ui->actionJob_Pause->setChecked(ui->buttonPauseJob->isChecked());
- editDetails->setEnabled(status != JobStatus_Paused);
+ ui->editDetails->setEnabled(status != JobStatus_Paused);
}
/*
case JobStatus_Resuming:
break;
default:
- WinSevenTaskbar::setTaskbarProgress(this, progressBar->value(), progressBar->maximum());
+ WinSevenTaskbar::setTaskbarProgress(this, ui->progressBar->value(), ui->progressBar->maximum());
break;
}
#pragma once
-#include "uic_win_main.h"
-
#include "global.h"
-#include "model_status.h"
+#include <QMainWindow>
class JobListModel;
class OptionsModel;
class PreferencesModel;
class RecentlyUsed;
class IPCThread;
+class QModelIndex;
+class QLabel;
+enum JobStatus;
+
+namespace Ui
+{
+ class MainWindow;
+}
-class MainWindow: public QMainWindow, private Ui::MainWindow
+class MainWindow: public QMainWindow
{
Q_OBJECT
virtual bool winEvent(MSG *message, long *result);
private:
+ Ui::MainWindow *const ui;
+
bool m_firstShow;
bool m_skipVersionTest;
bool m_abortOnTimeout;
void handleDroppedFiles(void);
void init(void);
void instanceCreated(unsigned int pid);
- void jobSelected(const QModelIndex & current, const QModelIndex & previous);
+ void jobSelected(const QModelIndex ¤t, const QModelIndex &previous);
void jobChangedData(const QModelIndex &top, const QModelIndex &bottom);
void jobLogExtended(const QModelIndex & parent, int start, int end);
void launchNextJob();
///////////////////////////////////////////////////////////////////////////////
#include "win_preferences.h"
+#include "uic_win_preferences.h"
#include "global.h"
#include "model_preferences.h"
#include <QMouseEvent>
#include <QMessageBox>
-#define UPDATE_CHECKBOX(CHKBOX, VALUE, BLOCK) do \
-{ \
- if((BLOCK)) { (CHKBOX)->blockSignals(true); } \
- if((CHKBOX)->isChecked() != (VALUE)) (CHKBOX)->click(); \
- if((CHKBOX)->isChecked() != (VALUE)) (CHKBOX)->setChecked(VALUE); \
- if((BLOCK)) { (CHKBOX)->blockSignals(false); } \
-} \
-while(0)
-
-#define UPDATE_COMBOBOX(COBOX, VALUE, DEFAULT) do \
-{ \
- const int _cnt = (COBOX)->count(); \
- const int _val = (VALUE); \
- const int _def = (DEFAULT); \
- for(int _i = 0; _i < _cnt; _i++) \
- { \
- const int _current = (COBOX)->itemData(_i).toInt(); \
- if((_current == _val) || (_current == _def)) \
- { \
- (COBOX)->setCurrentIndex(_i); \
- if((_current == _val)) break; \
- } \
- } \
-} \
-while(0)
+static inline void UPDATE_CHECKBOX(QCheckBox *const chkbox, const bool value, const bool block)
+{
+ if(block) { chkbox->blockSignals(true); }
+ if(chkbox->isChecked() != value) chkbox->click();
+ if(chkbox->isChecked() != value) chkbox->setChecked(value);
+ if(block) { chkbox->blockSignals(false); }
+}
+
+static inline void UPDATE_COMBOBOX(QComboBox *const cobox, const int value, const int defVal)
+{
+ const int count = cobox->count();
+ for(int i = 0; i < count; i++)
+ {
+ const int current = cobox->itemData(i).toInt();
+ if((current == value) || (current == defVal))
+ {
+ cobox->setCurrentIndex(i);
+ if((current == value)) break;
+ }
+ }
+}
PreferencesDialog::PreferencesDialog(QWidget *parent, PreferencesModel *preferences, bool x64)
:
QDialog(parent),
- m_x64(x64)
+ m_x64(x64),
+ ui(new Ui::PreferencesDialog())
{
- setupUi(this);
+ ui->setupUi(this);
setWindowFlags(windowFlags() & (~Qt::WindowContextHelpButtonHint));
setFixedSize(minimumSize());
x264_enable_close_button(this, false);
- comboBoxPriority->setItemData(0, QVariant::fromValue( 1)); //Above Normal
- comboBoxPriority->setItemData(1, QVariant::fromValue( 0)); //Normal
- comboBoxPriority->setItemData(2, QVariant::fromValue(-1)); //Below Normal
- comboBoxPriority->setItemData(3, QVariant::fromValue(-2)); //Idle
-
- labelRunNextJob->installEventFilter(this);
- labelUse10BitEncoding->installEventFilter(this);
- labelUse64BitAvs2YUV->installEventFilter(this);
- labelShutdownComputer->installEventFilter(this);
- labelSaveLogFiles->installEventFilter(this);
- labelSaveToSourceFolder->installEventFilter(this);
- labelEnableSounds->installEventFilter(this);
- labelDisableWarnings->installEventFilter(this);
-
- connect(resetButton, SIGNAL(clicked()), this, SLOT(resetButtonPressed()));
- connect(checkUse10BitEncoding, SIGNAL(toggled(bool)), this, SLOT(use10BitEncodingToggled(bool)));
- connect(checkDisableWarnings, SIGNAL(toggled(bool)), this, SLOT(disableWarningsToggled(bool)));
+ ui->comboBoxPriority->setItemData(0, QVariant::fromValue( 1)); //Above Normal
+ ui->comboBoxPriority->setItemData(1, QVariant::fromValue( 0)); //Normal
+ ui->comboBoxPriority->setItemData(2, QVariant::fromValue(-1)); //Below Normal
+ ui->comboBoxPriority->setItemData(3, QVariant::fromValue(-2)); //Idle
+
+ ui->labelRunNextJob->installEventFilter(this);
+ ui->labelUse10BitEncoding->installEventFilter(this);
+ ui->labelUse64BitAvs2YUV->installEventFilter(this);
+ ui->labelShutdownComputer->installEventFilter(this);
+ ui->labelSaveLogFiles->installEventFilter(this);
+ ui->labelSaveToSourceFolder->installEventFilter(this);
+ ui->labelEnableSounds->installEventFilter(this);
+ ui->labelDisableWarnings->installEventFilter(this);
+
+ connect(ui->resetButton, SIGNAL(clicked()), this, SLOT(resetButtonPressed()));
+ connect(ui->checkUse10BitEncoding, SIGNAL(toggled(bool)), this, SLOT(use10BitEncodingToggled(bool)));
+ connect(ui->checkDisableWarnings, SIGNAL(toggled(bool)), this, SLOT(disableWarningsToggled(bool)));
m_preferences = preferences;
}
PreferencesDialog::~PreferencesDialog(void)
{
+ delete ui;
}
void PreferencesDialog::showEvent(QShowEvent *event)
{
if(event) QDialog::showEvent(event);
- UPDATE_CHECKBOX(checkRunNextJob, m_preferences->autoRunNextJob(), false);
- UPDATE_CHECKBOX(checkShutdownComputer, m_preferences->shutdownComputer(), false);
- UPDATE_CHECKBOX(checkUse64BitAvs2YUV, m_preferences->useAvisyth64Bit(), false);
- UPDATE_CHECKBOX(checkSaveLogFiles, m_preferences->saveLogFiles(), false);
- UPDATE_CHECKBOX(checkSaveToSourceFolder, m_preferences->saveToSourcePath(), false);
- UPDATE_CHECKBOX(checkEnableSounds, m_preferences->enableSounds(), false);
- UPDATE_CHECKBOX(checkDisableWarnings, m_preferences->disableWarnings(), true);
- UPDATE_CHECKBOX(checkUse10BitEncoding, m_preferences->use10BitEncoding(), true);
-
- spinBoxJobCount->setValue(m_preferences->maxRunningJobCount());
+ UPDATE_CHECKBOX(ui->checkRunNextJob, m_preferences->autoRunNextJob(), false);
+ UPDATE_CHECKBOX(ui->checkShutdownComputer, m_preferences->shutdownComputer(), false);
+ UPDATE_CHECKBOX(ui->checkUse64BitAvs2YUV, m_preferences->useAvisyth64Bit(), false);
+ UPDATE_CHECKBOX(ui->checkSaveLogFiles, m_preferences->saveLogFiles(), false);
+ UPDATE_CHECKBOX(ui->checkSaveToSourceFolder, m_preferences->saveToSourcePath(), false);
+ UPDATE_CHECKBOX(ui->checkEnableSounds, m_preferences->enableSounds(), false);
+ UPDATE_CHECKBOX(ui->checkDisableWarnings, m_preferences->disableWarnings(), true);
+ UPDATE_CHECKBOX(ui->checkUse10BitEncoding, m_preferences->use10BitEncoding(), true);
+
+ ui->spinBoxJobCount->setValue(m_preferences->maxRunningJobCount());
- UPDATE_COMBOBOX(comboBoxPriority, qBound(-2, m_preferences->processPriority(), 1), 0);
+ UPDATE_COMBOBOX(ui->comboBoxPriority, qBound(-2, m_preferences->processPriority(), 1), 0);
- checkUse64BitAvs2YUV->setEnabled(m_x64);
- labelUse64BitAvs2YUV->setEnabled(m_x64);
+ ui->checkUse64BitAvs2YUV->setEnabled(m_x64);
+ ui->labelUse64BitAvs2YUV->setEnabled(m_x64);
}
bool PreferencesDialog::eventFilter(QObject *o, QEvent *e)
{
- emulateMouseEvent(o, e, labelRunNextJob, checkRunNextJob);
- emulateMouseEvent(o, e, labelShutdownComputer, checkShutdownComputer);
- emulateMouseEvent(o, e, labelUse10BitEncoding, checkUse10BitEncoding);
- emulateMouseEvent(o, e, labelUse64BitAvs2YUV, checkUse64BitAvs2YUV);
- emulateMouseEvent(o, e, labelSaveLogFiles, checkSaveLogFiles);
- emulateMouseEvent(o, e, labelSaveToSourceFolder, checkSaveToSourceFolder);
- emulateMouseEvent(o, e, labelEnableSounds, checkEnableSounds);
- emulateMouseEvent(o, e, labelDisableWarnings, checkDisableWarnings);
+ emulateMouseEvent(o, e, ui->labelRunNextJob, ui->checkRunNextJob);
+ emulateMouseEvent(o, e, ui->labelShutdownComputer, ui->checkShutdownComputer);
+ emulateMouseEvent(o, e, ui->labelUse10BitEncoding, ui->checkUse10BitEncoding);
+ emulateMouseEvent(o, e, ui->labelUse64BitAvs2YUV, ui->checkUse64BitAvs2YUV);
+ emulateMouseEvent(o, e, ui->labelSaveLogFiles, ui->checkSaveLogFiles);
+ emulateMouseEvent(o, e, ui->labelSaveToSourceFolder, ui->checkSaveToSourceFolder);
+ emulateMouseEvent(o, e, ui->labelEnableSounds, ui->checkEnableSounds);
+ emulateMouseEvent(o, e, ui->labelDisableWarnings, ui->checkDisableWarnings);
return false;
}
void PreferencesDialog::done(int n)
{
- m_preferences->setAutoRunNextJob(checkRunNextJob->isChecked());
- m_preferences->setShutdownComputer(checkShutdownComputer->isChecked());
- m_preferences->setUse10BitEncoding(checkUse10BitEncoding->isChecked());
- m_preferences->setUseAvisyth64Bit(checkUse64BitAvs2YUV->isChecked());
- m_preferences->setSaveLogFiles(checkSaveLogFiles->isChecked());
- m_preferences->setSaveToSourcePath(checkSaveToSourceFolder->isChecked());
- m_preferences->setMaxRunningJobCount(spinBoxJobCount->value());
- m_preferences->setProcessPriority(comboBoxPriority->itemData(comboBoxPriority->currentIndex()).toInt());
- m_preferences->setEnableSounds(checkEnableSounds->isChecked());
- m_preferences->setDisableWarnings(checkDisableWarnings->isChecked());
+ m_preferences->setAutoRunNextJob(ui->checkRunNextJob->isChecked());
+ m_preferences->setShutdownComputer(ui->checkShutdownComputer->isChecked());
+ m_preferences->setUse10BitEncoding(ui->checkUse10BitEncoding->isChecked());
+ m_preferences->setUseAvisyth64Bit(ui->checkUse64BitAvs2YUV->isChecked());
+ m_preferences->setSaveLogFiles(ui->checkSaveLogFiles->isChecked());
+ m_preferences->setSaveToSourcePath(ui->checkSaveToSourceFolder->isChecked());
+ m_preferences->setMaxRunningJobCount(ui->spinBoxJobCount->value());
+ m_preferences->setProcessPriority(ui->comboBoxPriority->itemData(ui->comboBoxPriority->currentIndex()).toInt());
+ m_preferences->setEnableSounds(ui->checkEnableSounds->isChecked());
+ m_preferences->setDisableWarnings(ui->checkDisableWarnings->isChecked());
PreferencesModel::savePreferences(m_preferences);
QDialog::done(n);
if(QMessageBox::warning(this, tr("10-Bit Encoding"), text.replace("-", "−"), tr("Continue"), tr("Revert"), QString(), 1) != 0)
{
- UPDATE_CHECKBOX(checkUse10BitEncoding, false, true);
+ UPDATE_CHECKBOX(ui->checkUse10BitEncoding, false, true);
}
}
}
if(QMessageBox::warning(this, tr("Avisynth/VapourSynth Warnings"), text.replace("-", "−"), tr("Continue"), tr("Revert"), QString(), 1) != 0)
{
- UPDATE_CHECKBOX(checkDisableWarnings, false, true);
+ UPDATE_CHECKBOX(ui->checkDisableWarnings, false, true);
}
}
}
\ No newline at end of file
#pragma once
-#include "uic_win_preferences.h"
+#include <QDialog>
class PreferencesModel;
-class PreferencesDialog : public QDialog, private Ui::PreferencesDialog
+namespace Ui
+{
+ class PreferencesDialog;
+}
+
+class PreferencesDialog : public QDialog
{
Q_OBJECT
void emulateMouseEvent(QObject *object, QEvent *event, QWidget *source, QWidget *target);
private:
+ Ui::PreferencesDialog *const ui;
PreferencesModel *m_preferences;
private slots: