OSDN Git Service

Bump program version + updated changelog.
[x264-launcher/x264-launcher.git] / src / model_jobList.cpp
index 7a83a9e..1ade13f 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2016 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2017 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
@@ -23,6 +23,7 @@
 #include "global.h"
 #include "model_jobList.h"
 #include "thread_encode.h"
+#include "encoder_factory.h"
 #include "model_options.h"
 #include "model_preferences.h"
 #include "resource.h"
@@ -245,24 +246,22 @@ QModelIndex JobListModel::insertJob(EncodeThread *thread)
                return QModelIndex();
        }
        
-       QString config = QLatin1String("N/A");
-       switch(thread->options()->encType())
+       const AbstractEncoderInfo &encoderInfo = EncoderFactory::getEncoderInfo(thread->options()->encType());
+       const QStringList encoderNameParts = encoderInfo.getName().simplified().split(' ', QString::SkipEmptyParts);
+       QString config = encoderNameParts.isEmpty() ? encoderInfo.getName() : encoderNameParts.first();
+       switch(encoderInfo.rcModeToType(thread->options()->rcMode()))
        {
-               case OptionsModel::EncType_X264: config = QLatin1String("x264"); break;
-               case OptionsModel::EncType_X265: config = QLatin1String("x265"); break;
-       }
-       
-       switch(thread->options()->rcMode())
-       {
-               case OptionsModel::RCMode_CRF:   config.append(QString(" CRF@%1")  .arg(QString::number(thread->options()->quantizer())));         break;
-               case OptionsModel::RCMode_CQ:    config.append(QString(" CQ@%1")   .arg(QString::number(qRound(thread->options()->quantizer())))); break;
-               case OptionsModel::RCMode_2Pass: config.append(QString(" 2Pass@%1").arg(QString::number(thread->options()->bitrate())));           break;
-               case OptionsModel::RCMode_ABR:   config.append(QString(" ABR@%1")  .arg(QString::number(thread->options()->bitrate())));           break;
+       case AbstractEncoderInfo::RC_TYPE_QUANTIZER:
+               config.append(QString(", %1@%2").arg(encoderInfo.rcModeToString(thread->options()->rcMode()), QString::number(qRound(thread->options()->quantizer()))));
+               break;
+       case AbstractEncoderInfo::RC_TYPE_RATE_KBPS:
+       case AbstractEncoderInfo::RC_TYPE_MULTIPASS:
+               config.append(QString(", %1@%2").arg(encoderInfo.rcModeToString(thread->options()->rcMode()), QString::number(thread->options()->bitrate())));
+               break;
        }
 
        int n = 2;
-       QString jobName = QString("%1 (%2)").arg(QFileInfo(thread->sourceFileName()).completeBaseName().simplified(), config);
-
+       QString jobName = QString("%1 [%2]").arg(QFileInfo(thread->sourceFileName()).completeBaseName().simplified(), config);
        forever
        {
                bool unique = true;
@@ -276,7 +275,7 @@ QModelIndex JobListModel::insertJob(EncodeThread *thread)
                }
                if(!unique)
                {
-                       jobName = QString("%1 %2 (%3)").arg(QFileInfo(thread->sourceFileName()).completeBaseName().simplified(), QString::number(n++), config);
+                       jobName = QString("%1 %2 [%3]").arg(QFileInfo(thread->sourceFileName()).completeBaseName().simplified(), QString::number(n++), config);
                        continue;
                }
                break;
@@ -296,7 +295,7 @@ QModelIndex JobListModel::insertJob(EncodeThread *thread)
 
        connect(thread, SIGNAL(statusChanged(QUuid, JobStatus)), this, SLOT(updateStatus(QUuid, JobStatus)), Qt::QueuedConnection);
        connect(thread, SIGNAL(progressChanged(QUuid, unsigned int)), this, SLOT(updateProgress(QUuid, unsigned int)), Qt::QueuedConnection);
-       connect(thread, SIGNAL(messageLogged(QUuid, QString)), logFile, SLOT(addLogMessage(QUuid, QString)), Qt::QueuedConnection);
+       connect(thread, SIGNAL(messageLogged(QUuid, qint64, QString)), logFile, SLOT(addLogMessage(QUuid, qint64,  QString)), Qt::QueuedConnection);
        connect(thread, SIGNAL(detailsChanged(QUuid, QString)), this, SLOT(updateDetails(QUuid, QString)), Qt::QueuedConnection);
        
        return createIndex(m_jobs.count() - 1, 0, NULL);