SchedulerItemDialog::SchedulerItemDialog(const SchedulerItem &AItem, IAccountManager *AAccountManager, QWidget *AParent): QDialog(AParent), ui(new Ui::SchedulerItemDialog), FAccountManager(AAccountManager), FRosterManager(PluginHelper::pluginInstance<IRosterManager>()), FPresenceManager(PluginHelper::pluginInstance<IPresenceManager>()), FItem(AItem) { ui->setupUi(this); if (FItem.streamJid.isValid() && FItem.contactJid.isValid() && FItem.timeout && !FItem.message.isNull()) setWindowTitle(tr("Edit schedule record")); else setWindowTitle(tr("Add schedule record")); QList<IPresence*> presences = FPresenceManager->presences(); for (QList<IPresence*>::ConstIterator it=presences.constBegin(); it!=presences.constEnd(); ++it) { IAccount *account = FAccountManager->findAccountByStream((*it)->streamJid()); ui->cmbAccount->addItem(account->name(), account->accountJid().full()); } if (AItem.streamJid.isValid()) { int index = ui->cmbAccount->findData(AItem.streamJid.full()); if (index>-1) ui->cmbAccount->setCurrentIndex(index); else ui->cmbAccount->setEditText(AItem.streamJid.full()); if (AItem.contactJid.isValid()) { int index = ui->cmbContact->findData(AItem.contactJid.full()); if (index>-1) ui->cmbContact->setCurrentIndex(index); else ui->cmbContact->setEditText(AItem.contactJid.full()); } } ui->spbTimeout->setValue(AItem.timeout); ui->tedMessage->setPlainText(AItem.message); }