JabberAdd::JabberAdd(JabberClient *client) { m_client = client; m_wizard = NULL; m_result = NULL; m_idValidator = new IdValidator(edtID); edtID->setValidator(m_idValidator); connect(tabAdd, SIGNAL(currentChanged(QWidget*)), this, SLOT(currentChanged(QWidget*))); connect(edtID, SIGNAL(returnPressed()), this, SLOT(search())); connect(edtID, SIGNAL(textChanged(const QString&)), this, SLOT(textChanged(const QString&))); QStringList services; for (unsigned i = 0; i < getContacts()->nClients(); i++){ Client *c = getContacts()->getClient(i); if ((c->protocol() != client->protocol()) || (c->getState() != Client::Connected)) continue; JabberClient *jc = static_cast<JabberClient*>(c); QString vHost = QString::fromUtf8(jc->VHost().c_str()); QStringList::Iterator it; for (it = services.begin(); it != services.end(); ++it){ if ((*it) == vHost) break; } if (it != services.end()) continue; services.append(vHost); } cmbServices->insertStringList(services); connect(cmbServices, SIGNAL(activated(const QString&)), this, SLOT(serviceChanged(const QString&))); serviceChanged(cmbServices->currentText()); fillGroup(); }
JabberClient *JabberAdd::findClient(const char *host) { for (unsigned i = 0; i < getContacts()->nClients(); i++){ Client *client = getContacts()->getClient(i); if ((client->protocol() != m_client->protocol()) || (client->getState() != Client::Connected)) continue; JabberClient *jc = static_cast<JabberClient*>(client); if (!strcmp(jc->VHost().c_str(), host)) return jc; } return NULL; }