[libnma/lr-no-passwd] cert-chooser: add NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS
- From: Lubomir Rintel <lkundrak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libnma/lr-no-passwd] cert-chooser: add NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS
- Date: Mon, 17 Jan 2022 09:34:48 +0000 (UTC)
commit e15817aa2367b3a088ba19d84e1878d35671c2ce
Author: Lubomir Rintel <lkundrak v3 sk>
Date: Mon Jan 17 09:21:43 2022 +0100
cert-chooser: add NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS
Some VPN plugins want certificates, but not support password protected
ones.
src/nma-cert-chooser.c | 10 +++++++++-
src/nma-cert-chooser.h | 10 ++++++----
src/tests/cert-chooser.c | 4 ++++
3 files changed, 19 insertions(+), 5 deletions(-)
---
diff --git a/src/nma-cert-chooser.c b/src/nma-cert-chooser.c
index 8eec3301..2184ba56 100644
--- a/src/nma-cert-chooser.c
+++ b/src/nma-cert-chooser.c
@@ -930,6 +930,14 @@ constructed (GObject *object)
gtk_widget_hide (priv->cert_password);
gtk_widget_hide (priv->cert_password_label);
}
+
+ if (priv->flags & NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS) {
+ gtk_widget_hide (priv->cert_password);
+ gtk_widget_hide (priv->cert_password_label);
+ gtk_widget_hide (priv->key_password);
+ gtk_widget_hide (priv->key_password_label);
+ gtk_widget_hide (priv->show_password);
+ }
}
static void
@@ -1004,7 +1012,7 @@ nma_cert_chooser_class_init (NMACertChooserClass *klass)
NMA_CERT_CHOOSER_FLAG_NONE,
NMA_CERT_CHOOSER_FLAG_CERT
| NMA_CERT_CHOOSER_FLAG_PASSWORDS
- | NMA_CERT_CHOOSER_FLAG_PEM,
+ | (2*NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS-1),
NMA_CERT_CHOOSER_FLAG_NONE,
G_PARAM_WRITABLE
| G_PARAM_CONSTRUCT_ONLY
diff --git a/src/nma-cert-chooser.h b/src/nma-cert-chooser.h
index c4c0ad54..c0aa4244 100644
--- a/src/nma-cert-chooser.h
+++ b/src/nma-cert-chooser.h
@@ -22,6 +22,7 @@ G_BEGIN_DECLS
* @NMA_CERT_CHOOSER_FLAG_CERT: Only pick a certificate, not a key
* @NMA_CERT_CHOOSER_FLAG_PASSWORDS: Hide all controls but the secrets entries
* @NMA_CERT_CHOOSER_FLAG_PEM: Ensure the chooser only selects regular PEM files
+ * @NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS: Do not show password entries
*
* Flags that controls what is the certificate chooser button able to pick.
* Currently only local files are supported, but might be extended to use URIs,
@@ -31,10 +32,11 @@ G_BEGIN_DECLS
*/
NMA_AVAILABLE_IN_1_8
typedef enum {
- NMA_CERT_CHOOSER_FLAG_NONE = 0x0,
- NMA_CERT_CHOOSER_FLAG_CERT = 0x1,
- NMA_CERT_CHOOSER_FLAG_PASSWORDS = 0x2,
- NMA_CERT_CHOOSER_FLAG_PEM = 0x4,
+ NMA_CERT_CHOOSER_FLAG_NONE = 0x00,
+ NMA_CERT_CHOOSER_FLAG_CERT = 0x01,
+ NMA_CERT_CHOOSER_FLAG_PASSWORDS = 0x02,
+ NMA_CERT_CHOOSER_FLAG_PEM = 0x04,
+ NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS = 0x10,
} NMACertChooserFlags;
#define NMA_TYPE_CERT_CHOOSER (nma_cert_chooser_get_type ())
diff --git a/src/tests/cert-chooser.c b/src/tests/cert-chooser.c
index 5ee251b7..c5e5649d 100644
--- a/src/tests/cert-chooser.c
+++ b/src/tests/cert-chooser.c
@@ -72,6 +72,10 @@ main (int argc, char *argv[])
gtk_widget_show (widget);
gtk_box_append (content, widget);
+ widget = nma_cert_chooser_new ("FLAG_NO_PASSWORDS", NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS);
+ gtk_widget_show (widget);
+ gtk_box_append (content, widget);
+
loop = g_main_loop_new (NULL, FALSE);
g_signal_connect_swapped (dialog, "response", G_CALLBACK (g_main_loop_quit), loop);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]