QList<ConfigWidget> qipinfium::config() { return m_config_list = QList<ConfigWidget>() << createAccountWidget("ICQ") << createAccountWidget("Jabber") << createAccountWidget("MRIM"); }
void YourAccounts::createGui() { QVBoxLayout *mainLayout = new QVBoxLayout(this); QHBoxLayout *contentLayout = new QHBoxLayout(); mainLayout->addItem(contentLayout); AccountsView = new QListView(this); AccountsView->setMinimumWidth(150); contentLayout->addWidget(AccountsView); MyAccountsModel = m_injectedFactory->makeInjected<AccountsModel>(m_accountManager, AccountsView); auto *chain = new ModelChain{this}; auto accountProxyModel = new AccountsProxyModel(chain); chain->setBaseModel(MyAccountsModel); accountProxyModel->addFilter(new HaveProtocolFilter(accountProxyModel)); chain->addProxyModel(accountProxyModel); QAction *separator = new QAction(this); separator->setSeparator(true); AddExistingAccountAction = new QAction(m_iconsManager->iconByPath(KaduIcon("contact-new")), tr("Add existing account"), this); CreateNewAccountAction = new QAction(m_iconsManager->iconByPath(KaduIcon("system-users")), tr("Create new account"), this); ActionListModel *actionsModel = new ActionListModel(this); actionsModel->appendAction(separator); actionsModel->appendAction(AddExistingAccountAction); actionsModel->appendAction(CreateNewAccountAction); QList<QAbstractItemModel *> models; models.append(chain->lastModel()); models.append(actionsModel); ActionFilterProxyModel *proxyModel = new ActionFilterProxyModel(this); proxyModel->setSourceModel(MergedProxyModelFactory::createInstance(models, this)); proxyModel->setModel(chain->lastModel()); proxyModel->addHideWhenModelEmpty(separator); AccountsView->setModel(proxyModel); AccountsView->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); AccountsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); AccountsView->setIconSize(QSize(32, 32)); connect(AccountsView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(accountSelectionChanged(const QItemSelection &, const QItemSelection &))); QDialogButtonBox *buttons = new QDialogButtonBox(Qt::Horizontal, this); mainLayout->addWidget(buttons); QPushButton *cancelButton = new QPushButton(qApp->style()->standardIcon(QStyle::SP_DialogCloseButton), tr("Close"), this); connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(close())); buttons->addButton(cancelButton, QDialogButtonBox::RejectRole); MainStack = new QStackedWidget(this); contentLayout->addWidget(MainStack, 100); createAccountWidget(); createEditAccountWidget(); }
QList<ConfigWidget> psi::config() { return QList<ConfigWidget>() << (m_config = createAccountWidget("Jabber")); }