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

dummyplugin.cpp

Go to the documentation of this file.
00001 #include "dummyplugin.h"
00002 
00003 #include <opie2/oapplication.h>
00004 
00005 #include <qdialog.h>
00006 #include <qlayout.h>
00007 #include <qlabel.h>
00008 #include <qpushbutton.h>
00009 
00010 using Opie::Security::MultiauthConfigWidget;
00011 using Opie::Security::MultiauthPluginObject;
00012 
00014 QString DummyPlugin::pluginName() const {
00015     return "Dummy plugin";
00016 }
00017 
00019 MultiauthConfigWidget * DummyPlugin::configWidget(QWidget * parent) {
00020     return 0l;
00021 }
00022 QString DummyPlugin::pixmapNameWidget() const {
00023     return "security/dummyplugin";
00024 }
00025 QString DummyPlugin::pixmapNameConfig() const {
00026     return 0l;
00027 }
00028 
00030 void DummyPlugin::success() {
00031     emit emitCode(MultiauthPluginObject::Success);
00032 }
00033 
00035 void DummyPlugin::failure() {
00036     emit emitCode(MultiauthPluginObject::Failure);
00037 }
00038 
00040 void DummyPlugin::skip() {
00041     emit emitCode(MultiauthPluginObject::Skip);
00042 }
00043 
00045 
00049 int DummyPlugin::authenticate() {
00050 
00051     /* Standard, inescapable authentication dialog
00052      */
00053     QDialog dummyDialog(0,
00054                         "Dummy dialog",
00055                         TRUE,
00056                         Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop);
00057 
00058     QRect desk = oApp->desktop()->geometry();
00059     dummyDialog.setGeometry( 0, 0, desk.width(), desk.height() );
00060 
00061     /* Creation of the particular widgets of our Dummy user interface
00062      * Note: we have to resize the VBox to the QDialog size, since it's not
00063      * done automatically.
00064      */
00065     QVBoxLayout layout(&dummyDialog);
00066     layout.setSpacing(11);
00067     layout.setMargin(11);
00068     layout.setAlignment( Qt::AlignTop );
00069 
00070     QLabel title("<center><h1>" + tr("\"Dummy\" <br />demonstration plugin") + "</h1></center>", &dummyDialog);
00071     QLabel subTitle("<center><h2>" +tr("You can simulate the following outcomes:") + "</h2></center>", &dummyDialog);
00072     layout.addWidget(&title);
00073     layout.addWidget(&subTitle);
00074 
00075     QHBoxLayout hl(&layout);
00076     QPushButton pbSuccess("Success", &dummyDialog);
00077     QPushButton pbSkip("Skip", &dummyDialog);
00078     QPushButton pbFailure("Failure", &dummyDialog);
00079     hl.addWidget(&pbSuccess, 0, Qt::AlignHCenter);
00080     hl.addWidget(&pbSkip, 0, Qt::AlignHCenter);
00081     hl.addWidget(&pbFailure, 0, Qt::AlignHCenter);
00082 
00083     /* Linking our pushbuttons to exit functions
00084      * (each result button here has a corresponding slot)
00085      */
00086     QObject::connect(&pbSuccess, SIGNAL(clicked()), this, SLOT(success()));
00087     QObject::connect(&pbFailure, SIGNAL(clicked()), this, SLOT(failure()));
00088     QObject::connect(&pbSkip, SIGNAL(clicked()), this, SLOT(skip()));
00089 
00090     /* The value of the signal these three slots will emit corresponds to
00091      * the different values we want to return
00092      */
00093     QObject::connect(this, SIGNAL(emitCode(int)), &dummyDialog, SLOT(done(int)));
00094     return dummyDialog.exec();
00095 }

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