00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <opie2/multiauthcommon.h>
00037 #include <opie2/multiauthmainwindow.h>
00038 #include <qpe/config.h>
00039 #include <qpe/qlibrary.h>
00040 #include <qpe/qcom.h>
00041
00042
00043 #include <qapplication.h>
00044 #include <qvbox.h>
00045 #include <qpushbutton.h>
00046 #include <qlabel.h>
00047 #include <qdir.h>
00048
00049 #include "multiauthpassword.h"
00050
00051 namespace Opie {
00052 namespace Security {
00053
00054
00062 bool MultiauthPassword::needToAuthenticate(bool at_poweron)
00063 {
00064 Config cfg("Security");
00065 cfg.setGroup("Misc");
00066 if ( !at_poweron && cfg.readBoolEntry("onStart", false) )
00067 return true;
00068 else if ( at_poweron && cfg.readBoolEntry("onResume", false) )
00069 return true;
00070 else
00071 return false;
00072 }
00073
00074
00075
00086 void MultiauthPassword::authenticate(int lockMode)
00087 {
00097 if ( (lockMode == IfPowerOn) || (lockMode == IfResume) )
00098 {
00099 Config cfg("Security");
00100 cfg.setGroup("Misc");
00101 if ( (
00102 (lockMode == IfPowerOn) && !cfg.readBoolEntry("onStart", false)
00103 ) || (
00104 (lockMode == IfResume) && !cfg.readBoolEntry("onResume", false)
00105 ) )
00106 return;
00107 }
00108
00116 bool allowByPass = false;
00117
00118 if (lockMode == TestNow)
00119 allowByPass = true;
00120
00121
00122
00123
00124 MultiauthMainWindow win(allowByPass);
00125
00126
00127 QRect desk = qApp->desktop()->geometry();
00128 win.setGeometry( 0, 0, desk.width(), desk.height() );
00129
00130
00131 if ( win.isAlreadyDone() )
00132 return;
00133
00134 win.exec();
00135 }
00136
00137 }
00138 }