author | clem <clem> | 2004-10-08 22:50:28 (UTC) |
---|---|---|
committer | clem <clem> | 2004-10-08 22:50:28 (UTC) |
commit | 2f29d0ec4bb2355f193d744c890add203bd6f2b2 (patch) (unidiff) | |
tree | a703b00b673b9be036415393b53d9c95a5bb87cd /core/settings | |
parent | dec031cc21181d70e0c806bcf6c228044f7df90b (diff) | |
download | opie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.zip opie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.tar.gz opie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.tar.bz2 |
Big commit thanks to a little feature request :-) We now have an O-menu applet
to lock the PDA immediately, and the internal way to ask for an authentication
(on resume, on start up, on demand or for a simple test) is much cleaner:
it's through MultiauthPassword(int lockMode) (instead of the old bool at_poweron)
-rw-r--r-- | core/settings/security/demo/main.cpp | 2 | ||||
-rw-r--r-- | core/settings/security/multiauthconfig.cpp | 20 |
2 files changed, 4 insertions, 18 deletions
diff --git a/core/settings/security/demo/main.cpp b/core/settings/security/demo/main.cpp index 1c49f57..82f940d 100644 --- a/core/settings/security/demo/main.cpp +++ b/core/settings/security/demo/main.cpp | |||
@@ -1,12 +1,12 @@ | |||
1 | #include <opie2/multiauthpassword.h> | 1 | #include <opie2/multiauthpassword.h> |
2 | 2 | ||
3 | #include <opie2/oapplication.h> | 3 | #include <opie2/oapplication.h> |
4 | 4 | ||
5 | /// Run an authentication sequence using the global opie-security settings | 5 | /// Run an authentication sequence using the global opie-security settings |
6 | int main( int argc, char ** argv ) | 6 | int main( int argc, char ** argv ) |
7 | { | 7 | { |
8 | Opie::Core::OApplication app(argc, argv, "Multi-authentication demo"); | 8 | Opie::Core::OApplication app(argc, argv, "Multi-authentication demo"); |
9 | 9 | ||
10 | // Run the authentication process until it succeeds | 10 | // Run the authentication process until it succeeds |
11 | Opie::Security::MultiauthPassword::authenticate(); | 11 | Opie::Security::MultiauthPassword::authenticate(Opie::Security::LockNow); |
12 | } | 12 | } |
diff --git a/core/settings/security/multiauthconfig.cpp b/core/settings/security/multiauthconfig.cpp index 192b8ca..9d5c032 100644 --- a/core/settings/security/multiauthconfig.cpp +++ b/core/settings/security/multiauthconfig.cpp | |||
@@ -1,26 +1,26 @@ | |||
1 | #include <opie2/odebug.h> | 1 | #include <opie2/odebug.h> |
2 | #include <opie2/multiauthmainwindow.h> | 2 | #include <opie2/multiauthpassword.h> |
3 | 3 | ||
4 | #include <qgroupbox.h> | 4 | #include <qgroupbox.h> |
5 | #include <qvgroupbox.h> | 5 | #include <qvgroupbox.h> |
6 | #include <qpe/resource.h> | 6 | #include <qpe/resource.h> |
7 | #include <qlayout.h> | 7 | #include <qlayout.h> |
8 | #include <qlabel.h> | 8 | #include <qlabel.h> |
9 | #include <qhbox.h> | 9 | #include <qhbox.h> |
10 | #include <qheader.h> | 10 | #include <qheader.h> |
11 | #include <qvbox.h> | 11 | #include <qvbox.h> |
12 | #include <qwhatsthis.h> | 12 | #include <qwhatsthis.h> |
13 | #include <qtoolbutton.h> | 13 | #include <qtoolbutton.h> |
14 | #include <qstringlist.h> | 14 | #include <qstringlist.h> |
15 | #include <qdir.h> | 15 | #include <qdir.h> |
16 | #include <qpe/qlibrary.h> | 16 | #include <qpe/qlibrary.h> |
17 | #include <qpe/qpeapplication.h> | 17 | #include <qpe/qpeapplication.h> |
18 | 18 | ||
19 | #include "multiauthconfig.h" | 19 | #include "multiauthconfig.h" |
20 | 20 | ||
21 | 21 | ||
22 | using Opie::Security::MultiauthPluginInterface; | 22 | using Opie::Security::MultiauthPluginInterface; |
23 | using Opie::Security::MultiauthPluginObject; | 23 | using Opie::Security::MultiauthPluginObject; |
24 | using Opie::Security::MultiauthConfigWidget; | 24 | using Opie::Security::MultiauthConfigWidget; |
25 | /// keeps information about MultiauthPluginObject plugins | 25 | /// keeps information about MultiauthPluginObject plugins |
26 | struct MultiauthPlugin { | 26 | struct MultiauthPlugin { |
@@ -100,64 +100,50 @@ class ToolButton : public QToolButton { | |||
100 | } | 100 | } |
101 | 101 | ||
102 | /// nothing to do | 102 | /// nothing to do |
103 | MultiauthGeneralConfig::~MultiauthGeneralConfig() | 103 | MultiauthGeneralConfig::~MultiauthGeneralConfig() |
104 | {} | 104 | {} |
105 | 105 | ||
106 | /// launches the authentication process, as configured, with the option to bypass it | 106 | /// launches the authentication process, as configured, with the option to bypass it |
107 | void MultiauthGeneralConfig::tryAuth() | 107 | void MultiauthGeneralConfig::tryAuth() |
108 | { | 108 | { |
109 | QMessageBox confirmSave( | 109 | QMessageBox confirmSave( |
110 | tr("Attention"), | 110 | tr("Attention"), |
111 | "<p>" + tr("You must save your current settings before trying to authenticate. Press OK to accept and launch a simulated authentication process.") + "</p><p><em>" + | 111 | "<p>" + tr("You must save your current settings before trying to authenticate. Press OK to accept and launch a simulated authentication process.") + "</p><p><em>" + |
112 | tr("If you don't like the result of this test, don't forget to change your settings before you exit the configuration application!") + "</em></p>", | 112 | tr("If you don't like the result of this test, don't forget to change your settings before you exit the configuration application!") + "</em></p>", |
113 | QMessageBox::Warning, | 113 | QMessageBox::Warning, |
114 | QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton, | 114 | QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::NoButton, |
115 | 0, QString::null, TRUE, WStyle_StaysOnTop); | 115 | 0, QString::null, TRUE, WStyle_StaysOnTop); |
116 | confirmSave.setButtonText(QMessageBox::Cancel, tr("Cancel")); | 116 | confirmSave.setButtonText(QMessageBox::Cancel, tr("Cancel")); |
117 | confirmSave.setButtonText(QMessageBox::Yes, tr("OK")); | 117 | confirmSave.setButtonText(QMessageBox::Yes, tr("OK")); |
118 | 118 | ||
119 | if ( confirmSave.exec() == QMessageBox::Yes) | 119 | if ( confirmSave.exec() == QMessageBox::Yes) |
120 | { | 120 | { |
121 | owarn << "writing config as user accepted" << oendl; | 121 | owarn << "writing config as user accepted" << oendl; |
122 | m_parentConfig->writeConfigs(); | 122 | m_parentConfig->writeConfigs(); |
123 | owarn << "testing authentication" << oendl; | 123 | owarn << "testing authentication" << oendl; |
124 | 124 | // launch the authentication in testing mode | |
125 | /* launch the authentication in debug, aka "allowBypass == true", mode | 125 | Opie::Security::MultiauthPassword::authenticate(Opie::Security::TestNow); |
126 | */ | ||
127 | |||
128 | Opie::Security::MultiauthMainWindow win(true); | ||
129 | // resize the QDialog object so it fills all the screen | ||
130 | QRect desk = qApp->desktop()->geometry(); | ||
131 | win.setGeometry( 0, 0, desk.width(), desk.height() ); | ||
132 | |||
133 | // the authentication has already succeeded (without win interactions) | ||
134 | if ( win.isAlreadyDone() ) | ||
135 | return; | ||
136 | |||
137 | win.exec(); | ||
138 | |||
139 | } | ||
140 | 126 | ||
141 | } | 127 | } |
142 | 128 | ||
143 | 129 | ||
144 | /// Builds and displays the Opie multi-authentication configuration dialog | 130 | /// Builds and displays the Opie multi-authentication configuration dialog |
145 | static void test_and_start() { | 131 | static void test_and_start() { |
146 | Config pcfg("Security"); | 132 | Config pcfg("Security"); |
147 | pcfg.setGroup( "Misc" ); | 133 | pcfg.setGroup( "Misc" ); |
148 | bool protectConfigDialog = ! pcfg.readBoolEntry("noProtectConfig", true); | 134 | bool protectConfigDialog = ! pcfg.readBoolEntry("noProtectConfig", true); |
149 | 135 | ||
150 | if (protectConfigDialog && Opie::Security::Internal::runPlugins() != 0) { | 136 | if (protectConfigDialog && Opie::Security::Internal::runPlugins() != 0) { |
151 | owarn << "authentication failed, not showing opie-security" << oendl; | 137 | owarn << "authentication failed, not showing opie-security" << oendl; |
152 | exit( -1 ); | 138 | exit( -1 ); |
153 | } | 139 | } |
154 | } | 140 | } |
155 | 141 | ||
156 | 142 | ||
157 | 143 | ||
158 | MultiauthConfig::MultiauthConfig(QWidget* par, const char* w = "MultiauthConfig dialog", WFlags f = 0) | 144 | MultiauthConfig::MultiauthConfig(QWidget* par, const char* w = "MultiauthConfig dialog", WFlags f = 0) |
159 | : QDialog(par, w, TRUE, f), | 145 | : QDialog(par, w, TRUE, f), |
160 | m_mainTW(0), m_pluginListView(0), m_pluginListWidget(0), | 146 | m_mainTW(0), m_pluginListView(0), m_pluginListWidget(0), |
161 | m_generalConfig(0), m_loginWidget(0), m_syncWidget(0), | 147 | m_generalConfig(0), m_loginWidget(0), m_syncWidget(0), |
162 | m_nbSuccessReq(0), m_plugins_changed(false) | 148 | m_nbSuccessReq(0), m_plugins_changed(false) |
163 | { | 149 | { |