You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeutils/kgpg/listkeys.h

303 lines
8.8 KiB

/***************************************************************************
listkeys.h - description
-------------------
begin : Thu Jul 4 2002
copyright : (C) 2002 by Jean-Baptiste Mardelle
email : bj@altern.org
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef LISTKEYS_H
#define LISTKEYS_H
#include <kdialogbase.h>
#include <klistview.h>
#include <kmainwindow.h>
#include <klistviewsearchline.h>
#include <kactionclasses.h>
#include <qclipboard.h>
#include "dcopiface.h"
#include <qptrlist.h>
#include <qstringlist.h>
#include <kurl.h>
#include <qcheckbox.h>
#include <kmainwindow.h>
class QPushButton;
class QPopupMenu;
class QLabel;
class QCheckbox;
class KStatusBar;
class KPassivePopup;
class KProcess;
class KProcIO;
class QEvent;
class KTempFile;
class KgpgApp;
class keyServer;
class groupEdit;
class KgpgInterface;
class KSelectAction;
struct gpgKey
{
QString gpgkeymail;
QString gpgkeyname;
QString gpgkeyid;
QString gpgkeytrust;
QString gpgkeyvalidity;
QString gpgkeysize;
QString gpgkeycreation;
QString gpgkeyexpiration;
QString gpgkeyalgo;
QPixmap trustpic;
};
class KgpgSelKey : public KDialogBase
{
Q_OBJECT
public:
KgpgSelKey( QWidget *parent = 0, const char *name = 0,bool allowMultipleSelection=false, QString preselected=QString::null);
KListView *keysListpr;
QPixmap keyPair;
QCheckBox *local;
QVBoxLayout *vbox;
QWidget *page;
private slots:
void slotOk();
void slotpreOk();
void slotSelect(QListViewItem *item);
public slots:
QString getkeyID();
QString getkeyMail();
};
class KeyView : public KListView
{
Q_OBJECT
friend class listKeys;
public:
KeyView( QWidget *parent = 0, const char *name = 0);
bool displayPhoto,displayOnlySecret,displayDisabled;
int previewSize;
QString secretList;
QPixmap trustbad;
private:
QString orphanList;
QString photoKeysList;
QPixmap pixkeyPair, pixkeySingle, pixkeyGroup, pixsignature, pixuserid, pixuserphoto;
QPixmap trustunknown, trustrevoked, trustgood, pixRevoke, pixkeyOrphan;
QListViewItem *itemToOpen;
KTempFile *kgpgphototmp;
int groupNb;
public slots:
void slotRemoveColumn(int d);
void slotAddColumn(int c);
private slots:
void refreshTrust(int color,QColor newColor);
void droppedfile (KURL);
void refreshkeylist();
gpgKey extractKey(QString keyColon);
void expandKey(QListViewItem *item);
void expandGroup(QListViewItem *item);
void refreshcurrentkey(QListViewItem *current);
void refreshcurrentkey(QString currentID);
void refreshselfkey();
void refreshgroups();
void insertOrphanedKeys(QStringList orpans);
void insertOrphan(QString currentID);
QPixmap slotGetPhoto(QString photoId,bool mini=false);
void slotReloadKeys(QStringList keyIDs);
void slotReloadOrphaned();
signals:
void statusMessage(QString,int,bool keep=false);
protected:
virtual void startDrag();
virtual void contentsDragMoveEvent(QDragMoveEvent *e);
virtual void contentsDropEvent (QDropEvent*);
};
class mySearchLine: public KListViewSearchLine
{
Q_OBJECT
public:
mySearchLine(QWidget *parent = 0, KeyView *listView = 0, const char *name = 0);
virtual ~mySearchLine();
private:
KeyView *searchListView;
public slots:
virtual void updateSearch(const QString &s = QString::null);
protected:
virtual bool itemMatches(const QListViewItem *item, const QString & s) const;
};
class listKeys : public KMainWindow, virtual public KeyInterface
{
friend class KeyView;
Q_OBJECT
public:
listKeys(QWidget *parent=0, const char *name=0);
~listKeys();
QLabel *keyPhoto;
KeyView *keysList2;
QPopupMenu *popup,*popupsec,*popupout,*popupsig,*popupgroup,*popupphoto,*popupuid,*popuporphan;
QString message;
QStringList keynames;
KPassivePopup *pop;
KToggleAction *sTrust,*sCreat,*sExpi,*sSize;
KSelectAction *photoProps;
KStatusBar *keyStatusBar;
KgpgApp *s_kgpgEditor;
private:
QPushButton *bouton1,*bouton2,*bouton0;
QString tempKeyFile,newKeyMail,newKeyName,newkeyFinger,newkeyID;
KListViewSearchLine* listViewSearch;
bool continueSearch;
bool showPhoto;
keyServer *kServer;
KTempFile *kgpgtmp;
KAction *importSignatureKey,*importAllSignKeys,*signKey,*refreshKey;
QPtrList<QListViewItem> signList,keysList;
uint globalCount,keyCount;
int globalChecked;
bool globalisLocal,showTipOfDay;
QString globalkeyMail,globalkeyID,searchString;
long searchOptions;
groupEdit *gEdit;
KgpgInterface *revKeyProcess;
KDialogBase *addUidWidget;
QClipboard::Mode clipboardMode;
QTimer *statusbarTimer;
protected:
void closeEvent( QCloseEvent * e );
bool eventFilter( QObject *, QEvent *e );
public slots:
void slotgenkey();
void refreshkey();
void readAllOptions();
void showKeyInfo(QString keyID);
void findKey();
void findFirstKey();
void findNextKey();
void slotSetDefaultKey(QString newID);
private slots:
void quitApp();
void slotOpenEditor();
void changeMessage(QString,int, bool keep=false);
void statusBarTimeout();
void slotShowTrust();
void slotShowSize();
void slotShowCreat();
void slotShowExpi();
void slotToggleSecret();
void slotToggleDisabled();
void slotGotoDefaultKey();
void slotDelUid();
void slotAddUid();
void slotAddUidEnable(const QString & name);
void slotGpgError(QString errortxt);
void slotUpdatePhoto();
void slotDeletePhoto();
void slotAddPhoto();
void slotSetPhotoSize(int size);
void slotShowPhoto();
void readgenprocess(KProcIO *p);
void newKeyDone(KProcess *);
void slotrevoke(QString keyID,QString revokeUrl,int reason,QString description);
void revokeWidget();
void doFilePrint(QString url);
void doPrint(QString txt);
void checkList();
void signLoop();
void slotManpage();
void slotTip();
void showKeyServer();
void showKeyManager();
void slotReadFingerProcess(KProcIO *p);
void slotProcessExportMail(QString keys);
void slotProcessExportClip(QString keys);
void readOptions();
void genover(KProcess *p);
void showOptions();
void slotSetDefKey();
void slotSetDefaultKey(QListViewItem *newdef);
void annule();
void confirmdeletekey();
void deletekey();
void deleteseckey();
void signkey();
void delsignkey();
void preimportsignkey();
bool importRemoteKey(QString keyID);
void importsignkey(QString importKeyId);
void importallsignkey();
void importfinished();
void signatureResult(int success);
void delsignatureResult(bool);
void listsigns();
void slotexport();
void slotexportsec();
void slotmenu(QListViewItem *,const QPoint &,int);
void slotPreImportKey();
void slotedit();
void addToKAB();
// void allToKAB();
void editGroup();
void groupAdd();
void groupRemove();
void groupInit(QStringList keysGroup);
void groupChange();
void createNewGroup();
void deleteGroup();
void slotImportRevoke(QString url);
void slotImportRevokeTxt(QString revokeText);
void refreshKeyFromServer();
void refreshFinished();
void slotregenerate();
void reloadSecretKeys();
void dcopImportFinished();
signals:
void readAgainOptions();
void certificate(QString);
void closeAsked();
void fontChanged(QFont);
void encryptFiles(KURL::List);
void installShredder();
};
#endif // LISTKEYS_H