00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef CRYPTOWIDGET_H
00025
#define CRYPTOWIDGET_H
00026
00027
#include "contacteditorwidget.h"
00028
00029
class QComboBox;
00030
00031
namespace Kleo {
00032
class KeyRequester;
00033 };
00034
class QCheckBox;
00035
00036
class CryptoWidget :
public KAB::ContactEditorWidget
00037 {
00038 Q_OBJECT
00039
00040
public:
00041 CryptoWidget( KABC::AddressBook *ab,
QWidget *parent,
const char *name = 0 );
00042 ~CryptoWidget();
00043
00044
void loadContact( KABC::Addressee *addr );
00045
void storeContact( KABC::Addressee *addr );
00046
void setReadOnly(
bool readOnly );
00047
00048
private:
00049
enum { NumberOfProtocols = 4 };
00050
QCheckBox* mProtocolCB[NumberOfProtocols];
00051
QComboBox* mSignPref;
00052
QComboBox* mCryptPref;
00053 Kleo::KeyRequester* mPgpKey;
00054 Kleo::KeyRequester* mSmimeCert;
00055
bool mReadOnly;
00056 };
00057
00058
class CryptoWidgetFactory :
public KAB::ContactEditorWidgetFactory
00059 {
00060
public:
00061 CryptoWidgetFactory();
00062 KAB::ContactEditorWidget *createWidget( KABC::AddressBook *ab,
QWidget *parent,
const char *name )
00063 {
00064
return new CryptoWidget( ab, parent, name );
00065 }
00066
00067
QString pageTitle() const;
00068
QString pageIdentifier() const;
00069 };
00070
00071 #endif