aboutsummaryrefslogtreecommitdiffstats
path: root/include/ui/keypair_details/KeyNewUIDDialog.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/ui/keypair_details/KeyNewUIDDialog.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/ui/keypair_details/KeyNewUIDDialog.h b/include/ui/keypair_details/KeyNewUIDDialog.h
new file mode 100644
index 00000000..b6e56a0d
--- /dev/null
+++ b/include/ui/keypair_details/KeyNewUIDDialog.h
@@ -0,0 +1,46 @@
+//
+// Created by eric on 2021/5/28.
+//
+
+#ifndef GPGFRONTEND_KEYNEWUIDDIALOG_H
+#define GPGFRONTEND_KEYNEWUIDDIALOG_H
+
+#include "GpgFrontend.h"
+
+#include "gpg/GpgContext.h"
+
+class KeyNewUIDDialog : public QDialog {
+Q_OBJECT
+
+public:
+
+ KeyNewUIDDialog(GpgME::GpgContext *ctx, const GpgKey &key ,QWidget *parent = nullptr);
+
+
+private slots:
+
+ void slotCreateNewUID();
+
+private:
+
+ GpgME::GpgContext *mCtx;
+ const GpgKey &mKey;
+
+ QLineEdit *name{};
+ QLineEdit *email{};
+ QLineEdit *comment{};
+
+ QPushButton *createButton{};
+
+ QStringList errorMessages;
+ QLabel *errorLabel{};
+
+ QRegularExpression re_email{
+ R"((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))"};
+
+ bool check_email_address(const QString &str);
+
+};
+
+
+#endif //GPGFRONTEND_KEYNEWUIDDIALOG_H