author | clem <clem> | 2004-06-15 13:49:36 (UTC) |
---|---|---|
committer | clem <clem> | 2004-06-15 13:49:36 (UTC) |
commit | 5431072f0ea1cbc8ca37914b6349e66079f1acff (patch) (unidiff) | |
tree | da335f89e506cde6ffe59a252b4ccab4e177809b /noncore/securityplugins/notice/noticeplugin.cpp | |
parent | ba4722d0fed5527a5b799281caf6324f2e7ad5d8 (diff) | |
download | opie-5431072f0ea1cbc8ca37914b6349e66079f1acff.zip opie-5431072f0ea1cbc8ca37914b6349e66079f1acff.tar.gz opie-5431072f0ea1cbc8ca37914b6349e66079f1acff.tar.bz2 |
First revision of securityplugins, called by libopiesecurity2 authentication framework (see http://dudu.dyn.2-h.org/nist/OMAF.php).
Diffstat (limited to 'noncore/securityplugins/notice/noticeplugin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/securityplugins/notice/noticeplugin.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/noncore/securityplugins/notice/noticeplugin.cpp b/noncore/securityplugins/notice/noticeplugin.cpp new file mode 100644 index 0000000..f7d41ab --- a/dev/null +++ b/noncore/securityplugins/notice/noticeplugin.cpp | |||
@@ -0,0 +1,83 @@ | |||
1 | #include "noticeplugin.h" | ||
2 | |||
3 | #include <opie2/oapplication.h> | ||
4 | |||
5 | #include <qmessagebox.h> | ||
6 | #include <qregexp.h> | ||
7 | |||
8 | /// creates and initializes the m_config Config object | ||
9 | NoticePlugin::NoticePlugin() : MultiauthPluginObject(), noticeW(0) { | ||
10 | m_config = new Config("Security"); | ||
11 | m_config->setGroup("NoticePlugin"); | ||
12 | } | ||
13 | |||
14 | /// deletes the m_config Config object and noticeW if necessary | ||
15 | NoticePlugin::~NoticePlugin() { | ||
16 | delete m_config; | ||
17 | if (noticeW != 0) | ||
18 | delete noticeW; | ||
19 | } | ||
20 | |||
21 | /// Simply return its name (Notice plugin) | ||
22 | QString NoticePlugin::pluginName() const { | ||
23 | return "Notice plugin"; | ||
24 | } | ||
25 | |||
26 | /// return the Notice widget configuration widget | ||
27 | /** | ||
28 | * \return noticeW, the NoticeConfigWidget | ||
29 | */ | ||
30 | MultiauthConfigWidget * NoticePlugin::configWidget(QWidget * parent) { | ||
31 | if (noticeW == 0) | ||
32 | noticeW = new NoticeConfigWidget(parent, "Notice configuration widget"); | ||
33 | return noticeW; | ||
34 | } | ||
35 | |||
36 | /// return the path of the small tab icon | ||
37 | QString NoticePlugin::pixmapNameConfig() const { | ||
38 | return "security/noticeplugin_small"; | ||
39 | } | ||
40 | |||
41 | /// return the path of the big icon for the active/order checklist | ||
42 | QString NoticePlugin::pixmapNameWidget() const { | ||
43 | return "security/noticeplugin"; | ||
44 | } | ||
45 | |||
46 | /// Displays the configured message and an 'Accept' button | ||
47 | /** | ||
48 | * \return the outcome code of this authentication (can be only success) | ||
49 | */ | ||
50 | int NoticePlugin::authenticate() { | ||
51 | QMessageBox noticeDialog("Notice plugin", | ||
52 | getNoticeText(), | ||
53 | QMessageBox::Warning, | ||
54 | QMessageBox::Yes, | ||
55 | 0, | ||
56 | 0, | ||
57 | 0, | ||
58 | "notice plugin dialog", | ||
59 | true, | ||
60 | Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop); | ||
61 | |||
62 | noticeDialog.setButtonText(QMessageBox::Yes, "I accept"); | ||
63 | |||
64 | QRect desk = oApp->desktop()->geometry(); | ||
65 | noticeDialog.setGeometry( 0, 0, desk.width(), desk.height() ); | ||
66 | |||
67 | switch (noticeDialog.exec()) | ||
68 | { | ||
69 | case QMessageBox::Yes: | ||
70 | return MultiauthPluginObject::Success; | ||
71 | } | ||
72 | return 255; //should not be returned anyway | ||
73 | } | ||
74 | |||
75 | /// get the notice text from our m_config config file (with true new lines) | ||
76 | /** | ||
77 | * if no text has been defined yet returns defaultNoticeText | ||
78 | */ | ||
79 | QString NoticePlugin::getNoticeText() { | ||
80 | // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp | ||
81 | return m_config->readEntry("noticeText", defaultNoticeText).replace( QRegExp("\\\\n"), "\n" ); | ||
82 | } | ||
83 | |||