diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-02-20 19:07:41 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-02-27 11:17:39 +0100 |
commit | 9cc15d39eb5257f05d3e6633d46a5a428f417917 (patch) | |
tree | e70768c2e8094676d934493291cc14c8f0733cc0 | |
parent | c8969dbf8068d7e930fe1f556e1ff3c899c61cc2 (diff) | |
download | NetworkManager-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.c | 10 | ||||
-rw-r--r-- | clients/tui/nmt-page-bridge.c | 18 | ||||
-rw-r--r-- | clients/tui/nmt-page-team.c | 10 |
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; } |