[network-manager-libreswan/lr/ikev2: 3/3] properties: add IKEv2 selector
- From: Lubomir Rintel <lkundrak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-libreswan/lr/ikev2: 3/3] properties: add IKEv2 selector
- Date: Mon, 25 Jan 2016 18:56:47 +0000 (UTC)
commit 90ba7561aba457dd3b5da5c0f9283e78a597c6a7
Author: Lubomir Rintel <lkundrak v3 sk>
Date: Mon Jan 25 19:49:07 2016 +0100
properties: add IKEv2 selector
properties/nm-libreswan-dialog.ui | 55 ++++++++++++++++++++++++++----------
properties/nm-libreswan.c | 57 +++++++++++++++++++++++++++++++++---
2 files changed, 92 insertions(+), 20 deletions(-)
---
diff --git a/properties/nm-libreswan-dialog.ui b/properties/nm-libreswan-dialog.ui
index b1bb64d..5fbff6f 100644
--- a/properties/nm-libreswan-dialog.ui
+++ b/properties/nm-libreswan-dialog.ui
@@ -52,21 +52,6 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="show_passwords_checkbutton">
- <property name="label" translatable="yes">Show passwords</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">5</property>
- </packing>
- </child>
- <child>
<object class="GtkEntry" id="secret_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -177,6 +162,46 @@
</packing>
</child>
<child>
+ <object class="GtkSwitch" id="ikev2_switch">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="halign">start</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="show_passwords_checkbutton">
+ <property name="label" translatable="yes">Show passwords</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">IKEv_2:</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ </packing>
+ </child>
+ <child>
<placeholder/>
</child>
</object>
diff --git a/properties/nm-libreswan.c b/properties/nm-libreswan.c
index c3dc988..262afc8 100644
--- a/properties/nm-libreswan.c
+++ b/properties/nm-libreswan.c
@@ -167,12 +167,43 @@ show_toggled_cb (GtkCheckButton *button, LibreswanEditor *self)
g_assert (widget);
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "group_password_entry"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "secret_entry"));
g_assert (widget);
gtk_entry_set_visibility (GTK_ENTRY (widget), visible);
}
static void
+ikev2_toggled_cb (GtkSwitch *swtch, gboolean state, LibreswanEditor *self)
+{
+ LibreswanEditorPrivate *priv = LIBRESWAN_EDITOR_GET_PRIVATE (self);
+ GtkWidget *widget;
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "group_label"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "group_entry"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_label"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_entry"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_password_label"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_password_entry"));
+ g_assert (widget);
+ gtk_widget_set_sensitive (widget, !state);
+}
+
+static void
password_storage_changed_cb (GObject *entry,
GParamSpec *pspec,
gpointer user_data)
@@ -276,7 +307,7 @@ init_editor_plugin (LibreswanEditor *self,
NM_LIBRESWAN_XAUTH_PASSWORD,
new_connection);
setup_password_widget (self,
- "group_password_entry",
+ "secret_entry",
s_vpn,
NM_LIBRESWAN_PSK_VALUE,
new_connection);
@@ -290,7 +321,7 @@ init_editor_plugin (LibreswanEditor *self,
s_vpn,
NM_LIBRESWAN_PSK_VALUE,
NM_LIBRESWAN_PSK_INPUT_MODES,
- "group_password_entry");
+ "secret_entry");
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "user_entry"));
g_return_val_if_fail (widget != NULL, FALSE);
@@ -340,6 +371,17 @@ init_editor_plugin (LibreswanEditor *self,
(GCallback) show_toggled_cb,
self);
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ikev2_switch"));
+ g_return_val_if_fail (widget != NULL, FALSE);
+ g_signal_connect (G_OBJECT (widget), "state-set",
+ (GCallback) ikev2_toggled_cb,
+ self);
+ if (s_vpn) {
+ value = nm_setting_vpn_get_data_item (s_vpn, NM_LIBRESWAN_IKEV2);
+ gtk_switch_set_state (GTK_SWITCH (widget), g_strcmp0 (value, "yes") == 0);
+ }
+ g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (stuff_changed_cb), self);
+
if (s_vpn) {
const char *type = nm_setting_vpn_get_service_type (s_vpn);
priv->openswan = (g_strcmp0 (type, NM_VPN_SERVICE_TYPE_OPENSWAN) == 0);
@@ -448,6 +490,11 @@ update_connection (NMVpnEditor *iface,
if (str && strlen (str))
nm_setting_vpn_add_data_item (s_vpn, NM_LIBRESWAN_DOMAIN, str);
+ /* IKEv2 */
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "ikev2_switch"));
+ if (gtk_switch_get_state (GTK_SWITCH (widget)))
+ nm_setting_vpn_add_data_item (s_vpn, NM_LIBRESWAN_IKEV2, "yes");
+
save_one_password (s_vpn,
priv->builder,
"user_password_entry",
@@ -455,7 +502,7 @@ update_connection (NMVpnEditor *iface,
NM_LIBRESWAN_XAUTH_PASSWORD_INPUT_MODES);
save_one_password (s_vpn,
priv->builder,
- "group_password_entry",
+ "secret_entry",
NM_LIBRESWAN_PSK_VALUE,
NM_LIBRESWAN_PSK_INPUT_MODES);
@@ -542,7 +589,7 @@ dispose (GObject *object)
g_signal_handlers_disconnect_by_func (G_OBJECT (widget),
(GCallback) password_storage_changed_cb,
plugin);
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "group_password_entry"));
+ widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "secret_entry"));
g_signal_handlers_disconnect_by_func (G_OBJECT (widget),
(GCallback) password_storage_changed_cb,
plugin);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]