aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/ExportKeyPackageDialog.h
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-01-03 17:25:59 +0000
committerSaturneric <[email protected]>2022-01-03 17:25:59 +0000
commitc20c7b9bb81a09d54b288517092fe356bb808de4 (patch)
tree625db0ac06fdf95d5e886ab558e9d240f47730d1 /src/ui/widgets/ExportKeyPackageDialog.h
parent<fixed, refactor>(ui): Enhanced sending email function. (diff)
downloadGpgFrontend-c20c7b9bb81a09d54b288517092fe356bb808de4.tar.gz
GpgFrontend-c20c7b9bb81a09d54b288517092fe356bb808de4.zip
<feature, refactor>(core, ui): Key package generate.
1. refactor GpgKeyImportExporter to meet with key package generation. 2. add ExportKeyPackageDialog. 3. add Qt AES ability. 4. refactor Key List to provide menu ability control. 5. add check all and uncheck all ability to key list menu.
Diffstat (limited to 'src/ui/widgets/ExportKeyPackageDialog.h')
-rw-r--r--src/ui/widgets/ExportKeyPackageDialog.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ui/widgets/ExportKeyPackageDialog.h b/src/ui/widgets/ExportKeyPackageDialog.h
new file mode 100644
index 00000000..a254b453
--- /dev/null
+++ b/src/ui/widgets/ExportKeyPackageDialog.h
@@ -0,0 +1,55 @@
+/**
+ * This file is part of GpgFrontend.
+ *
+ * GpgFrontend 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#ifndef GPGFRONTEND_EXPORTKEYPACKAGEDIALOG_H
+#define GPGFRONTEND_EXPORTKEYPACKAGEDIALOG_H
+
+#include "GpgFrontendUI.h"
+
+class Ui_exportKeyPackageDialog;
+
+namespace GpgFrontend::UI {
+
+class ExportKeyPackageDialog : public QDialog {
+ Q_OBJECT
+
+ public:
+ explicit ExportKeyPackageDialog(KeyIdArgsListPtr key_ids, QWidget* parent);
+
+ std::string generate_passphrase(const int len);
+
+ private:
+ std::shared_ptr<Ui_exportKeyPackageDialog> ui;
+ KeyIdArgsListPtr key_ids_;
+
+ std::random_device rd;
+ std::mt19937 mt;
+
+ std::string passphrase_;
+
+ void generate_key_package_name();
+};
+} // namespace GpgFrontend::UI
+
+#endif // GPGFRONTEND_EXPORTKEYPACKAGEDIALOG_H