[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdesupport/qca/examples/cmssigner
From:       Justin Karneges <infiniti () affinix ! com>
Date:       2007-08-20 15:47:38
Message-ID: 1187624858.798267.31204.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 702416 by infiniti:

one prompter for whole app


 M  +21 -1     certitem.cpp  
 M  +0 -1      main.cpp  


--- trunk/kdesupport/qca/examples/cmssigner/certitem.cpp #702415:702416
@@ -268,6 +268,9 @@
 //----------------------------------------------------------------------------
 // CertItemStore
 //----------------------------------------------------------------------------
+static MyPrompter *g_prompter = 0;
+static int g_prompter_refs = 0;
+
 class CertItemStorePrivate : public QObject
 {
 	Q_OBJECT
@@ -296,13 +299,28 @@
 		next_id(0),
 		next_req_id(0)
 	{
-		prompter = new MyPrompter(this);
+		if(!g_prompter)
+		{
+			g_prompter = new MyPrompter;
+			g_prompter_refs = 1;
+		}
+		else
+			++g_prompter_refs;
+
+		prompter = g_prompter;
 	}
 
 	~CertItemStorePrivate()
 	{
 		foreach(const LoaderItem &i, loaders)
 			delete i.keyLoader;
+
+		--g_prompter_refs;
+		if(g_prompter_refs == 0)
+		{
+			delete g_prompter;
+			g_prompter = 0;
+		}
 	}
 
 	QString getUniqueName(const QString &name)
@@ -548,6 +566,8 @@
 
 void CertItemStore::updateChain(int id, const QCA::CertificateChain &chain)
 {
+	int at = rowFromId(id);
+	d->list[at].d->chain = chain;
 }
 
 void CertItemStore::removeItem(int id)
--- trunk/kdesupport/qca/examples/cmssigner/main.cpp #702415:702416
@@ -24,7 +24,6 @@
 #include <QtCrypto>
 
 #include "ui_mainwin.h"
-#include "prompter.h"
 #include "certviewdlg.h"
 #include "keyselectdlg.h"
 #include "pkcs11configdlg/pkcs11configdlg.h"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic