]> Some of my projects - localmylist.git/commitdiff
Allow building LocalMyList without AniDBUdpClient. Note that this disables adding...
authorAPTX <marek321@gmail.com>
Thu, 21 Feb 2013 01:48:02 +0000 (02:48 +0100)
committerAPTX <marek321@gmail.com>
Thu, 21 Feb 2013 01:48:02 +0000 (02:48 +0100)
anioni/anioni.cpp
anioni/anioni.pro
localmylist/addfiletask.cpp
localmylist/addfiletask.h
localmylist/localmylist.pro
localmylist/mylist.cpp
localmylist/mylist.h
management-gui/mainwindow.cpp
management-gui/management-gui.pro
management-gui/mylistview.cpp

index 2bbbc419da04538dd4a0c8d483a57db806cb7dbc..1c76fda4188c94d3ee2a4ba01af6863d3044b8ca 100644 (file)
@@ -2,8 +2,10 @@
 
 #include <LocalMyList/MyList>
 #include <LocalMyList/Settings>
-#include <LocalMyList/RequestHandler>
-#include <AniDBUdpClient/Client>
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
+#      include <LocalMyList/RequestHandler>
+#      include <AniDBUdpClient/Client>
+#endif
 #include <QSqlError>
 #include <QTimer>
 #include <QDebug>
@@ -20,6 +22,7 @@ AniOni::AniOni(int argc, char **argv) :
 
 void AniOni::handleUdpClientError()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        using namespace AniDBUdpClient;
 
        switch (Client::instance()->error())
@@ -59,6 +62,7 @@ void AniOni::handleUdpClientError()
                        return;
                break;
        }
+#endif
 }
 
 void AniOni::failRequests()
@@ -99,6 +103,7 @@ void AniOni::start()
 
        if (LocalMyList::instance()->isUdpHost() && runUdpClient)
        {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
                LocalMyList::instance()->setupUdpClient();
                AniDBUdpClient::Client::instance()->setIdlePolicy(
                                        AniDBUdpClient::IdlePolicy(LocalMyList::instance()->settings()->get("udpClientIdlePolicy").toInt()));
@@ -107,6 +112,12 @@ void AniOni::start()
                LocalMyList::instance()->setupRequestHandler();
                LocalMyList::instance()->requestHandler()->handleRequests();
                LocalMyList::instance()->requestHandler()->handleMyListUpdates();
+#else
+               log(QString("AniOni was configured to run the UDP client, but LocalMyList is not compiled with the UDP client."
+                                       " Recompile LocalMyList with AniDBUdpClient"), QtServiceBase::Error);
+               application()->exit(1);
+               return;
+#endif
        }
 
        if (runRenameHandler)
index 305db3fb1e73224379536f735feb5a6723ce1cd1..a5227097cf5a52342b7b3b40b09759d698875980 100644 (file)
@@ -22,6 +22,7 @@ LIBS += -lanidbudpclient
 include(../localmylist.pri)
 include(qtservice/qtservice.pri)
 
+noanidbudpclient:DEFINES += LOCALMYLIST_NO_ANIDBUDPCLIENT
 
 target.path = $${PREFIX}/bin
 
index 57088ade804bc8d86673c02af055704a09daeba2..3c21304b852cc12ace2877719c0a64f9c39ac2a3 100644 (file)
@@ -2,14 +2,17 @@
 
 #include "database.h"
 #include "mylist.h"
-
-#include <AniDBUdpClient/Hash>
-#include <AniDBUdpClient/Client>
-#include <AniDBUdpClient/FileCommand>
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
+#      include <AniDBUdpClient/Hash>
+#      include <AniDBUdpClient/Client>
+#      include <AniDBUdpClient/FileCommand>
+#endif
 
 namespace LocalMyList {
 
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
 using namespace AniDBUdpClient;
+#endif
 
 AddFileTask::AddFileTask(QObject *parent) :
        AbstractTask(parent), hashResult(0)
@@ -18,8 +21,10 @@ AddFileTask::AddFileTask(QObject *parent) :
 
 AddFileTask::~AddFileTask()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        if (hashResult)
                hashResult->deleteLater();
+#endif
 }
 
 QFileInfo AddFileTask::file() const
@@ -34,6 +39,7 @@ QString AddFileTask::taskSubject() const
 
 void AddFileTask::start()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        if (!m_file.exists() || !m_file.size())
        {
                emit finished();
@@ -47,6 +53,10 @@ void AddFileTask::start()
        }
        hashResult = Hash::instance()->hashFile(HashRequest(m_file));
        connect(hashResult, SIGNAL(resultReady()), this, SLOT(hashingFinished()));
+#else
+       emit finished();
+       // Should error if these tasks had errors :)
+#endif
 }
 
 void AddFileTask::setFile(const QFileInfo &file)
@@ -56,6 +66,7 @@ void AddFileTask::setFile(const QFileInfo &file)
 
 void AddFileTask::hashingFinished()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        int fid = db->isKnownFile(hashResult->hash(), m_file.size());
        if (fid)
        {
@@ -82,8 +93,8 @@ void AddFileTask::hashingFinished()
        request.size = m_file.size();
 
        db->addRequest(request);
-
        emit finished();
+#endif
 }
 
 } // namespace LocalMyList
