From: APTX Date: Sun, 30 Aug 2009 13:05:55 +0000 (+0200) Subject: - Some fixes X-Git-Url: https://gitweb.aptx.org/?a=commitdiff_plain;h=9e1acd4716b4dc2906e57509f087cc7839b82fe0;p=aniplayer-old.git - Some fixes --- diff --git a/lib/anidbudpclient/anidbudpclient.pro b/lib/anidbudpclient/anidbudpclient.pro index 9025a35..9575960 100644 --- a/lib/anidbudpclient/anidbudpclient.pro +++ b/lib/anidbudpclient/anidbudpclient.pro @@ -55,7 +55,7 @@ CONV_HEADERS += include/AniDBUdpClient/Client \ include/AniDBUdpClient/FileCommand \ include/AniDBUdpClient/File \ include/AniDBUdpClient/UptimeCommand \ - include/AniDBUdpClient/Hash + include/AniDBUdpClient/Hash \ include/AniDBUdpClient/UptimeCommand \ include(../../lib/qtstatemachine/src/qtstatemachine.pri) diff --git a/lib/anidbudpclient/anidbudpclient_global.h b/lib/anidbudpclient/anidbudpclient_global.h index d0dacd7..86f32b2 100644 --- a/lib/anidbudpclient/anidbudpclient_global.h +++ b/lib/anidbudpclient/anidbudpclient_global.h @@ -1,7 +1,6 @@ #ifndef ANIDBUDPCLIENT_GLOBAL_H #define ANIDBUDPCLIENT_GLOBAL_H -#include #include #define CLIENT_NAME "anidbudpclient" diff --git a/lib/anidbudpclient/client.h b/lib/anidbudpclient/client.h index 362fcb7..7fa97f9 100644 --- a/lib/anidbudpclient/client.h +++ b/lib/anidbudpclient/client.h @@ -33,7 +33,7 @@ class ANIDBUDPCLIENTSHARED_EXPORT Client : public QObject friend class CommandData; Q_OBJECT - Q_ENUMS(State Error IdlePolicy AbstractCommand::ReplyCode); + Q_ENUMS(AniDBUdpClient::State AniDBUdpClient::Error AniDBUdpClient::IdlePolicy AniDBUdpClientReplyCode); Q_PROPERTY(QString host READ host WRITE setHost); Q_PROPERTY(quint16 hostPort READ hostPort WRITE setHostPort); diff --git a/lib/anidbudpclient/file.cpp b/lib/anidbudpclient/file.cpp index d3b490e..9bb07f9 100644 --- a/lib/anidbudpclient/file.cpp +++ b/lib/anidbudpclient/file.cpp @@ -6,19 +6,22 @@ File::File(QObject *parent) : QObject(parent) { } -QString File::file() const +QFileInfo File::file() const { return m_file; } -void File::setFile(const QString &file) +void File::setFile(const QFileInfo &file) { + if (m_file == file) + return; + m_file = file; } qint64 File::size() { - return m_size; + return m_file.size(); } QByteArray File::ed2k() @@ -28,11 +31,14 @@ QByteArray File::ed2k() void File::hash() { - + if (m_ed2k.isEmpty()) + actionsQueue.enqueue(Hashing); } bool File::rename() { + if (m_ed2k.isEmpty()) + actionsQueue.enqueue(Hashing); return false; } @@ -42,9 +48,12 @@ bool File::markWatched(bool watched) } -void File::finishHashing() +void File::finishHashing(const QFileInfo &file, const QByteArray &hash) { - + if (m_file != file) + return; + m_ed2k = hash; + emit finished(Hashing); } void File::finishRenaming() @@ -57,4 +66,31 @@ void File::finishMarking() } +void File::startHashing() +{ + +} + +void File::startRenaming() +{ + +} + +void File::startMarking() +{ + +} + +void File::work() +{ + Action a = actionsQueue.dequeue(); + + switch (a) + { + case Hashing: + default: + break; + } +} + } // namespace AniDBUdpClient diff --git a/lib/anidbudpclient/file.h b/lib/anidbudpclient/file.h index aa3d608..3bade27 100644 --- a/lib/anidbudpclient/file.h +++ b/lib/anidbudpclient/file.h @@ -4,6 +4,9 @@ #include "anidbudpclient_global.h" #include +#include +#include + namespace AniDBUdpClient { class FileCommand; @@ -13,7 +16,7 @@ class ANIDBUDPCLIENTSHARED_EXPORT File : public QObject { Q_OBJECT - Q_PROPERTY(QString file READ file WRITE setFile); + Q_PROPERTY(QFileInfo file READ file WRITE setFile); Q_PROPERTY(qint64 size READ size); Q_PROPERTY(QByteArray ed2k READ ed2k); @@ -30,8 +33,8 @@ public: File(QObject *parent = 0); - QString file() const; - void setFile(const QString &file); + QFileInfo file() const; + void setFile(const QFileInfo &file); qint64 size(); QByteArray ed2k(); @@ -45,14 +48,20 @@ signals: void finished(Action action); private slots: - void finishHashing(); + void finishHashing(const QFileInfo &file, const QByteArray &hash); void finishRenaming(); void finishMarking(); private: + void startHashing(); + void startRenaming(); + void startMarking(); + + void work(); + + QQueue actionsQueue; - QString m_file; - qint64 m_size; + QFileInfo m_file; QByteArray m_ed2k; };