]> Some of my projects - anidbudpclient.git/commitdiff
Fix renaming files with FileRenameDelegate. The file extension (with dot) is appended...
authorAPTX <marek321@gmail.com>
Mon, 8 Aug 2011 21:32:55 +0000 (23:32 +0200)
committerAPTX <marek321@gmail.com>
Mon, 8 Aug 2011 21:32:55 +0000 (23:32 +0200)
file.cpp
filerenamedelegate.cpp

index a97bb96fbf6b68db59bc49e055705f24ef1f2a2f..982d930fb41903c92ec6bf7f801d7fd7fdcc67b7 100644 (file)
--- 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());
index a40ccb69fe20148d9020c9b364b625b19285ebe4..90b8d801c9fcbb4944ad8345427e7c9f2873bc43 100644 (file)
@@ -2,6 +2,8 @@
 
 #include "filecommand.h"
 
+#include <QDebug>
+
 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)