void ProfileCreationPage::initializePage() { m_password = wizard()->property("password").toString(); m_singleProfile = wizard()->property("singleProfile").toBool(); bool first = true; if (!m_singleProfile) { registerField("crypto", ui->cryptoBox, "currentText"); } else { ui->label_6->hide(); ui->cryptoBox->hide(); ui->cryptoDescription->hide(); } foreach (const ObjectGenerator *gen, ObjectGenerator::module<CryptoService>()) { const ExtensionInfo info = gen->info(); if (!m_singleProfile || info.generator()->metaObject()->className() == QLatin1String("Core::NoCryptoService")) { ui->cryptoBox->addItem(info.icon(), info.name(), qVariantFromValue(info)); if (first) { ui->cryptoBox->setCurrentIndex(0); ui->cryptoDescription->setText(info.description()); first = false; } } } Q_ASSERT_X(ui->cryptoBox->count() > 0, "ProfileCreationPage::initializePage", "Have not been found any crypto plugin"); first = true; foreach (const ObjectGenerator *gen, ObjectGenerator::module<ConfigBackend>()) { const ExtensionInfo info = gen->info(); ui->configBox->addItem(info.icon(), info.name(), qVariantFromValue(info)); if (first) { ui->configBox->setCurrentIndex(0); ui->configDescription->setText(info.description()); first = false; } } Q_ASSERT_X(ui->cryptoBox->count() > 0, "ProfileCreationPage::initializePage", "Have not been found any config plugin"); rebaseDirs(); }
foreach (AccountCreationWizard *wizard, m_wizards) { ExtensionInfo info = wizard->info(); QIcon icon = info.icon(); if (icon.isNull()) icon = Icon(QLatin1String("im-") + info.name()); if (!icon.actualSize(QSize(1,1)).isValid()) icon = Icon("applications-internet"); QListWidgetItem *item = new QListWidgetItem(ui->protocolList); item->setData(Qt::UserRole + 1, reinterpret_cast<qptrdiff>(wizard)); item->setData(Qt::UserRole + 2, qVariantFromValue(info)); item->setIcon(icon); item->setText(info.name()); item->setData(DescriptionRole,info.description().toString()); }
QVariant AddAccountDialogWrapper::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() > m_wizards->size()) return QVariant(); AccountCreationWizard *wizard = m_wizards->at(index.row()); ExtensionInfo info = wizard->info(); QIcon icon = info.icon(); if (!icon.actualSize(QSize(1,1)).isValid()) icon = Icon("applications-internet"); switch (role) { case Qt::DisplayRole: return info.name().toString(); case Qt::DecorationRole: return QString(); case WizardRole: return m_wizards->indexOf(wizard); case InfoRole:{ return info.description().toString();} default: return QVariant(); } }
void ProfileCreationPage::on_configBox_currentIndexChanged(int index) { ExtensionInfo info = ui->configBox->itemData(index).value<ExtensionInfo>(); ui->configDescription->setText(info.description()); }