Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

noticeplugin.cpp

Go to the documentation of this file.
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; //should not be returned anyway
00072 }
00073 
00075 
00078 QString NoticePlugin::getNoticeText() {
00079       // Note: C++ processes '\' character, so we have to type \\\\ to mean \\ to QRegExp
00080     Config config("Security");
00081     config.setGroup("NoticePlugin");
00082     return config.readEntry("noticeText", QObject::tr(defaultNoticeText)).replace( QRegExp("\\\\n"), "\n" );
00083 }
00084 

Generated on Sat Nov 5 16:17:46 2005 for OPIE by  doxygen 1.4.2