int PasswordDialog::getNameAndPassword( QString& user, QString& pass, bool* keep, const QString& prompt, bool readOnly, const QString& caption, const QString& comment, const QString& label ) { PasswordDialog* dlg; if( keep ) dlg = new PasswordDialog( prompt, user, (*keep) ); else dlg = new PasswordDialog( prompt, user ); if ( !caption.isEmpty() ) dlg->setPlainCaption( caption ); else dlg->setPlainCaption( i18n("Authorization Dialog") ); if ( !comment.isEmpty() ) dlg->addCommentLine( label, comment ); if ( readOnly ) dlg->setUserReadOnly( readOnly ); int ret = dlg->exec(); if ( ret == Accepted ) { user = dlg->username(); pass = dlg->password(); if ( keep ) { (*keep) = dlg->keepPassword(); } } delete dlg; return ret; }
void YandexNarodAuthorizator::onDialogFinished(int dialogResult) { PasswordDialog *dialog = qobject_cast<PasswordDialog*>(sender()); Q_ASSERT(dialog); dialog->deleteLater(); if (dialogResult == PasswordDialog::Accepted) requestAuthorization(dialog->login(), dialog->password()); else emit result(Failure, tr("Has no login or password")); }