From de181dd9bbfc169085b5ef7aae1b84b28f87dc2a Mon Sep 17 00:00:00 2001 From: APTX Date: Mon, 8 Aug 2011 23:32:55 +0200 Subject: [PATCH] Fix renaming files with FileRenameDelegate. The file extension (with dot) is appended automatically, the Type variable holds the Anime type (not the file type). --- file.cpp | 4 ++-- filerenamedelegate.cpp | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/file.cpp b/file.cpp index a97bb96..982d930 100644 --- a/file.cpp +++ b/file.cpp @@ -286,8 +286,8 @@ qDebug() << "finishRenaming"; newFileName.replace('"', "'"); newFileName.replace(QRegExp("[\\/]"), "-"); newFileName.replace(QRegExp("[\\/:*?\"<>|]"), ""); -#ifdef ANIDBUDPCLIENT_FILE_DEBUG -qDebug() << newFileName; +#ifdef ANIDBUDPCLIENT_RENAME_DEBUG +qDebug() << "New file name:" << newFileName; #endif QFile file(m_file.absoluteFilePath()); diff --git a/filerenamedelegate.cpp b/filerenamedelegate.cpp index a40ccb6..90b8d80 100644 --- a/filerenamedelegate.cpp +++ b/filerenamedelegate.cpp @@ -2,6 +2,8 @@ #include "filecommand.h" +#include + namespace AniDBUdpClient { FileRenameDelegate::FileRenameDelegate(RenameParser::RenameEngine *renameEngine, QObject *parent) : @@ -94,7 +96,7 @@ void FileRenameDelegate::rename(const AniDBUdpClient::FileReply *reply, QString } - env["Type"] = reply->value(FileFlag::FileType).toString(); + env["Type"] = reply->value(FileAnimeFlag::Type).toString(); env["Depr"] = reply->value(FileFlag::IsDeprecated).toInt() ? "1" : ""; const int state = reply->value(FileFlag::State).toInt(); @@ -119,9 +121,14 @@ void FileRenameDelegate::rename(const AniDBUdpClient::FileReply *reply, QString env["FALng"] = reply->value(FileFlag::DubLanguage).toString(); env["FSLng"] = reply->value(FileFlag::SubLanguage).toString(); +#ifdef ANIDBUDPCLIENT_RENAME_DEBUG +qDebug() << "Rename ENV:" << env; +qDebug() << "Rename Script:" << m_renameEngine->renameString(); +#endif + m_renameEngine->evaluate(env); - fileName = env.value("FileName", ""); + fileName = env.value("FileName", "") + "." + reply->value(FileFlag::FileType).toString(); filePath = env.value("FilePath", ""); #endif } @@ -138,7 +145,6 @@ void FileRenameDelegate::updateMasks() if (init) { - fMaskVars["Type"] = FileFlag::FileType; fMaskVars["Depr"] = FileFlag::IsDeprecated; fMaskVars["Cen"] = FileFlag::State; fMaskVars["Ver"] = FileFlag::State; @@ -168,6 +174,8 @@ void FileRenameDelegate::updateMasks() aMaskVars["EpHiNo"] = FileAnimeFlag::AnimeTotalEpisodes; aMaskVars["EpCount"] = FileAnimeFlag::HighestEpisodeNumber; + aMaskVars["Type"] = FileAnimeFlag::Type; + init = false; } @@ -175,8 +183,10 @@ void FileRenameDelegate::updateMasks() return; QStringList usedVars = m_renameEngine->usedVariables(); - - fMask = 0; +#ifdef ANIDBUDPCLIENT_RENAME_DEBUG +qDebug() << "Used Variables:" << usedVars; +#endif + fMask = FileFlag::FileType; aMask = 0; foreach (const QString &var, usedVars) -- 2.52.0