author | zecke <zecke> | 2005-01-22 11:30:46 (UTC) |
---|---|---|
committer | zecke <zecke> | 2005-01-22 11:30:46 (UTC) |
commit | 8a0b6e6d1d5043466c4211b2d89da562ab9fd91c (patch) (side-by-side diff) | |
tree | 7be6947fe33013cb35b85e4fff6e0093b3557dab /libopie2/opiesecurity/multiauthcommon.cpp | |
parent | 55eccecc08f839878e5743d6e6be25af386b5a3f (diff) | |
download | opie-8a0b6e6d1d5043466c4211b2d89da562ab9fd91c.zip opie-8a0b6e6d1d5043466c4211b2d89da562ab9fd91c.tar.gz opie-8a0b6e6d1d5043466c4211b2d89da562ab9fd91c.tar.bz2 |
-Fix for #1533
Use OPimContactAccess to load the Owner Information. This should
fix the displaying of the contact for non latin1 encoded users.
To use OPimContactAccess OpieSecurity now depends on opiepim2
Diffstat (limited to 'libopie2/opiesecurity/multiauthcommon.cpp') (more/less context) (show 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; } } } } |