void SelectProfileWidget::updateProfiles() { IDiscoIdentity identity; identity.category = "gateway"; identity.type = FDescriptor.type; QList<Jid> nativeGates; if (FDescriptor.id == GSID_RAMBLER) nativeGates.append(streamJid()); QList<Jid> gates = FGateways->gateDescriptorServices(streamJid(),FDescriptor,FDescriptor.needLogin); for (QList<Jid>::iterator it=gates.begin(); it!=gates.end(); ) { if (!(FGateways->serviceRestrictions(streamJid(),*it) & GSR_ADD_CONTACT)) { IGateServiceDescriptor descriptor = FGateways->serviceDescriptor(streamJid(),*it); if (FDescriptor.id == descriptor.id) nativeGates.append(*it); it++; } else { it = gates.erase(it); } } Jid oldSelected = selectedProfile(); QList<Jid> newProfiles = (gates.toSet() - FProfiles.keys().toSet()).toList(); QList<Jid> oldProfiles = (FProfiles.keys().toSet() - gates.toSet()).toList(); qSort(newProfiles); if (!FDescriptor.needGate && !FProfiles.contains(streamJid())) newProfiles.prepend(streamJid()); else if (FDescriptor.needGate && FProfiles.contains(streamJid())) oldProfiles.prepend(streamJid()); else oldProfiles.removeAll(streamJid()); foreach(Jid serviceJid, newProfiles) { QRadioButton *button = new QRadioButton(ui.wdtProfiles); button->setAutoExclusive(true); connect(button,SIGNAL(toggled(bool)),SLOT(onProfileButtonToggled(bool))); FProfiles.insert(serviceJid,button); QLabel *label = new QLabel(ui.wdtProfiles); connect(label,SIGNAL(linkActivated(const QString &)),SLOT(onProfileLabelLinkActivated(const QString &))); FProfileLabels.insert(serviceJid,label); QHBoxLayout *layout = new QHBoxLayout(); layout->setMargin(0); layout->setSpacing(0); layout->addWidget(button); layout->addWidget(label); layout->addStretch(); qobject_cast<QVBoxLayout *>(ui.wdtProfiles->layout())->addLayout(layout); }
void QuickConnectDialog::playClicked() { QString profile = selectedProfile(); // Check if there is a loaded profile if (0) { if (QMessageBox::warning(this, tr("Load profile"), tr("The profile %1 is already loaded.\nAre you sure you want to continue?").arg("TODO"), QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; } qDebug("running with settings..."); accept(); close(); emit profileSelected(profile); }