00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
#ifndef CERTIFICATEINFOWIDGETIMPL_H
00034
#define CERTIFICATEINFOWIDGETIMPL_H
00035
00036
#include "certificateinfowidget.h"
00037
00038
#include <gpgmepp/key.h>
00039
00040
#include <qvaluelist.h>
00041
00042
class KProcess;
00043
class QListViewItem;
00044
00045
namespace GpgME {
00046
class KeyListResult;
00047 }
00048
00049
class CertificateInfoWidgetImpl :
public CertificateInfoWidget {
00050 Q_OBJECT
00051
public:
00052 CertificateInfoWidgetImpl(
const GpgME::Key & key,
bool external,
00053
QWidget * parent=0,
const char * name=0);
00054
00055
void setKey(
const GpgME::Key & key );
00056
00057 signals:
00058
void requestCertificateDownload(
const QString & fingerprint,
const QString& displayName );
00059
00060
private slots:
00061
void slotShowInfo(
QListViewItem* );
00062
void slotShowCertPathDetails(
QListViewItem* );
00063
void slotImportCertificate();
00064
void slotCertificateChainListingResult(
const GpgME::KeyListResult & res );
00065
void slotNextKey(
const GpgME::Key & key );
00066
void slotKeyExistanceCheckNextCandidate(
const GpgME::Key & key );
00067
void slotKeyExistanceCheckFinished();
00068
void slotCollectStdout(KProcess *,
char *,
int);
00069
void slotCollectStderr(KProcess *,
char *,
int);
00070
void slotDumpProcessExited(KProcess*);
00071
00072
private:
00073
void startCertificateChainListing();
00074
void startCertificateDump();
00075
void startKeyExistanceCheck();
00076
void updateChainView();
00077
00078
private:
00079
QCString mDumpOutput;
00080
QCString mDumpError;
00081
QValueList<GpgME::Key> mChain;
00082
bool mExternal;
00083
bool mFoundIssuer;
00084
bool mHaveKeyLocally;
00085 };
00086
00087
#endif // CERTIFICATEINFOWIDGETIMPL_H