AcceptRIEXDialog::AcceptRIEXDialog (const QList<RIEXItem>& items, QObject *entryObj, QString message, QWidget *parent) : QDialog (parent) , Model_ (new QStandardItemModel (this)) { Ui_.setupUi (this); Model_->setHorizontalHeaderLabels ({ tr ("Action"), tr ("ID"), tr ("Name"), tr ("Groups") }); for (const RIEXItem& item : items) { QList<QStandardItem*> row; QStandardItem *action = new QStandardItem; action->setCheckState (Qt::Checked); action->setCheckable (true); switch (item.Action_) { case RIEXItem::AAdd: action->setText (tr ("add")); break; case RIEXItem::ADelete: action->setText (tr ("delete")); break; case RIEXItem::AModify: action->setText (tr ("modify")); break; default: action->setText (tr ("(unknown)")); break; } action->setData (QVariant::fromValue<RIEXItem> (item)); row << action; row << new QStandardItem (item.ID_); row << new QStandardItem (item.Nick_); row << new QStandardItem (item.Groups_.join ("; ")); Model_->appendRow (row); } Ui_.ItemsTree_->setModel (Model_); ICLEntry *entry = qobject_cast<ICLEntry*> (entryObj); const QString& id = entry->GetEntryName ().isEmpty () ? entry->GetHumanReadableID () : entry->GetEntryName () + " (" + entry->GetHumanReadableID () + ")"; const QString& text = message.isEmpty () ? tr ("%1 has suggested to modify your contact list:") .arg (id) : tr ("%1 has suggested to modify your contact list:\n%2") .arg (id) .arg (message); Ui_.MessageLabel_->setText (text); }
QCA::PGPKey GlooxAccount::GetEntryKey (QObject *entryObj) const { ICLEntry *entry = qobject_cast<ICLEntry*> (entryObj); if (!entry) { qWarning () << Q_FUNC_INFO << entryObj << "doesn't implement ICLEntry"; return QCA::PGPKey (); } auto mgr = ClientConnection_->GetCryptHandler ()->GetPGPManager (); return mgr->PublicKey (entry->GetHumanReadableID ()); }