Diffstat (limited to 'libopie2/opiesecurity/multiauthcommon.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiesecurity/multiauthcommon.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/libopie2/opiesecurity/multiauthcommon.cpp b/libopie2/opiesecurity/multiauthcommon.cpp index e563193..2760760 100644 --- a/libopie2/opiesecurity/multiauthcommon.cpp +++ b/libopie2/opiesecurity/multiauthcommon.cpp @@ -1,46 +1,48 @@ #include "multiauthplugininterface.h" #include "multiauthcommon.h" /* Opie */ #include <opie2/odebug.h> #include <opie2/oapplication.h> +#include <opie2/ocontactaccessbackend_vcard.h> +#include <opie2/ocontactaccess.h> /* Qt */ #include <qpe/qpeapplication.h> #include <qpe/qlibrary.h> #include <qpe/qcom.h> #include <qtextview.h> #include <qdir.h> /* UNIX */ #include <unistd.h> #include <qpe/config.h> namespace Opie { namespace Security { -SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, Contact c, +SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, const QString& c, bool modal, bool fullscreen = FALSE ) : QDialog( parent, name, modal, fullscreen ? WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 ) { if ( fullscreen ) { QRect desk = qApp->desktop()->geometry(); setGeometry( 0, 0, desk.width(), desk.height() ); } // set up contents. QString text("<H3>" + tr("Please contact the owner (directions follow), or try again clicking of this screen (and waiting for the penalty time) if you are the legitimate owner") + "</H3>"); - text += c.toRichText(); + text += c; tv = new QTextView(this); tv->setText(text); tv->viewport()->installEventFilter(this); } void SecOwnerDlg::resizeEvent( QResizeEvent * ) { tv->resize( size() ); } bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e) @@ -54,29 +56,30 @@ bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e) void SecOwnerDlg::mousePressEvent( QMouseEvent * ) { accept(); } namespace Internal { /// run plugins until we reach nbSuccessMin successes int runPlugins() { SecOwnerDlg *oi = 0; // see if there is contact information. QString vfilename = Global::applicationFileName("addressbook", "businesscard.vcf"); - if (QFile::exists(vfilename)) { - Contact c; - c = Contact::readVCard( vfilename )[0]; - - oi = new SecOwnerDlg(0, 0, c, TRUE, TRUE); + Opie::OPimContactAccess acc( "multiauth", vfilename, + new Opie::OPimContactAccessBackend_VCard( "multiauth", vfilename ) ); + if ( acc.load() ) { + Opie::OPimContact contact = acc.allRecords()[0]; + if ( !contact.isEmpty() ) + oi = new SecOwnerDlg(0, 0, contact.toRichText(), TRUE, TRUE); } Config config("Security"); config.setGroup("Plugins"); QStringList plugins = config.readListEntry("IncludePlugins", ','); /* if there are no configured plugins, we simply return 0 to * let the user in: */ if (plugins.isEmpty() == true) { owarn << "No authentication plugin has been configured yet!" << oendl; odebug << "Letting the user in..." << oendl; if(oi) delete oi; @@ -177,19 +180,19 @@ int runPlugins() { if (resultCode == MultiauthPluginObject::Success && nbSuccess == nbSuccessMin) { if(oi) delete oi; // we have reached the required number of successes, we can exit the plugin loop return 0; } } else { owarn << "Could not recognize plugin " << QString( path + "/" + *libIt ) << oendl; delete lib; } // end if plugin recognized } //end for - if(oi) delete oi; + delete oi; return 1; } } } } |