[libnma] cert-chooser: add NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS
- From: Lubomir Rintel <lkundrak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libnma] cert-chooser: add NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS
- Date: Tue, 18 Jan 2022 18:13:49 +0000 (UTC)
commit 12d3830264524cb8b68475a003663e77512e618a
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.
https://gitlab.gnome.org/GNOME/libnma/-/merge_requests/20
src/nma-cert-chooser.c | 11 ++++++++++-
src/nma-cert-chooser.h | 10 ++++++----
src/tests/cert-chooser.c | 4 ++++
3 files changed, 20 insertions(+), 5 deletions(-)
---
diff --git a/src/nma-cert-chooser.c b/src/nma-cert-chooser.c
index ca4f336f..37c4533d 100644
--- a/src/nma-cert-chooser.c
+++ b/src/nma-cert-chooser.c
@@ -932,6 +932,14 @@ constructed (GObject *object)
if (priv->flags & NMA_CERT_CHOOSER_FLAG_CERT)
gtk_widget_hide (priv->show_password);
}
+
+ 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
@@ -1006,7 +1014,8 @@ 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,
+ | NMA_CERT_CHOOSER_FLAG_PEM
+ | NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS,
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..7e4c23f1 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 (Since: 1.8.34)
*
* 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 = 0x0,
+ NMA_CERT_CHOOSER_FLAG_CERT = 0x1,
+ NMA_CERT_CHOOSER_FLAG_PASSWORDS = 0x2,
+ NMA_CERT_CHOOSER_FLAG_PEM = 0x4,
+ NMA_CERT_CHOOSER_FLAG_NO_PASSWORDS = 0x8,
} 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]