{
if(cliente.rosterManager().isRosterReceived() == true)
{
QXmppPresence::Type a = cliente.rosterManager().getPresence(barejid,resource).type();
online.addFile(":/icons/user-online.png");
if(ui->arbolConectados->findItems(barejid,Qt::MatchExactly).size() == 0)
{
item->setText(0,barejid);
ui->arbolConectados->addTopLevelItem(item);
}
if(a == QXmppPresence::Available)
{
item->setText(0,resource);
item->setIcon(0,online);
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->addChild(item);
}
if(a == QXmppPresence::Unavailable)
{
int i=0;
while(i<ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->childCount() && ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->child(i)->text(0) != resource) //busqueda lineal
{
i++;
}
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->takeChild(i);
if(ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->childCount() == 0)
{
online.addFile(":/icons/user-offline.png");
}
}
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->setIcon(0,online);
}
}
void MainWindow::cambioRoster(QString barejid, QString resource)
{
if(cliente.rosterManager().isRosterReceived() == true)
{
QXmppPresence::Type a = cliente.rosterManager().getPresence(barejid,resource).type();
QIcon online;
online.addFile(":/icons/user-online.png");
if(ui->arbolConectados->findItems(barejid,Qt::MatchExactly).size() == 0)
{
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0,barejid);
ui->arbolConectados->addTopLevelItem(item);
}
if(a == QXmppPresence::Available)
{
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0,resource);
item->setIcon(0,online);
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->addChild(item);
}
if(a == QXmppPresence::Unavailable)
{
int i=0;
while(i<ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->childCount() && ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->child(i)->text(0) != resource) //busqueda lineal
{
i++;
}
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->takeChild(i);
if(ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->childCount() == 0)
{
online.addFile(":/icons/user-offline.png");
}
}
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->setIcon(0,online);
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks