-rw-r--r-- | libopie2/opiesecurity/multiauthpassword.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libopie2/opiesecurity/multiauthpassword.cpp b/libopie2/opiesecurity/multiauthpassword.cpp index 6c8944e..fb468d1 100644 --- a/libopie2/opiesecurity/multiauthpassword.cpp +++ b/libopie2/opiesecurity/multiauthpassword.cpp | |||
@@ -1,138 +1,138 @@ | |||
1 | /** | 1 | /** |
2 | * \file multiauthpassword.cpp | 2 | * \file multiauthpassword.cpp |
3 | * \brief Password Dialog dropin. | 3 | * \brief Password Dialog dropin. |
4 | * \author Clément Séveillac (clement . seveillac (at) via . ecp . fr) | 4 | * \author Clément Séveillac (clement . seveillac (at) via . ecp . fr) |
5 | */ | 5 | */ |
6 | /* | 6 | /* |
7 | =. This file is part of the Opie Project | 7 | =. This file is part of the Opie Project |
8 | .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org> | 8 | .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org> |
9 | .>+-= | 9 | .>+-= |
10 | _;:, .> :=|. This library is free software; you can | 10 | _;:, .> :=|. This library is free software; you can |
11 | .> <`_, > . <= redistribute it and/or modify it under | 11 | .> <`_, > . <= redistribute it and/or modify it under |
12 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 12 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
13 | .="- .-=="i, .._ License as published by the Free Software | 13 | .="- .-=="i, .._ License as published by the Free Software |
14 | - . .-<_> .<> Foundation; either version 2 of the License, | 14 | - . .-<_> .<> Foundation; either version 2 of the License, |
15 | ._= =} : or (at your option) any later version. | 15 | ._= =} : or (at your option) any later version. |
16 | .%`+i> _;_. | 16 | .%`+i> _;_. |
17 | .i_,=:_. -<s. This library is distributed in the hope that | 17 | .i_,=:_. -<s. This library is distributed in the hope that |
18 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 18 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
19 | : .. .:, . . . without even the implied warranty of | 19 | : .. .:, . . . without even the implied warranty of |
20 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 20 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
21 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 21 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
22 | ..}^=.= = ; Library General Public License for more | 22 | ..}^=.= = ; Library General Public License for more |
23 | ++= -. .` .: details. | 23 | ++= -. .` .: details. |
24 | : = ...= . :.=- | 24 | : = ...= . :.=- |
25 | -. .:....=;==+<; You should have received a copy of the GNU | 25 | -. .:....=;==+<; You should have received a copy of the GNU |
26 | -_. . . )=. = Library General Public License along with | 26 | -_. . . )=. = Library General Public License along with |
27 | -- :-=` this library; see the file COPYING.LIB. | 27 | -- :-=` this library; see the file COPYING.LIB. |
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 | 34 | ||
35 | /* OPIE */ | 35 | /* OPIE */ |
36 | #include <opie2/multiauthcommon.h> | 36 | #include <opie2/multiauthcommon.h> |
37 | #include <opie2/multiauthmainwindow.h> | 37 | #include <opie2/multiauthmainwindow.h> |
38 | #include <qpe/config.h> | 38 | #include <qpe/config.h> |
39 | #include <qpe/qlibrary.h> | 39 | #include <qpe/qlibrary.h> |
40 | #include <qpe/qcom.h> | 40 | #include <qpe/qcom.h> |
41 | 41 | ||
42 | /* QT */ | 42 | /* QT */ |
43 | #include <qapplication.h> | 43 | #include <qapplication.h> |
44 | #include <qvbox.h> | 44 | #include <qvbox.h> |
45 | #include <qpushbutton.h> | 45 | #include <qpushbutton.h> |
46 | #include <qlabel.h> | 46 | #include <qlabel.h> |
47 | #include <qdir.h> | 47 | #include <qdir.h> |
48 | 48 | ||
49 | #include "multiauthpassword.h" | 49 | #include "multiauthpassword.h" |
50 | 50 | ||
51 | namespace Opie { | 51 | namespace Opie { |
52 | namespace Security { | 52 | namespace Security { |
53 | 53 | ||
54 | 54 | ||
55 | /** | 55 | /** |
56 | * Tells if the users requires authentication (used internally to | 56 | * Tells if the users requires authentication (used internally to |
57 | * know whether to repaint the screen on resume) | 57 | * know whether to repaint the screen on resume) |
58 | * | 58 | * |
59 | * \param at_poweron true if we are booting Opie, false if we are resuming it | 59 | * \param at_poweron true if we are booting Opie, false if we are resuming it |
60 | * \return true if authenticate() launched right now would trigger an authentication | 60 | * \return true if authenticate() launched right now would trigger an authentication |
61 | */ | 61 | */ |
62 | bool MultiauthPassword::needToAuthenticate(bool at_poweron) | 62 | bool MultiauthPassword::needToAuthenticate(bool at_poweron) |
63 | { | 63 | { |
64 | Config cfg("Security"); | 64 | Config cfg("Security"); |
65 | cfg.setGroup("Misc"); | 65 | cfg.setGroup("Misc"); |
66 | if ( !at_poweron && cfg.readBoolEntry("onStart", false) ) | 66 | if ( at_poweron && cfg.readBoolEntry("onStart", false) ) |
67 | return true; | 67 | return true; |
68 | else if ( at_poweron && cfg.readBoolEntry("onResume", false) ) | 68 | else if ( !at_poweron && cfg.readBoolEntry("onResume", false) ) |
69 | return true; | 69 | return true; |
70 | else | 70 | else |
71 | return false; | 71 | return false; |
72 | } | 72 | } |
73 | 73 | ||
74 | 74 | ||
75 | 75 | ||
76 | /** | 76 | /** |
77 | * \brief Require (if configured so) user authentication to unlock and continue | 77 | * \brief Require (if configured so) user authentication to unlock and continue |
78 | * | 78 | * |
79 | * This method will check if you require authentication | 79 | * This method will check if you require authentication |
80 | * and then will lock the screen and ask for a successful | 80 | * and then will lock the screen and ask for a successful |
81 | * authentication (explaining what it does or not, depending | 81 | * authentication (explaining what it does or not, depending |
82 | * on your local configuration). | 82 | * on your local configuration). |
83 | * It may go into an event loop, but anyhow it will only end | 83 | * It may go into an event loop, but anyhow it will only end |
84 | * when the user has successfully authenticated to the system. | 84 | * when the user has successfully authenticated to the system. |
85 | */ | 85 | */ |
86 | void MultiauthPassword::authenticate(int lockMode) | 86 | void MultiauthPassword::authenticate(int lockMode) |
87 | { | 87 | { |
88 | /** | 88 | /** |
89 | * \par Conditions | 89 | * \par Conditions |
90 | * | 90 | * |
91 | * If lockMode is an If, it's conditional: | 91 | * If lockMode is an If, it's conditional: |
92 | * \li IfPowerOn will not trigger an authentication if | 92 | * \li IfPowerOn will not trigger an authentication if |
93 | * onStart is set to false in Security.conf, | 93 | * onStart is set to false in Security.conf, |
94 | * \li IfResume will not trigger an authentication if | 94 | * \li IfResume will not trigger an authentication if |
95 | * onResume is set to false in Security.conf. | 95 | * onResume is set to false in Security.conf. |
96 | */ | 96 | */ |
97 | if ( (lockMode == IfPowerOn) || (lockMode == IfResume) ) | 97 | if ( (lockMode == IfPowerOn) || (lockMode == IfResume) ) |
98 | { | 98 | { |
99 | Config cfg("Security"); | 99 | Config cfg("Security"); |
100 | cfg.setGroup("Misc"); | 100 | cfg.setGroup("Misc"); |
101 | if ( ( | 101 | if ( ( |
102 | (lockMode == IfPowerOn) && !cfg.readBoolEntry("onStart", false) | 102 | (lockMode == IfPowerOn) && !cfg.readBoolEntry("onStart", false) |
103 | ) || ( | 103 | ) || ( |
104 | (lockMode == IfResume) && !cfg.readBoolEntry("onResume", false) | 104 | (lockMode == IfResume) && !cfg.readBoolEntry("onResume", false) |
105 | ) ) | 105 | ) ) |
106 | return; | 106 | return; |
107 | } | 107 | } |
108 | 108 | ||
109 | /** | 109 | /** |
110 | * \li TestNow will ensure that the authentication window will let | 110 | * \li TestNow will ensure that the authentication window will let |
111 | * people escape through the last screen (which they can reach skipping | 111 | * people escape through the last screen (which they can reach skipping |
112 | * all the authentication steps) | 112 | * all the authentication steps) |
113 | * \li LockNow will always go on with the authentication, and won't let | 113 | * \li LockNow will always go on with the authentication, and won't let |
114 | * people escape. | 114 | * people escape. |
115 | */ | 115 | */ |
116 | bool allowByPass = false; | 116 | bool allowByPass = false; |
117 | 117 | ||
118 | if (lockMode == TestNow) | 118 | if (lockMode == TestNow) |
119 | allowByPass = true; | 119 | allowByPass = true; |
120 | 120 | ||
121 | /* Constructs the main window, which displays messages and blocks | 121 | /* Constructs the main window, which displays messages and blocks |
122 | * access to the desktop | 122 | * access to the desktop |
123 | */ | 123 | */ |
124 | MultiauthMainWindow win(allowByPass); | 124 | MultiauthMainWindow win(allowByPass); |
125 | 125 | ||
126 | // resize the QDialog object so it fills all the screen | 126 | // resize the QDialog object so it fills all the screen |
127 | QRect desk = qApp->desktop()->geometry(); | 127 | QRect desk = qApp->desktop()->geometry(); |
128 | win.setGeometry( 0, 0, desk.width(), desk.height() ); | 128 | win.setGeometry( 0, 0, desk.width(), desk.height() ); |
129 | 129 | ||
130 | // the authentication has already succeeded (without win interactions) | 130 | // the authentication has already succeeded (without win interactions) |
131 | if ( win.isAlreadyDone() ) | 131 | if ( win.isAlreadyDone() ) |
132 | return; | 132 | return; |
133 | 133 | ||
134 | win.exec(); | 134 | win.exec(); |
135 | } | 135 | } |
136 | 136 | ||
137 | } | 137 | } |
138 | } | 138 | } |