Ok i edited the code. The code was very wrong.
But i have one little question sorry again! But it's possible to add one item of my qtreewidget in my list??????
Actual code:
void MainWindow::rosterRecibido()
{
logado = true; //cuando recibimos el roster ya mostramos el frame con la lista de conectados
ui->frameLogin->hide();
ui->frameConexion->show();
int i,j;
QStringList contactos
= cliente.
rosterManager().
getRosterBareJids();
QList<QString> listaItems;
for(i=0;i<contactos.length();i++)
{
item->setText(0,contactos[i]);
QStringList recursos
= cliente.
rosterManager().
getResources(contactos
[i
]);
online.addFile(":/icons/user-offline.png");
item->setIcon(0,online);
for(j=0;j<recursos.length();j++)
{
AddChild(item);
listaItems.append(item);
}
ui->arbolConectados->addTopLevelItems(listaItems);
}
}
parent->addChild(item);
}
void MainWindow::rosterRecibido()
{
logado = true; //cuando recibimos el roster ya mostramos el frame con la lista de conectados
ui->frameLogin->hide();
ui->frameConexion->show();
int i,j;
QTreeWidgetItem *item = new QTreeWidgetItem();
QStringList contactos = cliente.rosterManager().getRosterBareJids();
QList<QString> listaItems;
for(i=0;i<contactos.length();i++)
{
item->setText(0,contactos[i]);
QStringList recursos = cliente.rosterManager().getResources(contactos[i]);
QIcon online;
online.addFile(":/icons/user-offline.png");
item->setIcon(0,online);
for(j=0;j<recursos.length();j++)
{
AddChild(item);
listaItems.append(item);
}
ui->arbolConectados->addTopLevelItems(listaItems);
}
}
void MainWindow::AddChild(QTreeWidgetItem *parent){
QTreeWidgetItem *item = new QTreeWidgetItem();
parent->addChild(item);
}
To copy to clipboard, switch view to plain text mode
Added after 4 minutes:
I want in the before code to include items of my QTreeWidget in my list. And here resize the content that i will show.
And this code is when i show the content:
{
if(cliente.rosterManager().isRosterReceived() == true)
{
online.addFile(":/icons/user-online.png");
if(ui->arbolConectados->findItems(barejid,Qt::MatchExactly).size() == 0)
{
item->setText(0,barejid);
ui->arbolConectados->addTopLevelItem(item);
}
if(cliente.rosterManager().getPresence(barejid,resource).type() == QXmppPresence::Available)
{
item->setText(0,resource);
item->setIcon(0,online);
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->addChild(item);
}
if(cliente.rosterManager().getPresence(barejid,resource).type() == 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)
{
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(cliente.rosterManager().getPresence(barejid,resource).type() == QXmppPresence::Available)
{
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0,resource);
item->setIcon(0,online);
ui->arbolConectados->findItems(barejid,Qt::MatchExactly)[0]->addChild(item);
}
if(cliente.rosterManager().getPresence(barejid,resource).type() == 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