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.
tdelibs/kcert/kcertpart.h

140 lines
3.4 KiB

/* This file is part of the KDE project
*
* Copyright (C) 2001 George Staikos <staikos@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef _INCLUDE_KCERTPART_H
#define _INCLUDE_KCERTPART_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <kparts/part.h>
#include <tqptrlist.h>
#include <tqlistview.h>
#include <klistview.h>
class KSSLCertBox;
class TQFrame;
class TQLabel;
class KCertPartPrivate;
class KComboBox;
class TQButton;
class KSSLSigners;
class KSSLPKCS12;
class KSSLCertificate;
class TQTabWidget;
class TQMultiLineEdit;
class KAboutData;
class TQGridLayout;
class KX509Item : public KListViewItem {
public:
KX509Item(KListViewItem *parent, KSSLCertificate *x);
KX509Item(KListView *parent, KSSLCertificate *x);
void setup(KSSLCertificate *x);
~KX509Item();
virtual int rtti() const { return 1; }
KSSLCertificate *cert;
TQString _prettyName;
};
class KPKCS12Item : public KListViewItem {
public:
KPKCS12Item(KListViewItem *parent, KSSLPKCS12 *x);
~KPKCS12Item();
KSSLPKCS12 *cert;
TQString _prettyName;
};
class KCertPart : public KParts::ReadWritePart {
Q_OBJECT
public:
KCertPart(TQWidget *tqparentWidget, const char *widgetName,
TQObject *parent = 0L, const char *name = 0L,
const TQStringList &args = TQStringList() );
virtual ~KCertPart();
virtual void setReadWrite(bool readwrite);
static KAboutData *createAboutData();
protected slots:
void slotChain(int c);
void slotImport();
void slotSave();
void slotDone();
void slotLaunch();
void slotSelectionChanged(TQListViewItem *x);
void slotImportAll();
protected:
virtual bool openFile();
virtual bool saveFile();
void displayPKCS12Cert(KSSLCertificate *c);
void displayCACert(KSSLCertificate *c);
KListView *_sideList;
KListViewItem *_parentCA, *_parentP12;
TQFrame *_pkcsFrame, *_blankFrame, *_x509Frame, *_frame;
// for the PKCS12 widget
TQLabel *_p12_filenameLabel, *_p12_validFrom, *_p12_validUntil,
*_p12_serialNum, *_p12_certState;
TQLabel *_p12_digest;
KComboBox *_p12_chain;
TQMultiLineEdit *_p12_pubkey, *_p12_sig;
KSSLCertBox *_p12_subject, *_p12_issuer;
// for the CA widget
TQLabel *_ca_filenameLabel, *_ca_validFrom, *_ca_validUntil,
*_ca_serialNum, *_ca_certState;
TQLabel *_ca_digest;
TQMultiLineEdit *_ca_pubkey, *_ca_sig;
KSSLCertBox *_ca_subject, *_ca_issuer;
// The rest
KInstance *_instance;
TQButton *_import, *_save, *_done, *_launch, *_importAll;
// Store the pointer to the current item
KSSLPKCS12 *_p12;
KSSLCertificate *_ca;
TQTabWidget *_tabs;
TQGridLayout *_baseGrid;
KSSLSigners *_signers;
bool _silentImport;
TQString _curName;
private:
KCertPartPrivate *d;
void displayPKCS12();
};
#endif