diff options
Diffstat (limited to '')
-rw-r--r-- | include/ui/keypair_details/KeyNewUIDDialog.h | 46 |
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 |