# HG changeset patch # User sheepluva # Date 1347214267 -7200 # Node ID 993337e5021f3af7f9c91b32bf7ed2fec3c52d7b # Parent f6bfbe8290086e4e6e96bf0e525a9a05d1728043 client-flags: make code easier to read/prettier; add parsing of flag 'a'; add warning in console on unknown flag; ignore ADMIN_ACCESS diff -r f6bfbe829008 -r 993337e5021f QTfrontend/net/newnetclient.cpp --- a/QTfrontend/net/newnetclient.cpp Sun Sep 09 19:57:13 2012 +0400 +++ b/QTfrontend/net/newnetclient.cpp Sun Sep 09 20:11:07 2012 +0200 @@ -357,6 +357,7 @@ QString flags = lst[1]; bool setFlag = flags[0] == '+'; + const QStringList nicks = lst.mid(2); while(flags.size() > 1) { @@ -366,18 +367,29 @@ switch(c) { case 'r': - { - for(int i = 2; i < lst.size(); ++i) - { - if (lst[i] == mynick) + foreach (const QString & nick, nicks) { - if (isChief && !setFlag) ToggleReady(); - else emit setMyReadyStatus(setFlag); + if (nick == mynick) + { + if (isChief && !setFlag) ToggleReady(); + else emit setMyReadyStatus(setFlag); + } + emit setReadyStatus(nick, setFlag); } + break; - emit setReadyStatus(lst[i], setFlag); - } - } + case 'a': + foreach (const QString & nick, nicks) + { + if (nick == mynick) + emit adminAccess(setFlag); + + emit setAdminStatus(nick, setFlag); + } + break; + + default: + qWarning() << "Net: Unknown client-flag: " << c; } } @@ -503,7 +515,7 @@ if (lst[0] == "ADMIN_ACCESS") { - emit adminAccess(true); + // obsolete, see +a client flag return; } diff -r f6bfbe829008 -r 993337e5021f QTfrontend/net/newnetclient.h --- a/QTfrontend/net/newnetclient.h Sun Sep 09 19:57:13 2012 +0400 +++ b/QTfrontend/net/newnetclient.h Sun Sep 09 20:11:07 2012 +0200 @@ -139,6 +139,7 @@ void setReadyStatus(const QString & nick, bool isReady); void setMyReadyStatus(bool isReady); + void setAdminStatus(const QString & nick, bool isReady); public slots: void ToggleReady();