index c488c1007c4dffd2091351d9af397ead6bc4d794..90c2305eea75ae5dfea4846413790f122cfae2e2 100644 (file)
@@ -23,7 +23,7 @@ class LOCALMYLISTSHARED_EXPORT AddFileTask : public AbstractTask
 public:
        explicit AddFileTask(QObject *parent = 0);
        ~AddFileTask();
-       
+
        QFileInfo file() const;
 
        QString taskSubject() const;
@@ -34,10 +34,10 @@ signals:
 
 public slots:
        void setFile(const QFileInfo &file);
-       
+
 private slots:
        void hashingFinished();
-       
+
 private:
        QFileInfo m_file;
        AniDBUdpClient::HashResult *hashResult;
index 9dee8a88e7c5872df4e29407534192f232c5f5f9..e76a2fc68854331b2f580f679c4b8ea0e1c6fee6 100644 (file)
@@ -15,16 +15,13 @@ SOURCES += \
        addfiletask.cpp \
        abstracttask.cpp \
        directoryscantask.cpp \
-       requesthandler.cpp \
        mylist.cpp \
        mylistmodel.cpp \
        mylistnode.cpp \
        animetitleparsetask.cpp \
        mylistexportparsetask.cpp \
        settings.cpp \
-       renamehandler.cpp \
        unknownfilelookuptask.cpp \
-       renameutils.cpp \
        directorywatcher.cpp \
        addrelatedepisodestask.cpp \
        scriptablesql.cpp \
@@ -37,16 +34,13 @@ HEADERS += \
        addfiletask.h \
        abstracttask.h \
        directoryscantask.h \
-       requesthandler.h \
        mylist.h \
        mylistmodel.h \
        mylistnode.h \
        animetitleparsetask.h \
        mylistexportparsetask.h \
        settings.h \
-       renamehandler.h \
        unknownfilelookuptask.h \
-       renameutils.h \
        directorywatcher.h \
        addrelatedepisodestask.h \
        scriptablesql.h \
@@ -63,8 +57,6 @@ CONV_HEADERS += \
        include/LocalMyList/MyListExportParseTask \
        include/LocalMyList/MyListModel \
        include/LocalMyList/MyListNode \
-       include/LocalMyList/RenameUtils \
-       include/LocalMyList/RequestHandler \
        include/LocalMyList/Settings \
        include/LocalMyList/UnknownFileLookupTask
 
@@ -74,12 +66,25 @@ CONV_HEADERS += \
        SOURCES += scriptable.cpp
 }
 
+!noanidbudpclient {
+       SOURCES += requesthandler.cpp \
+               renamehandler.cpp \
+               renameutils.cpp
+       HEADERS += requesthandler.h \
+               renamehandler.h \
+               renameutils.h
+       CONV_HEADERS += include/LocalMyList/RenameUtils \
+               include/LocalMyList/RequestHandler
+       LIBS += -lanidbudpclient
+} else {
+       DEFINES += LOCALMYLIST_NO_ANIDBUDPCLIENT
+}
+
+
 SHARE += \
        share/schema/schema.sql \
        share/schema/default_config.sql
 
-LIBS += -lanidbudpclient
-
 target.path = $${PREFIX}/lib
 
 headers.path = $${PREFIX}/include/LocalMyList
index 7612d65c1248cb2dd8e2dd4826962a1954af1023..3feb3d97b4fa75e7cf208e45fbbe12304b3b9592 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <QMetaType>
 #include <QCoreApplication>
+#include <QHostInfo>
 
 #include "database.h"
 #include "abstracttask.h"
 #include "animetitleparsetask.h"
 #include "mylistexportparsetask.h"
 #include "workthread.h"
-#include "requesthandler.h"
-#include "renamehandler.h"
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
+#      include "requesthandler.h"
+#      include "renamehandler.h"
+#endif
 #include "directorywatcher.h"
-#include <AniDBUdpClient/Client>
-
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
+#      include <AniDBUdpClient/Client>
+#endif
 namespace LocalMyList {
 
 MyList::MyList()
@@ -103,6 +107,9 @@ void MyList::markWatched(int fid, QDateTime when)
 
 void MyList::setupUdpClient()
 {
+#ifdef LOCALMYLIST_NO_ANIDBUDPCLIENT
+       return;
+#else
        if (!db->isConnected())
                return;
 
@@ -114,20 +121,24 @@ void MyList::setupUdpClient()
        Client::instance()->setPass(m_settings->get("udpClientPass").toString());
        Client::instance()->setEncryptionEnabled(m_settings->get("udpClientEncryptionEnabled").toBool());
        Client::instance()->setApiKey(m_settings->get("udpClientApiKey").toString());
+#endif
 }
 
 void MyList::setupRequestHandler()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        if (m_requestHandler || !db->isConnected())
                return;
 
        m_requestHandler = new RequestHandler(db, this);
        connect(db, SIGNAL(newPendingRequest()), m_requestHandler, SLOT(handleRequests()));
        connect(db, SIGNAL(newPendingMyListUpdate()), m_requestHandler, SLOT(handleMyListUpdates()));
+#endif
 }
 
 void MyList::setupRenameHandler()
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        if (m_renameHandler || !db->isConnected())
                return;
 
