summaryrefslogtreecommitdiff
path: root/libopie2
authorzecke <zecke>2005-01-22 11:30:46 (UTC)
committer zecke <zecke>2005-01-22 11:30:46 (UTC)
commit8a0b6e6d1d5043466c4211b2d89da562ab9fd91c (patch) (unidiff)
tree7be6947fe33013cb35b85e4fff6e0093b3557dab /libopie2
parent55eccecc08f839878e5743d6e6be25af386b5a3f (diff)
downloadopie-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') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiesecurity/multiauthcommon.cpp19
-rw-r--r--libopie2/opiesecurity/multiauthcommon.h3
-rw-r--r--libopie2/opiesecurity/opiesecurity.pro1
3 files changed, 13 insertions, 10 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,86 +1,89 @@
1#include "multiauthplugininterface.h" 1#include "multiauthplugininterface.h"
2#include "multiauthcommon.h" 2#include "multiauthcommon.h"
3 3
4/* Opie */ 4/* Opie */
5#include <opie2/odebug.h> 5#include <opie2/odebug.h>
6#include <opie2/oapplication.h> 6#include <opie2/oapplication.h>
7#include <opie2/ocontactaccessbackend_vcard.h>
8#include <opie2/ocontactaccess.h>
7 9
8/* Qt */ 10/* Qt */
9#include <qpe/qpeapplication.h> 11#include <qpe/qpeapplication.h>
10#include <qpe/qlibrary.h> 12#include <qpe/qlibrary.h>
11#include <qpe/qcom.h> 13#include <qpe/qcom.h>
12#include <qtextview.h> 14#include <qtextview.h>
13#include <qdir.h> 15#include <qdir.h>
14 16
15/* UNIX */ 17/* UNIX */
16#include <unistd.h> 18#include <unistd.h>
17#include <qpe/config.h> 19#include <qpe/config.h>
18 20
19namespace Opie { 21namespace Opie {
20namespace Security { 22namespace Security {
21 23
22SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, Contact c, 24SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, const QString& c,
23 bool modal, bool fullscreen = FALSE ) 25 bool modal, bool fullscreen = FALSE )
24: QDialog( parent, name, modal, 26: QDialog( parent, name, modal,
25 fullscreen ? 27 fullscreen ?
26 WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 ) 28 WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 )
27{ 29{
28 if ( fullscreen ) { 30 if ( fullscreen ) {
29 QRect desk = qApp->desktop()->geometry(); 31 QRect desk = qApp->desktop()->geometry();
30 setGeometry( 0, 0, desk.width(), desk.height() ); 32 setGeometry( 0, 0, desk.width(), desk.height() );
31 } 33 }
32 // set up contents. 34 // set up contents.
33 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>"); 35 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>");
34 text += c.toRichText(); 36 text += c;
35 tv = new QTextView(this); 37 tv = new QTextView(this);
36 tv->setText(text); 38 tv->setText(text);
37 39
38 tv->viewport()->installEventFilter(this); 40 tv->viewport()->installEventFilter(this);
39} 41}
40 42
41void SecOwnerDlg::resizeEvent( QResizeEvent * ) 43void SecOwnerDlg::resizeEvent( QResizeEvent * )
42{ 44{
43 tv->resize( size() ); 45 tv->resize( size() );
44} 46}
45 47
46bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e) 48bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e)
47{ 49{
48 if (e->type() == QEvent::KeyPress || e->type() == QEvent::MouseButtonPress ) { 50 if (e->type() == QEvent::KeyPress || e->type() == QEvent::MouseButtonPress ) {
49 accept(); 51 accept();
50 return TRUE; 52 return TRUE;
51 } 53 }
52 return QWidget::eventFilter(o, e); 54 return QWidget::eventFilter(o, e);
53} 55}
54 56
55void SecOwnerDlg::mousePressEvent( QMouseEvent * ) { accept(); } 57void SecOwnerDlg::mousePressEvent( QMouseEvent * ) { accept(); }
56 58
57 59
58namespace Internal { 60namespace Internal {
59/// run plugins until we reach nbSuccessMin successes 61/// run plugins until we reach nbSuccessMin successes
60int runPlugins() { 62int runPlugins() {
61 63
62 SecOwnerDlg *oi = 0; 64 SecOwnerDlg *oi = 0;
63 // see if there is contact information. 65 // see if there is contact information.
64 QString vfilename = Global::applicationFileName("addressbook", 66 QString vfilename = Global::applicationFileName("addressbook",
65 "businesscard.vcf"); 67 "businesscard.vcf");
66 if (QFile::exists(vfilename)) { 68 Opie::OPimContactAccess acc( "multiauth", vfilename,
67 Contact c; 69 new Opie::OPimContactAccessBackend_VCard( "multiauth", vfilename ) );
68 c = Contact::readVCard( vfilename )[0]; 70 if ( acc.load() ) {
69 71 Opie::OPimContact contact = acc.allRecords()[0];
70 oi = new SecOwnerDlg(0, 0, c, TRUE, TRUE); 72 if ( !contact.isEmpty() )
73 oi = new SecOwnerDlg(0, 0, contact.toRichText(), TRUE, TRUE);
71 } 74 }
72 75
73 Config config("Security"); 76 Config config("Security");
74 config.setGroup("Plugins"); 77 config.setGroup("Plugins");
75 QStringList plugins = config.readListEntry("IncludePlugins", ','); 78 QStringList plugins = config.readListEntry("IncludePlugins", ',');
76 /* if there are no configured plugins, we simply return 0 to 79 /* if there are no configured plugins, we simply return 0 to
77 * let the user in: 80 * let the user in:
78 */ 81 */
79 if (plugins.isEmpty() == true) { 82 if (plugins.isEmpty() == true) {
80 owarn << "No authentication plugin has been configured yet!" << oendl; 83 owarn << "No authentication plugin has been configured yet!" << oendl;
81 odebug << "Letting the user in..." << oendl; 84 odebug << "Letting the user in..." << oendl;
82 if(oi) delete oi; 85 if(oi) delete oi;
83 return 0; 86 return 0;
84 } 87 }
85 config.setGroup("Misc"); 88 config.setGroup("Misc");
86 int nbSuccessMin = config.readNumEntry("nbSuccessMin", 1); 89 int nbSuccessMin = config.readNumEntry("nbSuccessMin", 1);
@@ -173,23 +176,23 @@ int runPlugins() {
173 } 176 }
174 odebug << "Plugin result: " << resultMessage << oendl; 177 odebug << "Plugin result: " << resultMessage << oendl;
175 } 178 }
176 delete lib; 179 delete lib;
177 180
178 if (resultCode == MultiauthPluginObject::Success && nbSuccess == nbSuccessMin) 181 if (resultCode == MultiauthPluginObject::Success && nbSuccess == nbSuccessMin)
179 { 182 {
180 if(oi) delete oi; 183 if(oi) delete oi;
181 // we have reached the required number of successes, we can exit the plugin loop 184 // we have reached the required number of successes, we can exit the plugin loop
182 return 0; 185 return 0;
183 } 186 }
184 } else { 187 } else {
185 owarn << "Could not recognize plugin " << QString( path + "/" + *libIt ) << oendl; 188 owarn << "Could not recognize plugin " << QString( path + "/" + *libIt ) << oendl;
186 delete lib; 189 delete lib;
187 } // end if plugin recognized 190 } // end if plugin recognized
188 } //end for 191 } //end for
189 if(oi) delete oi; 192 delete oi;
190 return 1; 193 return 1;
191} 194}
192 195
193} 196}
194} 197}
195} 198}
diff --git a/libopie2/opiesecurity/multiauthcommon.h b/libopie2/opiesecurity/multiauthcommon.h
index b728dae..42dff17 100644
--- a/libopie2/opiesecurity/multiauthcommon.h
+++ b/libopie2/opiesecurity/multiauthcommon.h
@@ -28,43 +28,42 @@
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef MULTIAUTHCOMMON_H 34#ifndef MULTIAUTHCOMMON_H
35#define MULTIAUTHCOMMON_H 35#define MULTIAUTHCOMMON_H
36 36
37 37
38/* OwnerDialog stuff */ 38/* OwnerDialog stuff */
39#include <qpe/global.h> 39#include <qpe/global.h>
40#include <qpe/contact.h> 40#include <qpe/contact.h>
41#include <qtextview.h> 41#include <qtextview.h>
42#include <qdialog.h> 42#include <qdialog.h>
43 43
44
45namespace Opie { 44namespace Opie {
46namespace Security { 45namespace Security {
47 46
48/// QDialog simply showing the owner information 47/// QDialog simply showing the owner information
49class SecOwnerDlg : public QDialog 48class SecOwnerDlg : public QDialog
50{ 49{
51 Q_OBJECT 50 Q_OBJECT
52 public: 51 public:
53 52
54 SecOwnerDlg( QWidget *parent, const char * name, Contact c, 53 SecOwnerDlg( QWidget *parent, const char * name, const QString& owner,
55 bool modal, bool fullscreen); 54 bool modal, bool fullscreen);
56 55
57 void resizeEvent( QResizeEvent * ); 56 void resizeEvent( QResizeEvent * );
58 bool eventFilter(QObject *o, QEvent *e); 57 bool eventFilter(QObject *o, QEvent *e);
59 void mousePressEvent( QMouseEvent * ); 58 void mousePressEvent( QMouseEvent * );
60 59
61 private: 60 private:
62 QTextView *tv; 61 QTextView *tv;
63 62
64 private: 63 private:
65 struct Private; 64 struct Private;
66 Private *d; 65 Private *d;
67}; 66};
68 67
69namespace Internal { 68namespace Internal {
70int runPlugins(); 69int runPlugins();
diff --git a/libopie2/opiesecurity/opiesecurity.pro b/libopie2/opiesecurity/opiesecurity.pro
index 7171e67..d4d7925 100644
--- a/libopie2/opiesecurity/opiesecurity.pro
+++ b/libopie2/opiesecurity/opiesecurity.pro
@@ -1,17 +1,18 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on 2CONFIG += qt warn_on
3DESTDIR = $(OPIEDIR)/lib 3DESTDIR = $(OPIEDIR)/lib
4HEADERS = multiauthcommon.h \ 4HEADERS = multiauthcommon.h \
5 multiauthmainwindow.h \ 5 multiauthmainwindow.h \
6 multiauthconfigwidget.h \ 6 multiauthconfigwidget.h \
7 multiauthplugininterface.h \ 7 multiauthplugininterface.h \
8 multiauthpassword.h 8 multiauthpassword.h
9SOURCES = multiauthcommon.cpp \ 9SOURCES = multiauthcommon.cpp \
10 multiauthmainwindow.cpp \ 10 multiauthmainwindow.cpp \
11 multiauthpassword.cpp 11 multiauthpassword.cpp
12TARGET = opiesecurity2 12TARGET = opiesecurity2
13VERSION = 0.0.2 13VERSION = 0.0.2
14INCLUDEPATH += $(OPIEDIR)/include 14INCLUDEPATH += $(OPIEDIR)/include
15DEPENDPATH += $(OPIEDIR)/include 15DEPENDPATH += $(OPIEDIR)/include
16LIBS += -lopiepim2
16 17
17include( $(OPIEDIR)/include.pro ) 18include( $(OPIEDIR)/include.pro )