]> Some of my projects - anidbudpclient.git/commitdiff
Do not report success if MYLISTADD successfully edited 0 entries
authorAPTX <marek321@gmail.com>
Sat, 16 Jun 2012 12:22:56 +0000 (14:22 +0200)
committerAPTX <marek321@gmail.com>
Sat, 16 Jun 2012 12:22:56 +0000 (14:22 +0200)
mylistaddcommand.cpp
mylistaddcommand.h

index cff7e92830f8de2803c3322c7abfc986e6b071d4..1ab143b2490163a03782756a60cfd4555f5f4d07 100644 (file)
@@ -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;
 }
 
index 749e9a3ad5e486bdcdfd92232b01215c07d894ac..09d6e64330af0b0486a73ccb2658b2dae352df1d 100644 (file)
@@ -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;
 };