item new created old not appear in my QTreeView
The problem is when i add item the old item was deleted why?
code:
Code:
{
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);
}
}
Re: item new created old not appear in my QTreeView
Please, before you ask anymore questions for that, refactor your code to be at least somewhat readable.
All those repeated findItems for exactly the same input can really be done only once.
Cheers,
_