cryptoconfigmodule.h
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 #ifndef CRYPTOCONFIGMODULE_H
00033 #define CRYPTOCONFIGMODULE_H
00034
00035 #include <kjanuswidget.h>
00036 #include <qgroupbox.h>
00037 #include <qtabwidget.h>
00038 #include <qhbox.h>
00039 #include <qcheckbox.h>
00040 #include <kurl.h>
00041
00042 class KLineEdit;
00043 class KIntNumInput;
00044 class QPushButton;
00045
00046 namespace Kleo {
00047
00048 class CryptoConfig;
00049 class CryptoConfigComponent;
00050 class CryptoConfigGroup;
00051 class CryptoConfigEntry;
00052 class CryptoConfigComponentGUI;
00053 class CryptoConfigGroupGUI;
00054 class CryptoConfigEntryGUI;
00055
00060 class CryptoConfigModule : public KJanusWidget {
00061 Q_OBJECT
00062 public:
00063 CryptoConfigModule( Kleo::CryptoConfig* config, QWidget * parent=0, const char * name=0 );
00064
00065 void save();
00066 void reset();
00067 void defaults();
00068 void cancel();
00069
00070 signals:
00071 void changed();
00072
00073 private:
00074 Kleo::CryptoConfig* mConfig;
00075 QValueList<CryptoConfigComponentGUI *> mComponentGUIs;
00076 };
00077
00081 class CryptoConfigComponentGUI : public QWidget {
00082 Q_OBJECT
00083
00084 public:
00085 CryptoConfigComponentGUI( CryptoConfigModule* module, Kleo::CryptoConfigComponent* component,
00086 QWidget* parent, const char* name = 0 );
00087
00088 bool save();
00089 void load();
00090 void defaults();
00091
00092 private:
00093 Kleo::CryptoConfigComponent* mComponent;
00094 QValueList<CryptoConfigGroupGUI *> mGroupGUIs;
00095 };
00096
00100 class CryptoConfigGroupGUI : public QGroupBox {
00101 Q_OBJECT
00102
00103 public:
00104 CryptoConfigGroupGUI( CryptoConfigModule* module, Kleo::CryptoConfigGroup* group,
00105 QWidget* parent, const char* name = 0 );
00106
00107 bool save();
00108 void load();
00109 void defaults();
00110
00111 private:
00112 Kleo::CryptoConfigGroup* mGroup;
00113 QValueList<CryptoConfigEntryGUI *> mEntryGUIs;
00114 };
00115
00120 class CryptoConfigEntryGUIFactory {
00121 public:
00122 static CryptoConfigEntryGUI* createEntryGUI(
00123 CryptoConfigModule* module,
00124 Kleo::CryptoConfigEntry* entry, const QString& entryName,
00125 QWidget* parent, const char* name = 0 );
00126 };
00127
00131 class CryptoConfigEntryGUI : public QHBox {
00132 Q_OBJECT
00133 public:
00134 CryptoConfigEntryGUI( CryptoConfigModule* module,
00135 Kleo::CryptoConfigEntry* entry,
00136 const QString& entryName,
00137 QWidget* parent, const char* name = 0 );
00138 virtual ~CryptoConfigEntryGUI() {}
00139
00140 void load() { doLoad(); mChanged = false; }
00141 void save() { Q_ASSERT( mChanged ); doSave(); mChanged = false; }
00142 void resetToDefault();
00143
00144 QString description() const;
00145 bool isChanged() const { return mChanged; }
00146
00147 signals:
00148 void changed();
00149
00150 protected slots:
00151 void slotChanged() {
00152 mChanged = true;
00153 emit changed();
00154 }
00155
00156 protected:
00157 virtual void doSave() = 0;
00158 virtual void doLoad() = 0;
00159
00160 Kleo::CryptoConfigEntry* mEntry;
00161 QString mName;
00162 bool mChanged;
00163 };
00164
00168 class CryptoConfigEntryLineEdit : public CryptoConfigEntryGUI {
00169 Q_OBJECT
00170
00171 public:
00172 CryptoConfigEntryLineEdit( CryptoConfigModule* module,
00173 Kleo::CryptoConfigEntry* entry,
00174 const QString& entryName,
00175 QWidget* parent, const char* name = 0 );
00176
00177 virtual void doSave();
00178 virtual void doLoad();
00179 private:
00180 KLineEdit* mLineEdit;
00181 };
00182
00186 class CryptoConfigEntrySpinBox : public CryptoConfigEntryGUI {
00187 Q_OBJECT
00188
00189 public:
00190 CryptoConfigEntrySpinBox( CryptoConfigModule* module,
00191 Kleo::CryptoConfigEntry* entry,
00192 const QString& entryName,
00193 QWidget* parent, const char* name = 0 );
00194 virtual void doSave();
00195 virtual void doLoad();
00196 private:
00197 enum { Int, UInt, ListOfNone } mKind;
00198 KIntNumInput* mNumInput;
00199 };
00200
00204 class CryptoConfigEntryCheckBox : public CryptoConfigEntryGUI {
00205 Q_OBJECT
00206
00207 public:
00208 CryptoConfigEntryCheckBox( CryptoConfigModule* module,
00209 Kleo::CryptoConfigEntry* entry,
00210 const QString& entryName,
00211 QWidget* parent, const char* name = 0 );
00212 virtual void doSave();
00213 virtual void doLoad();
00214 private:
00215 QCheckBox* mCheckBox;
00216 };
00217
00221 class CryptoConfigEntryLDAPURL : public CryptoConfigEntryGUI {
00222 Q_OBJECT
00223
00224 public:
00225 CryptoConfigEntryLDAPURL( CryptoConfigModule* module,
00226 Kleo::CryptoConfigEntry* entry,
00227 const QString& entryName,
00228 QWidget* parent, const char* name = 0 );
00229 virtual void doSave();
00230 virtual void doLoad();
00231 private slots:
00232 void slotOpenDialog();
00233 private:
00234 void setURLList( const KURL::List& urlList );
00235 QLabel* mLabel;
00236 QPushButton* mPushButton;
00237 KURL::List mURLList;
00238 };
00239 }
00240
00241 #endif
This file is part of the documentation for certmanager Library Version 3.3.2.