mirror of
https://invent.kde.org/graphics/okular
synced 2024-11-05 18:34:53 +00:00
a234a902dc
This is a squash of the original branch It also contains fixes/rework from Albert Astals Cid If you're interested in its history have a look at the gsoc2018_digitalsignature branch The poppler dependency situation is: * With 0.51 you get most signature information * With 0.68 you also get signature location/reason information * With 0.73 you also get signature certificate information
76 lines
2.3 KiB
C++
76 lines
2.3 KiB
C++
/***************************************************************************
|
|
* Copyright (C) 2018 by Chinmoy Ranjan Pradhan <chinmoyrp65@gmail.com> *
|
|
* *
|
|
* 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 OKULAR_CERTIFICATEVIEWER_H
|
|
#define OKULAR_CERTIFICATEVIEWER_H
|
|
|
|
#include <QVector>
|
|
#include <QAbstractTableModel>
|
|
#include <KPageDialog>
|
|
|
|
#include "core/signatureutils.h"
|
|
|
|
class QTextEdit;
|
|
|
|
namespace Okular {
|
|
class CertificateInfo;
|
|
}
|
|
|
|
class CertificateModel : public QAbstractTableModel
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit CertificateModel( const Okular::CertificateInfo &certInfo, QObject * parent = nullptr );
|
|
|
|
enum {
|
|
PropertyKeyRole = Qt::UserRole,
|
|
PropertyVisibleValueRole
|
|
};
|
|
|
|
enum Property {
|
|
Version,
|
|
SerialNumber,
|
|
Issuer,
|
|
IssuedOn,
|
|
ExpiresOn,
|
|
Subject,
|
|
PublicKey,
|
|
KeyUsage
|
|
};
|
|
Q_ENUM(Property)
|
|
|
|
int columnCount( const QModelIndex &parent = QModelIndex() ) const override;
|
|
int rowCount( const QModelIndex &parent = QModelIndex() ) const override;
|
|
QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const override;
|
|
QVariant headerData( int section, Qt::Orientation orientation, int role ) const override;
|
|
|
|
private:
|
|
QVector< Property > m_certificateProperties;
|
|
const Okular::CertificateInfo &m_certificateInfo;
|
|
};
|
|
|
|
class CertificateViewer : public KPageDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
CertificateViewer( const Okular::CertificateInfo &certInfo, QWidget *parent );
|
|
|
|
private Q_SLOTS:
|
|
void updateText( const QModelIndex &index );
|
|
void exportCertificate();
|
|
|
|
private:
|
|
QTextEdit *m_propertyText;
|
|
CertificateModel *m_certificateModel;
|
|
const Okular::CertificateInfo &m_certificateInfo;
|
|
};
|
|
|
|
#endif
|