summaryrefslogtreecommitdiff
path: root/noncore/securityplugins/notice/noticeplugin.cpp
Unidiff
Diffstat (limited to 'noncore/securityplugins/notice/noticeplugin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/securityplugins/notice/noticeplugin.cpp83
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
9NoticePlugin::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
15NoticePlugin::~NoticePlugin() {
16 delete m_config;
17 if (noticeW != 0)
18 delete noticeW;
19}
20
21/// Simply return its name (Notice plugin)
22QString NoticePlugin::pluginName() const {
23 return "Notice plugin";
24}
25
26/// return the Notice widget configuration widget
27/**
28 * \return noticeW, the NoticeConfigWidget
29 */
30MultiauthConfigWidget * 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
37QString NoticePlugin::pixmapNameConfig() const {
38 return "security/noticeplugin_small";
39}
40
41/// return the path of the big icon for the active/order checklist
42QString 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 */
50int 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 */
79QString 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