summaryrefslogtreecommitdiff
path: root/noncore/securityplugins/pin
authorclem <clem>2004-08-03 22:59:45 (UTC)
committer clem <clem>2004-08-03 22:59:45 (UTC)
commit72d6b839da4aecba0ad6479c3e1d68192bbe6a51 (patch) (side-by-side diff)
tree1a60581005dfab811debe87e2eae6be905743dc2 /noncore/securityplugins/pin
parent02434fe2d87d1c69c60693d9537b419d9dfd44e7 (diff)
downloadopie-72d6b839da4aecba0ad6479c3e1d68192bbe6a51.zip
opie-72d6b839da4aecba0ad6479c3e1d68192bbe6a51.tar.gz
opie-72d6b839da4aecba0ad6479c3e1d68192bbe6a51.tar.bz2
manage better the MultiauthConfigWidget PinConfigWidget object, with a pointer managed by PinPlugin c'tor and d'tor (like in NoticePlugin)
Diffstat (limited to 'noncore/securityplugins/pin') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/securityplugins/pin/pin.cpp22
-rw-r--r--noncore/securityplugins/pin/pin.h3
2 files changed, 19 insertions, 6 deletions
diff --git a/noncore/securityplugins/pin/pin.cpp b/noncore/securityplugins/pin/pin.cpp
index c21ffcd..2accb9c 100644
--- a/noncore/securityplugins/pin/pin.cpp
+++ b/noncore/securityplugins/pin/pin.cpp
@@ -25,3 +25,2 @@
#include "pinDialogBase.h"
-#include "pinConfigWidget.h"
/* OPIE */
@@ -320,2 +319,12 @@ int PinPlugin::authenticate()
+/// Standard c'tor
+PinPlugin::PinPlugin() : MultiauthPluginObject(), m_pinW(0) {
+}
+
+/// deletes m_pinW if we need to
+PinPlugin::~PinPlugin() {
+ if (m_pinW != 0)
+ delete m_pinW;
+}
+
/// Simply returns the plugin name (PIN plugin)
@@ -335,8 +344,9 @@ QString PinPlugin::pixmapNameConfig() const {
MultiauthConfigWidget * PinPlugin::configWidget(QWidget * parent) {
- PinConfigWidget * pinw = new PinConfigWidget(parent, "PIN configuration widget");
-
- connect(pinw->changePIN, SIGNAL( clicked() ), this, SLOT( changePIN() ));
- connect(pinw->clearPIN, SIGNAL( clicked() ), this, SLOT( clearPIN() ));
+ if (m_pinW == 0) {
+ m_pinW = new PinConfigWidget(parent, "PIN configuration widget");
- return pinw;
+ connect(m_pinW->changePIN, SIGNAL( clicked() ), this, SLOT( changePIN() ));
+ connect(m_pinW->clearPIN, SIGNAL( clicked() ), this, SLOT( clearPIN() ));
+ }
+ return m_pinW;
}
diff --git a/noncore/securityplugins/pin/pin.h b/noncore/securityplugins/pin/pin.h
index 1832210..b5ae10a 100644
--- a/noncore/securityplugins/pin/pin.h
+++ b/noncore/securityplugins/pin/pin.h
@@ -50,2 +50,4 @@ class PinPlugin : public QObject, public Opie::Security::MultiauthPluginObject {
public:
+ PinPlugin();
+ virtual ~PinPlugin();
int authenticate();
@@ -63,2 +65,3 @@ private slots:
private:
+ PinConfigWidget * m_pinW;
QString encrypt(const QString& pin);