]> Some of my projects - localmylist.git/commitdiff
Initialize RenameEngine as needed.
authorAPTX <marek321@gmail.com>
Tue, 12 Jun 2012 20:51:26 +0000 (22:51 +0200)
committerAPTX <marek321@gmail.com>
Tue, 12 Jun 2012 20:51:26 +0000 (22:51 +0200)
localmylist/renamehandler.cpp
localmylist/renamehandler.h

index 246c0834af5c746334002973cfd3ff36f203f4fc..cafdc5ff7486ac907877c845c0e0a37a726dbd42 100644 (file)
@@ -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
index ab518860fb22db34d7fd5d00b65f862bbe2088f1..872e1b869531a41174b803f7f50d3e37e701cc06 100644 (file)
@@ -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