summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2017-02-20 19:07:41 +0100
committerLubomir Rintel <lkundrak@v3.sk>2017-02-27 11:17:39 +0100
commit9cc15d39eb5257f05d3e6633d46a5a428f417917 (patch)
treee70768c2e8094676d934493291cc14c8f0733cc0
parentc8969dbf8068d7e930fe1f556e1ff3c899c61cc2 (diff)
downloadNetworkManager-9cc15d39eb5257f05d3e6633d46a5a428f417917.tar.gz
tui: recommit bond, bridge and team slaves on master save
The ifcfg-rh plugin may want to update its MASTER= key accordingly for better compatibility with the legacy network service.
-rw-r--r--clients/tui/nmt-page-bond.c10
-rw-r--r--clients/tui/nmt-page-bridge.c18
-rw-r--r--clients/tui/nmt-page-team.c10
3 files changed, 38 insertions, 0 deletions
diff --git a/clients/tui/nmt-page-bond.c b/clients/tui/nmt-page-bond.c
index 259ecfc163..48070dbf17 100644
--- a/clients/tui/nmt-page-bond.c
+++ b/clients/tui/nmt-page-bond.c
@@ -424,11 +424,21 @@ nmt_page_bond_constructed (GObject *object)
}
static void
+nmt_page_bond_saved (NmtEditorPage *editor_page)
+{
+ NmtPageBondPrivate *priv = NMT_PAGE_BOND_GET_PRIVATE (editor_page);
+
+ nmt_edit_connection_list_recommit (NMT_EDIT_CONNECTION_LIST (priv->slaves));
+}
+
+static void
nmt_page_bond_class_init (NmtPageBondClass *bond_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (bond_class);
+ NmtEditorPageClass *editor_page_class = NMT_EDITOR_PAGE_CLASS (bond_class);
g_type_class_add_private (bond_class, sizeof (NmtPageBondPrivate));
object_class->constructed = nmt_page_bond_constructed;
+ editor_page_class->saved = nmt_page_bond_saved;
}
diff --git a/clients/tui/nmt-page-bridge.c b/clients/tui/nmt-page-bridge.c
index b5eb9ec88e..08526db420 100644
--- a/clients/tui/nmt-page-bridge.c
+++ b/clients/tui/nmt-page-bridge.c
@@ -30,6 +30,12 @@
G_DEFINE_TYPE (NmtPageBridge, nmt_page_bridge, NMT_TYPE_EDITOR_PAGE_DEVICE)
+#define NMT_PAGE_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NMT_TYPE_PAGE_BRIDGE, NmtPageBridgePrivate))
+
+typedef struct {
+ NmtSlaveList *slaves;
+} NmtPageBridgePrivate;
+
NmtEditorPage *
nmt_page_bridge_new (NMConnection *conn,
NmtDeviceEntry *deventry)
@@ -58,6 +64,7 @@ static void
nmt_page_bridge_constructed (GObject *object)
{
NmtPageBridge *bridge = NMT_PAGE_BRIDGE (object);
+ NmtPageBridgePrivate *priv = NMT_PAGE_BRIDGE_GET_PRIVATE (bridge);
NmtEditorSection *section;
NmtEditorGrid *grid;
NMSettingBridge *s_bridge;
@@ -80,6 +87,7 @@ nmt_page_bridge_constructed (GObject *object)
widget = nmt_slave_list_new (conn, bridge_connection_type_filter, bridge);
nmt_editor_grid_append (grid, NULL, widget, NULL);
+ priv->slaves = NMT_SLAVE_LIST (widget);
widget = nmt_newt_entry_numeric_new (10, 0, 1000000);
g_object_bind_property (s_bridge, NM_SETTING_BRIDGE_AGEING_TIME,
@@ -145,9 +153,19 @@ nmt_page_bridge_constructed (GObject *object)
}
static void
+nmt_page_bridge_saved (NmtEditorPage *editor_page)
+{
+ NmtPageBridgePrivate *priv = NMT_PAGE_BRIDGE_GET_PRIVATE (editor_page);
+
+ nmt_edit_connection_list_recommit (NMT_EDIT_CONNECTION_LIST (priv->slaves));
+}
+
+static void
nmt_page_bridge_class_init (NmtPageBridgeClass *bridge_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (bridge_class);
+ NmtEditorPageClass *editor_page_class = NMT_EDITOR_PAGE_CLASS (bridge_class);
object_class->constructed = nmt_page_bridge_constructed;
+ editor_page_class->saved = nmt_page_bridge_saved;
}
diff --git a/clients/tui/nmt-page-team.c b/clients/tui/nmt-page-team.c
index d7c4c42597..2523bd85d9 100644
--- a/clients/tui/nmt-page-team.c
+++ b/clients/tui/nmt-page-team.c
@@ -180,11 +180,21 @@ nmt_page_team_constructed (GObject *object)
}
static void
+nmt_page_team_saved (NmtEditorPage *editor_page)
+{
+ NmtPageTeamPrivate *priv = NMT_PAGE_TEAM_GET_PRIVATE (editor_page);
+
+ nmt_edit_connection_list_recommit (NMT_EDIT_CONNECTION_LIST (priv->slaves));
+}
+
+static void
nmt_page_team_class_init (NmtPageTeamClass *team_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (team_class);
+ NmtEditorPageClass *editor_page_class = NMT_EDITOR_PAGE_CLASS (team_class);
g_type_class_add_private (team_class, sizeof (NmtPageTeamPrivate));
object_class->constructed = nmt_page_team_constructed;
+ editor_page_class->saved = nmt_page_team_saved;
}