@@ -135,6 +146,7 @@ void MyList::setupRenameHandler()
 
        m_renameHandler = new RenameHandler(workThread->database(), workThread->settings());
        m_renameHandler->moveToThread(workThread);
+#endif
 }
 
 void MyList::setupDirectoryWatcher()
@@ -299,6 +311,15 @@ void MyList::destroy()
        m_instance = 0;
 }
 
+bool MyList::isUdpClientAvailable()
+{
+#ifdef LOCALMYLIST_NO_ANIDBUDPCLIENT
+       return false;
+#else
+       return true;
+#endif
+}
+
 void MyList::init()
 {
        static bool init = false;
index 0179adc20fa371bc4c2828038aaf128ee6bfdafb..5b9b27d8644ca4bb27b50d2928e61b0118d5090c 100644 (file)
@@ -95,6 +95,8 @@ public:
        static MyList *instance();
        static void destroy();
 
+       static bool isUdpClientAvailable();
+
        static bool REGISTER_QT_TYPES;
        static bool MANUAL_CLEANUP;
 
index ab4c80cee35322149ea3444f3381c67c4507edbf..01bbba72a8784db9c4a6040cb7dd0d2a5177c361 100644 (file)
@@ -77,6 +77,14 @@ MainWindow::MainWindow(QWidget *parent) :
                on_actionStartRenameHandler_triggered();
        if (autostartUdpClient)
                on_actionStartUDPCLient_triggered();
+
+       if (!MyList::isUdpClientAvailable())
+       {
+               ui->actionStartUDPCLient->setDisabled(true);
+               ui->actionStartRenameHandler->setDisabled(true);
+               ui->actionRenameScript->setDisabled(true);
+               ui->actionRenameFiles->setDisabled(true);
+       }
 }
 
 MainWindow::~MainWindow()
@@ -121,12 +129,16 @@ void MainWindow::allTasksFinished()
 
 void MainWindow::openRenameScriptEditor(int fid)
 {
+#ifndef LOCALMYLIST_NO_ANIDBUDPCLIENT
        if (!renameSettingsDialog)
                renameSettingsDialog = new RenameSettingsDialog();
 
        renameSettingsDialog->setupEnvForFile(fid);
 
        renameSettingsDialog->show();
+#else
+       Q_UNUSED(fid)
+#endif
 }
 
 void MainWindow::on_actionConnect_triggered()
index ebc27ba769843eb5f0f5a985f05f4d52d58fb97a..c20747a8bddfe2f79b75aedc53d7f0b8c960c41c 100644 (file)
@@ -8,28 +8,31 @@ TEMPLATE = app
 
 
 SOURCES += main.cpp\
-               mainwindow.cpp \
+       mainwindow.cpp \
        databaseconnectiondialog.cpp \
        mylistview.cpp \
-       renamesettingsdialog.cpp \
        mylistfiltermodel.cpp \
        reporteditordialog.cpp
 
 HEADERS += mainwindow.h \
        databaseconnectiondialog.h \
        mylistview.h \
-       renamesettingsdialog.h \
        mylistfiltermodel.h \
        reporteditordialog.h
 
 FORMS += mainwindow.ui \
-       databaseconnectiondialog.ui \
-       renamesettingsdialog.ui
+       databaseconnectiondialog.ui
 
 include(../localmylist.pri)
 include(qtsingleapplication/qtsingleapplication.pri)
 
-LIBS += -lanidbudpclient
-
+!noanidbudpclient {
+       SOURCES += renamesettingsdialog.cpp
+       HEADERS += renamesettingsdialog.h
+       FORMS += renamesettingsdialog.ui
+       LIBS += -lanidbudpclient
+} else {
+       DEFINES += LOCALMYLIST_NO_ANIDBUDPCLIENT
+}
 target.path = $${PREFIX}/bin
 INSTALLS += target
index 4a7a0c20f201011574404930f0ed9a4dfa1943ac..8baf0a91b650aae6abd04ed10d13f59bd493e88b 100644 (file)
@@ -33,6 +33,12 @@ MyListView::MyListView(QWidget *parent) :
        connect(renameTestAction, SIGNAL(triggered()), this, SLOT(renameTest()));
        requestDataAction = new QAction(tr("Request Data"), this);
        connect(requestDataAction, SIGNAL(triggered()), this, SLOT(requestData()));
+
+       if (!LocalMyList::MyList::isUdpClientAvailable())
+       {
+               renameFilesAction->setDisabled(true);
+               renameTestAction->setDisabled(true);
+       }
 }
 
 MyListFilterModel *MyListView::myListFilterModel() const