New methods for calculating the count of peers and messages. It should be faster than getting all data in std::list.

Now used in MainWindow.cpp, MessagesDialog.cpp and peerstatus.cpp

void p3Peers::getPeerCount (unsigned int *pnFriendCount, unsigned int *pnOnlineCount);
void p3Msgs::getMessageCount(unsigned int *pnInbox, unsigned int *pnInboxNew, unsigned int *pnOutbox, unsigned int *pnDraftbox, unsigned int *pnSentbox);


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2010-05-13 19:20:40 +00:00
parent e5667a915d
commit 84a87fa11b
15 changed files with 99 additions and 61 deletions

View file

@ -351,19 +351,11 @@ void MainWindow::updateStatus()
if (natstatus)
natstatus->getNATStatus();
std::list<std::string> ids;
rsPeers->getOnlineList(ids);
int online = ids.size();
unsigned int online = 0;
rsPeers->getPeerCount (NULL, &online);
std::list<MsgInfoSummary> msgList;
std::list<MsgInfoSummary>::const_iterator it;
rsMsgs -> getMessageSummaries(msgList);
int newInboxCount = 0;
for(it = msgList.begin(); it != msgList.end(); it++)
if ((it -> msgflags & RS_MSG_BOXMASK) == RS_MSG_INBOX && ((it -> msgflags & RS_MSG_NEW) == RS_MSG_NEW))
newInboxCount ++;
unsigned int newInboxCount = 0;
rsMsgs->getMessageCount (NULL, &newInboxCount, NULL, NULL, NULL);
if(newInboxCount)
messageAction->setIcon(QIcon(QPixmap(":/images/messages_new.png"))) ;