summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiesecurity/multiauthpassword.cpp4
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
51namespace Opie { 51namespace Opie {
52namespace Security { 52namespace 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 */
62bool MultiauthPassword::needToAuthenticate(bool at_poweron) 62bool 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 */
86void MultiauthPassword::authenticate(int lockMode) 86void 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}