From: APTX Date: Tue, 12 Jun 2012 20:51:26 +0000 (+0200) Subject: Initialize RenameEngine as needed. X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=9db17270e313a910ca7c7beeb2aef06c08ac052d;p=localmylist.git Initialize RenameEngine as needed. --- diff --git a/localmylist/renamehandler.cpp b/localmylist/renamehandler.cpp index 246c083..cafdc5f 100644 --- a/localmylist/renamehandler.cpp +++ b/localmylist/renamehandler.cpp @@ -16,9 +16,13 @@ RenameHandler::RenameHandler(Database *db, QObject *parent) : { this->db = db; connect(this, SIGNAL(renameBatchFinished()), this, SLOT(handleRename()), Qt::QueuedConnection); - setupRenameEngine(); + m_setup = false; } +bool RenameHandler::isSetup() +{ + return m_setup; +} void RenameHandler::handleRename() { @@ -116,6 +120,9 @@ void RenameHandler::handleRename() env["FVCodec"] = r.value("video_codec").toString(); env["Watched"] = r.value("my_watched").toDateTime().isValid() ? "1" : "0"; + if (!m_setup) + setupRenameEngine(); + renameEngine->evaluate(env); if (env.value("FileName", "").isEmpty()) @@ -172,6 +179,11 @@ void RenameHandler::handleRename() emit renameBatchFinished(); } +void RenameHandler::clearSetup() +{ + m_setup = false; +} + void RenameHandler::setupRenameEngine() { if (!renameEngine) @@ -181,8 +193,10 @@ void RenameHandler::setupRenameEngine() MyList::instance()->settings()->get("renameLanguage").toInt())); validScript = renameEngine->parse(MyList::instance()->settings()->get("renameScript").toString()); - if (validScript) + if (!validScript) db->log(tr("Rename Current rename script is invalid: %1, line: %2, column: %3").arg(renameEngine->error()).arg(renameEngine->line()).arg(renameEngine->column()), 2); + + m_setup = true; } } // namespace LocalMyList diff --git a/localmylist/renamehandler.h b/localmylist/renamehandler.h index ab51886..872e1b8 100644 --- a/localmylist/renamehandler.h +++ b/localmylist/renamehandler.h @@ -18,12 +18,15 @@ class RenameHandler : public QObject public: explicit RenameHandler(Database *db, QObject *parent = 0); + bool isSetup(); + signals: void renameBatchFinished(); public slots: void handleRename(); + void clearSetup(); void setupRenameEngine(); private: @@ -31,6 +34,7 @@ private: RenameParser::RenameEngine *renameEngine; bool validScript; + bool m_setup; }; } // namespace LocalMyList