summaryrefslogtreecommitdiff
path: root/library
authorsandman <sandman>2002-10-17 00:39:31 (UTC)
committer sandman <sandman>2002-10-17 00:39:31 (UTC)
commit259d10f40405fd77ba0a8947782f716be94da3a5 (patch) (unidiff)
tree636cb3a899d27a8fe41f377fabc5bd170a74c6dc /library
parent5d28c61d84da1814d356540b557bbfe026da98aa (diff)
downloadopie-259d10f40405fd77ba0a8947782f716be94da3a5.zip
opie-259d10f40405fd77ba0a8947782f716be94da3a5.tar.gz
opie-259d10f40405fd77ba0a8947782f716be94da3a5.tar.bz2
- fix for bug #292 (Improper behaviour of frontlight disabling)
- fix for bug #199 (Desktop visible on resume before password dialog appears)
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/password.cpp24
-rw-r--r--library/password.h1
2 files changed, 23 insertions, 2 deletions
diff --git a/library/password.cpp b/library/password.cpp
index 4b22b65..6d126c4 100644
--- a/library/password.cpp
+++ b/library/password.cpp
@@ -22,17 +22,17 @@
22#include "global.h" 22#include "global.h"
23#include "backend/contact.h" 23#include "backend/contact.h"
24#include <qlabel.h> 24#include <qlabel.h>
25#include <qlineedit.h> 25#include <qlineedit.h>
26#include <qtextview.h> 26#include <qtextview.h>
27#include <qstring.h> 27#include <qstring.h>
28#include <qapplication.h> 28#include <qapplication.h>
29#include <qfile.h> 29#include <qfile.h>
30#include <qwindowsystem_qws.h> 30//#include <qwindowsystem_qws.h>
31 31
32#include <qdialog.h> 32#include <qdialog.h>
33 33
34#include <unistd.h> //for sleep 34#include <unistd.h> //for sleep
35#include "passwordbase_p.h" 35#include "passwordbase_p.h"
36 36
37class PasswordDialog : public PasswordBase 37class PasswordDialog : public PasswordBase
38{ 38{
@@ -280,16 +280,35 @@ QString Password::getPassword( const QString& prompt )
280 return qcrypt(pd.passw->text,"a0"); 280 return qcrypt(pd.passw->text,"a0");
281 } else { 281 } else {
282 return QString::null; 282 return QString::null;
283 } 283 }
284} 284}
285 285
286 286
287/*! 287/*!
288 Return if a prompt for the user's passcode is needed.
289
290 If \a at_poweron is TRUE, the dialog is only used if the user's
291 preference request it at poweron
292
293 Opie extension to speed up suspend/resume.
294*/
295
296bool Password::needToAuthenticate(bool at_poweron)
297{
298 Config cfg("Security");
299 cfg.setGroup("Passcode");
300 QString passcode = cfg.readEntry("passcode");
301
302 return ( !passcode.isEmpty()
303 && (!at_poweron || cfg.readNumEntry("passcode_poweron",0)) );
304}
305
306/*!
288 Prompt, fullscreen, for the user's passcode until they get it right. 307 Prompt, fullscreen, for the user's passcode until they get it right.
289 308
290 If \a at_poweron is TRUE, the dialog is only used if the user's 309 If \a at_poweron is TRUE, the dialog is only used if the user's
291 preference request it at poweron; either way, the screen is always repainted 310 preference request it at poweron; either way, the screen is always repainted
292 by this function. (this functionality may move to the caller of this function). 311 by this function. (this functionality may move to the caller of this function).
293*/ 312*/
294 313
295void Password::authenticate(bool at_poweron) 314void Password::authenticate(bool at_poweron)
@@ -319,15 +338,16 @@ void Password::authenticate(bool at_poweron)
319 while (qcrypt(pd.passw->text, "a0") != passcode) { 338 while (qcrypt(pd.passw->text, "a0") != passcode) {
320 if (oi) 339 if (oi)
321 oi->exec(); 340 oi->exec();
322 pd.reset(); 341 pd.reset();
323 pd.exec(); 342 pd.exec();
324 } 343 }
325 } else if ( at_poweron ) { 344 } else if ( at_poweron ) {
326 // refresh screen #### should probably be in caller 345 // refresh screen #### should probably be in caller
327 // Not needed (we took away the screen blacking) 346 // Not needed (we took away the screen blacking) TT
347 // Not needed (we have intelligent screen blacking) sandman
328 //if ( qwsServer ) 348 //if ( qwsServer )
329 //qwsServer->refresh(); 349 //qwsServer->refresh();
330 } 350 }
331} 351}
332 352
333#include "password.moc" 353#include "password.moc"
diff --git a/library/password.h b/library/password.h
index a3a3e45..a2f2c3c 100644
--- a/library/password.h
+++ b/library/password.h
@@ -20,13 +20,14 @@
20#ifndef PASSWORD_H 20#ifndef PASSWORD_H
21#define PASSWORD_H 21#define PASSWORD_H
22 22
23#include <qstring.h> 23#include <qstring.h>
24 24
25class Password 25class Password
26{ 26{
27public: 27public:
28 static bool needToAuthenticate(bool atpoweron=FALSE); // Opie extension to speed up suspend/resume (sandman)
28 static void authenticate(bool atpoweron=FALSE); 29 static void authenticate(bool atpoweron=FALSE);
29 static QString getPassword( const QString& prompt ); 30 static QString getPassword( const QString& prompt );
30}; 31};
31 32
32#endif // PASSWORD_H 33#endif // PASSWORD_H