File indexing completed on 2024-06-16 04:56:16

0001 /*  view/netkeywidget.h
0002 
0003     This file is part of Kleopatra, the KDE keymanager
0004     SPDX-FileCopyrightText: 2017 Intevation GmbH
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 #pragma once
0009 
0010 #include <QWidget>
0011 #include <gpgme++/error.h>
0012 
0013 #include <string>
0014 
0015 class QLabel;
0016 class QPushButton;
0017 class QScrollArea;
0018 
0019 namespace Kleo
0020 {
0021 class NullPinWidget;
0022 class KeyTreeView;
0023 
0024 namespace SmartCard
0025 {
0026 class NetKeyCard;
0027 } // namespace SmartCard
0028 
0029 class NetKeyWidget : public QWidget
0030 {
0031     Q_OBJECT
0032 public:
0033     explicit NetKeyWidget(QWidget *parent = nullptr);
0034     ~NetKeyWidget() override;
0035 
0036     void setCard(const SmartCard::NetKeyCard *card);
0037 
0038 private:
0039     void doChangePin(const std::string &keyRef);
0040     void createKeyFromCardKeys();
0041     void createCSR();
0042 
0043 private:
0044     std::string mSerialNumber;
0045     QLabel *mSerialNumberLabel = nullptr;
0046     QLabel *mVersionLabel = nullptr;
0047     QLabel *mLearnKeysLabel = nullptr;
0048     QLabel *mErrorLabel = nullptr;
0049     NullPinWidget *mNullPinWidget = nullptr;
0050     QPushButton *mLearnKeysBtn = nullptr;
0051     QPushButton *mKeyForCardKeysButton = nullptr;
0052     QPushButton *mCreateCSRButton = nullptr;
0053     QPushButton *mChangeNKSPINBtn = nullptr;
0054     QPushButton *mChangeSigGPINBtn = nullptr;
0055     KeyTreeView *mTreeView = nullptr;
0056     QScrollArea *mArea = nullptr;
0057 };
0058 } // namespace Kleo