GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
SubkeyGenerateDialog.h
1 
27 #ifndef GPGFRONTEND_SUBKEYGENERATEDIALOG_H
28 #define GPGFRONTEND_SUBKEYGENERATEDIALOG_H
29 
30 #include "core/GpgContext.h"
31 #include "core/GpgGenKeyInfo.h"
32 #include "ui/GpgFrontendUI.h"
33 #include "ui/dialog/GeneralDialog.h"
34 
35 namespace GpgFrontend::UI {
41  Q_OBJECT
42 
43  public:
50  explicit SubkeyGenerateDialog(const KeyId& key_id, QWidget* parent);
51 
52  signals:
57  void SignalSubKeyGenerated();
58 
59  private:
60  GpgKey key_;
61 
62  std::unique_ptr<GenKeyInfo> gen_key_info_ =
63  std::make_unique<GenKeyInfo>(true);
64 
65  QGroupBox* key_usage_group_box_{};
66  QDialogButtonBox* button_box_;
67  QLabel* error_label_{};
68  QSpinBox* key_size_spin_box_{};
69  QComboBox* key_type_combo_box_{};
70  QDateTimeEdit* date_edit_{};
71  QCheckBox* expire_check_box_{};
73  QLineEdit* passphrase_edit_{};
74 
75  std::vector<QCheckBox*> key_usage_check_boxes_;
76  QDateTime max_date_time_;
77  bool use_pinentry_ = false;
78 
84  QGroupBox* create_key_usage_group_box();
85 
91  QGroupBox* create_basic_info_group_box();
96  void set_signal_slot();
97 
101  void refresh_widgets_state();
102 
103  private slots:
104 
110 
115  void slot_key_gen_accept();
116 
122  void slot_encryption_box_changed(int state);
123 
129  void slot_signing_box_changed(int state);
130 
136  void slot_certification_box_changed(int state);
137 
143  void slot_authentication_box_changed(int state);
144 
150  void slot_activated_key_type(int index);
151 };
152 
153 } // namespace GpgFrontend::UI
154 
155 #endif // GPGFRONTEND_SUBKEYGENERATEDIALOG_H
Definition: GpgKey.h:43
Definition: GeneralDialog.h:35
Definition: SubkeyGenerateDialog.h:40
QCheckBox * no_pass_phrase_check_box_
Checkbox, if key should expire.
Definition: SubkeyGenerateDialog.h:72
QGroupBox * create_basic_info_group_box()
Create a basic info group box object.
Definition: SubkeyGenerateDialog.cpp:136
void slot_authentication_box_changed(int state)
Definition: SubkeyGenerateDialog.cpp:382
void slot_encryption_box_changed(int state)
Definition: SubkeyGenerateDialog.cpp:358
void slot_expire_box_changed()
Definition: SubkeyGenerateDialog.cpp:216
void refresh_widgets_state()
Definition: SubkeyGenerateDialog.cpp:224
void slot_activated_key_type(int index)
Definition: SubkeyGenerateDialog.cpp:390
std::vector< QCheckBox * > key_usage_check_boxes_
ENCR, SIGN, CERT, AUTH.
Definition: SubkeyGenerateDialog.h:75
QLabel * error_label_
Label containing error message.
Definition: SubkeyGenerateDialog.h:67
void slot_certification_box_changed(int state)
Definition: SubkeyGenerateDialog.cpp:374
SubkeyGenerateDialog(const KeyId &key_id, QWidget *parent)
Construct a new Subkey Generate Dialog object.
Definition: SubkeyGenerateDialog.cpp:40
void set_signal_slot()
Set the signal slot object.
Definition: SubkeyGenerateDialog.cpp:188
QGroupBox * create_key_usage_group_box()
Create a key usage group box object.
Definition: SubkeyGenerateDialog.cpp:103
QDateTimeEdit * date_edit_
Date edit for expiration date.
Definition: SubkeyGenerateDialog.h:70
QSpinBox * key_size_spin_box_
Spinbox for the keys size (in bit)
Definition: SubkeyGenerateDialog.h:68
void slot_key_gen_accept()
Definition: SubkeyGenerateDialog.cpp:271
QDialogButtonBox * button_box_
Box for standard buttons.
Definition: SubkeyGenerateDialog.h:66
QComboBox * key_type_combo_box_
Combobox for Key tpe.
Definition: SubkeyGenerateDialog.h:69
void slot_signing_box_changed(int state)
Definition: SubkeyGenerateDialog.cpp:366
QCheckBox * expire_check_box_
Checkbox, if key should expire.
Definition: SubkeyGenerateDialog.h:71
Definition: FileReadTask.cpp:29