mirror of
https://github.com/chris2511/xca.git
synced 2026-09-12 19:51:05 +05:00
74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
/* vi: set sw=4 ts=4:
|
|
*
|
|
* Copyright (C) 2014 Christian Hohnstaedt.
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef __EXPORTDIALOG_H
|
|
#define __EXPORTDIALOG_H
|
|
|
|
#include "ui_ExportDialog.h"
|
|
#include "lib/pki_base.h"
|
|
|
|
class QPixmap;
|
|
|
|
class exportType {
|
|
public:
|
|
enum etype { Separator, PEM, PEM_chain, PEM_unrevoked, PEM_all,
|
|
DER, PKCS7, PKCS7_chain, PKCS7_unrevoked, PKCS7_all,
|
|
PKCS12, PKCS12_chain, PEM_cert_key, PEM_cert_pk8,
|
|
PEM_key, PEM_private, PEM_private_encrypt, DER_private,
|
|
DER_key, PKCS8, PKCS8_encrypt, SSH2_public,
|
|
PEM_selected, PKCS7_selected, Index, vcalendar, vcalendar_ca,
|
|
PVK_private, PVK_encrypt, ETYPE_max };
|
|
enum etype type;
|
|
QString desc;
|
|
QString extension;
|
|
exportType(enum etype t, QString e, QString d) {
|
|
type = t; extension = e; desc = d;
|
|
}
|
|
exportType() { type = Separator; }
|
|
bool isPEM() const {
|
|
switch (type) {
|
|
case PEM:
|
|
case PEM_chain:
|
|
case PEM_unrevoked:
|
|
case PEM_all:
|
|
case PEM_cert_key:
|
|
case PEM_cert_pk8:
|
|
case PEM_key:
|
|
case PEM_private:
|
|
case PEM_private_encrypt:
|
|
case PEM_selected:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
};
|
|
Q_DECLARE_METATYPE(exportType);
|
|
|
|
class ExportDialog: public QDialog, public Ui::ExportDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
protected:
|
|
QString filter;
|
|
QVector<QString> help;
|
|
|
|
public:
|
|
ExportDialog(QWidget *mw, const QString &title, const QString &filt,
|
|
pki_base *pki, const QPixmap &img, QList<exportType> types);
|
|
static bool mayWriteFile(const QString &fname);
|
|
enum exportType::etype type();
|
|
|
|
public slots:
|
|
void on_fileBut_clicked();
|
|
void on_exportFormat_activated(int);
|
|
void on_exportFormat_highlighted(int index);
|
|
void accept();
|
|
};
|
|
|
|
#endif
|