From: APTX Date: Sat, 16 Jun 2012 12:22:56 +0000 (+0200) Subject: Do not report success if MYLISTADD successfully edited 0 entries X-Git-Url: https://gitweb.aptx.org/?a=commitdiff_plain;h=afb75be64e80b5d06907887a6fd3e9e7116bfd49;p=anidbudpclient.git Do not report success if MYLISTADD successfully edited 0 entries --- diff --git a/mylistaddcommand.cpp b/mylistaddcommand.cpp index cff7e92..1ab143b 100644 --- a/mylistaddcommand.cpp +++ b/mylistaddcommand.cpp @@ -200,6 +200,11 @@ int MyListAddReply::lid() const return m_lid; } +int MyListAddReply::affectedEntries() const +{ + return m_affectedEntries; +} + bool MyListAddReply::stateSet() const { return m_stateSet; @@ -223,8 +228,20 @@ void MyListAddReply::setRawReply(ReplyCode replyCode, const QString &reply) } break; case MYLIST_ENTRY_EDITED: + { + QString affectedEntries = reply.mid(reply.indexOf('\n')).trimmed(); + bool ok; + m_affectedEntries = affectedEntries.toInt(&ok); + + if (ok && !m_affectedEntries) + { + signalReplyReady(false); + return; + } + m_stateSet = true; signalReplyReady(true); + } break; case FILE_ALREADY_IN_MYLIST: { @@ -248,6 +265,7 @@ void MyListAddReply::setRawReply(ReplyCode replyCode, const QString &reply) void MyListAddReply::init() { m_lid = 0; + m_affectedEntries = 0; m_stateSet = false; } diff --git a/mylistaddcommand.h b/mylistaddcommand.h index 749e9a3..09d6e64 100644 --- a/mylistaddcommand.h +++ b/mylistaddcommand.h @@ -76,10 +76,12 @@ class ANIDBUDPCLIENTSHARED_EXPORT MyListAddReply : public AbstractReply Q_OBJECT REPLY_DEFINITION_HELPER2(MyListAdd) - Q_PROPERTY(int lid READ lid); + Q_PROPERTY(int lid READ lid) + Q_PROPERTY(int affectedEntries READ affectedEntries) public: int lid() const; + int affectedEntries() const; bool stateSet() const; void setRawReply(ReplyCode replyCode, const QString &reply); @@ -88,6 +90,7 @@ private: void init(); int m_lid; + int m_affectedEntries; bool m_stateSet; };