00001 #include "noticeplugin.h"
00002
00003 #include <opie2/oapplication.h>
00004
00005 #include <qmessagebox.h>
00006 #include <qregexp.h>
00007
00008 using Opie::Security::MultiauthPluginObject;
00009 using Opie::Security::MultiauthConfigWidget;
00010
00012 NoticePlugin::NoticePlugin() : MultiauthPluginObject(), m_noticeW(0) {
00013 }
00014
00016 NoticePlugin::~NoticePlugin() {
00017 delete m_noticeW;
00018 }
00019
00021 QString NoticePlugin::pluginName() const {
00022 return "Notice plugin";
00023 }
00024
00026
00029 MultiauthConfigWidget * NoticePlugin::configWidget(QWidget * parent) {
00030 if (m_noticeW == 0)
00031 m_noticeW = new NoticeConfigWidget(parent, "Notice configuration widget");
00032 return m_noticeW;
00033 }
00034
00036 QString NoticePlugin::pixmapNameConfig() const {
00037 return "security/noticeplugin_small";
00038 }
00039
00041 QString NoticePlugin::pixmapNameWidget() const {
00042 return "security/noticeplugin";
00043 }
00044
00046
00049 int NoticePlugin::authenticate() {
00050 QMessageBox noticeDialog("Notice plugin",
00051 getNoticeText(),
00052 QMessageBox::Warning,
00053 QMessageBox::Yes,
00054 0,
00055 0,
00056 0,
00057 "notice plugin dialog",
00058 true,
00059 Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop);
00060
00061 noticeDialog.setButtonText(QMessageBox::Yes, tr("I accept"));
00062
00063 QRect desk = oApp->desktop()->geometry();
00064 noticeDialog.setGeometry( 0, 0, desk.width(), desk.height() );
00065
00066 switch (noticeDialog.exec())
00067 {
00068 case QMessageBox::Yes:
00069 return MultiauthPluginObject::Success;
00070 }
00071 return 255;
00072 }
00073
00075
00078 QString NoticePlugin::getNoticeText() {
00079
00080 Config config("Security");
00081 config.setGroup("NoticePlugin");
00082 return config.readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" );
00083 }
00084