[network-manager-applet/f18] Update to git snapshot (git20121211) without bridges

Jirka Klimes jklimes at fedoraproject.org
Tue Dec 11 08:34:37 UTC 2012


commit f56765df45065d37201dd42f63f9bb54db08143c
Author: Jiří Klimeš <jklimes at redhat.com>
Date:   Tue Dec 11 09:02:42 2012 +0100

    Update to git snapshot (git20121211) without bridges
    
    Bridge support is not present in F18 yet.

 .gitignore                  |    1 +
 editor-revert-bridges.patch | 1480 +++++++++++++++++++++++++++++++++++++++++++
 network-manager-applet.spec |    9 +-
 sources                     |    2 +-
 4 files changed, 1489 insertions(+), 3 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 848e5db..0db862e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 /network-manager-applet-0.9.7.0.git20120820.tar.bz2
 /network-manager-applet-0.9.7.0.git20121004.tar.bz2
 /network-manager-applet-0.9.7.0.git20121016.tar.bz2
+/network-manager-applet-0.9.7.0.git20121211.tar.bz2
diff --git a/editor-revert-bridges.patch b/editor-revert-bridges.patch
new file mode 100644
index 0000000..128a423
--- /dev/null
+++ b/editor-revert-bridges.patch
@@ -0,0 +1,1480 @@
+From 50de488025c3c42aa3992f24baa758cd506333a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes at redhat.com>
+Date: Tue, 11 Dec 2012 08:56:14 +0100
+Subject: [PATCH] Revert "connection-editor: add support for bridges"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit feeeb91176445b7ce4015db1280699ac2de8a5fb.
+
+Signed-off-by: Jiří Klimeš <jklimes at redhat.com>
+---
+ po/POTFILES.in                               |   2 -
+ src/connection-editor/Makefile.am            |   6 -
+ src/connection-editor/ce-page-bridge-port.ui | 115 -------
+ src/connection-editor/ce-page-bridge.ui      | 471 ---------------------------
+ src/connection-editor/new-connection.c       |   7 -
+ src/connection-editor/nm-connection-editor.c |  11 -
+ src/connection-editor/nm-connection-list.c   |   9 +-
+ src/connection-editor/page-bridge-port.c     | 172 ----------
+ src/connection-editor/page-bridge-port.h     |  58 ----
+ src/connection-editor/page-bridge.c          | 348 --------------------
+ src/connection-editor/page-bridge.h          |  62 ----
+ src/connection-editor/page-master.c          |  13 -
+ src/connection-editor/page-master.h          |   1 -
+ 13 files changed, 3 insertions(+), 1272 deletions(-)
+ delete mode 100644 src/connection-editor/ce-page-bridge-port.ui
+ delete mode 100644 src/connection-editor/ce-page-bridge.ui
+ delete mode 100644 src/connection-editor/page-bridge-port.c
+ delete mode 100644 src/connection-editor/page-bridge-port.h
+ delete mode 100644 src/connection-editor/page-bridge.c
+ delete mode 100644 src/connection-editor/page-bridge.h
+
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 402b5d0..b2883b3 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -42,8 +42,6 @@ src/connection-editor/nm-connection-editor.c
+ src/connection-editor/nm-connection-list.c
+ src/connection-editor/page-8021x-security.c
+ src/connection-editor/page-bond.c
+-src/connection-editor/page-bridge.c
+-src/connection-editor/page-bridge-port.c
+ src/connection-editor/page-dsl.c
+ src/connection-editor/page-ethernet.c
+ src/connection-editor/page-general.c
+diff --git a/src/connection-editor/Makefile.am b/src/connection-editor/Makefile.am
+index 773a559..742a7da 100644
+--- a/src/connection-editor/Makefile.am
++++ b/src/connection-editor/Makefile.am
+@@ -56,10 +56,6 @@ nm_connection_editor_SOURCES = \
+ 	page-master.c \
+ 	page-bond.h \
+ 	page-bond.c \
+-	page-bridge.h \
+-	page-bridge.c \
+-	page-bridge-port.h \
+-	page-bridge-port.c \
+ 	page-vlan.h \
+ 	page-vlan.c \
+ 	vpn-helpers.h \
+@@ -98,8 +94,6 @@ ui_DATA = \
+ 	ce-page-wimax.ui \
+ 	ce-page-infiniband.ui \
+ 	ce-page-bond.ui \
+-	ce-page-bridge.ui \
+-	ce-page-bridge-port.ui \
+ 	ce-page-ip4.ui \
+ 	ce-ip4-routes.ui \
+ 	ce-page-ip6.ui \
+diff --git a/src/connection-editor/ce-page-bridge-port.ui b/src/connection-editor/ce-page-bridge-port.ui
+deleted file mode 100644
+index 28871bd..0000000
+--- a/src/connection-editor/ce-page-bridge-port.ui
++++ /dev/null
+@@ -1,115 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<interface>
+-  <requires lib="gtk+" version="2.16"/>
+-  <object class="GtkTable" id="BridgePortPage">
+-    <property name="visible">True</property>
+-    <property name="can_focus">False</property>
+-    <property name="border_width">12</property>
+-    <property name="n_rows">3</property>
+-    <property name="n_columns">2</property>
+-    <property name="column_spacing">12</property>
+-    <property name="row_spacing">6</property>
+-    <child>
+-      <object class="GtkCheckButton" id="bridge_port_hairpin_mode">
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="receives_default">False</property>
+-        <property name="use_underline">True</property>
+-        <property name="xalign">0</property>
+-        <property name="draw_indicator">True</property>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">2</property>
+-        <property name="bottom_attach">3</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_port_path_cost_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">Path _cost:</property>
+-        <property name="use_underline">True</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">1</property>
+-        <property name="bottom_attach">2</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_port_priority_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Priority:</property>
+-        <property name="use_underline">True</property>
+-      </object>
+-      <packing>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkSpinButton" id="bridge_port_priority">
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="invisible_char">●</property>
+-        <property name="invisible_char_set">True</property>
+-        <property name="adjustment">bridge_port_priority_adjustment</property>
+-        <property name="numeric">True</property>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkSpinButton" id="bridge_port_path_cost">
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="invisible_char">●</property>
+-        <property name="invisible_char_set">True</property>
+-        <property name="adjustment">bridge_port_path_cost_adjustment</property>
+-        <property name="snap_to_ticks">True</property>
+-        <property name="numeric">True</property>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">1</property>
+-        <property name="bottom_attach">2</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_port_hairpin_mode_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Hairpin mode:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">bridge_port_hairpin_mode</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">2</property>
+-        <property name="bottom_attach">3</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_port_path_cost_adjustment">
+-    <property name="lower">1</property>
+-    <property name="upper">65535</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">10</property>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_port_priority_adjustment">
+-    <property name="upper">63</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">1</property>
+-  </object>
+-</interface>
+diff --git a/src/connection-editor/ce-page-bridge.ui b/src/connection-editor/ce-page-bridge.ui
+deleted file mode 100644
+index bc3cd10..0000000
+--- a/src/connection-editor/ce-page-bridge.ui
++++ /dev/null
+@@ -1,471 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<interface>
+-  <requires lib="gtk+" version="2.16"/>
+-  <object class="GtkAdjustment" id="bridge_ageing_time_adjustment">
+-    <property name="upper">4294967296</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">10</property>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_forward_delay_adjustment">
+-    <property name="upper">30</property>
+-    <property name="value">15</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">100</property>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_hello_time_adjustment">
+-    <property name="lower">1</property>
+-    <property name="upper">10</property>
+-    <property name="value">2</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">1</property>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_max_age_adjustment">
+-    <property name="lower">6</property>
+-    <property name="upper">40</property>
+-    <property name="value">6</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">1</property>
+-  </object>
+-  <object class="GtkAdjustment" id="bridge_priority_adjustment">
+-    <property name="upper">65535</property>
+-    <property name="step_increment">1</property>
+-    <property name="page_increment">10</property>
+-  </object>
+-  <object class="GtkListStore" id="master_connections_model">
+-    <columns>
+-      <!-- column-name connection -->
+-      <column type="NMRemoteConnection"/>
+-      <!-- column-name name -->
+-      <column type="gchararray"/>
+-    </columns>
+-  </object>
+-  <object class="GtkTable" id="BridgePage">
+-    <property name="visible">True</property>
+-    <property name="can_focus">False</property>
+-    <property name="border_width">12</property>
+-    <property name="n_rows">9</property>
+-    <property name="n_columns">2</property>
+-    <property name="column_spacing">12</property>
+-    <property name="row_spacing">6</property>
+-    <child>
+-      <object class="GtkLabel" id="master_connections_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">Bridged _connections:</property>
+-        <property name="use_underline">True</property>
+-      </object>
+-      <packing>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">1</property>
+-        <property name="bottom_attach">2</property>
+-        <property name="x_options">GTK_FILL</property>
+-        <property name="y_options"/>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkHBox" id="hbox2">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="spacing">10</property>
+-        <child>
+-          <object class="GtkScrolledWindow" id="scrolledwindow1">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="shadow_type">in</property>
+-            <child>
+-              <object class="GtkTreeView" id="master_connections">
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="model">master_connections_model</property>
+-                <property name="headers_visible">False</property>
+-                <child internal-child="selection">
+-                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+-                </child>
+-                <child>
+-                  <object class="GtkTreeViewColumn" id="master_connection_name">
+-                    <child>
+-                      <object class="GtkCellRendererText" id="master_connection_renderer"/>
+-                      <attributes>
+-                        <attribute name="text">1</attribute>
+-                      </attributes>
+-                    </child>
+-                  </object>
+-                </child>
+-              </object>
+-            </child>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">0</property>
+-          </packing>
+-        </child>
+-        <child>
+-          <object class="GtkButtonBox" id="buttonbox1">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="orientation">vertical</property>
+-            <property name="spacing">10</property>
+-            <property name="layout_style">start</property>
+-            <child>
+-              <object class="GtkButton" id="master_connection_add">
+-                <property name="label">gtk-add</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="receives_default">True</property>
+-                <property name="use_stock">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">True</property>
+-                <property name="position">0</property>
+-              </packing>
+-            </child>
+-            <child>
+-              <object class="GtkButton" id="master_connection_edit">
+-                <property name="label" translatable="yes">_Edit</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="receives_default">True</property>
+-                <property name="use_underline">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">True</property>
+-                <property name="position">1</property>
+-              </packing>
+-            </child>
+-            <child>
+-              <object class="GtkButton" id="master_connection_delete">
+-                <property name="label" translatable="yes">_Delete</property>
+-                <property name="visible">True</property>
+-                <property name="can_focus">True</property>
+-                <property name="receives_default">True</property>
+-                <property name="use_underline">True</property>
+-              </object>
+-              <packing>
+-                <property name="expand">False</property>
+-                <property name="fill">True</property>
+-                <property name="position">2</property>
+-              </packing>
+-            </child>
+-          </object>
+-          <packing>
+-            <property name="expand">False</property>
+-            <property name="fill">False</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-      <packing>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">2</property>
+-        <property name="bottom_attach">3</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_prio">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Priority:</property>
+-        <property name="use_underline">True</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">5</property>
+-        <property name="bottom_attach">6</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="master_interface_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Interface name:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">master_interface</property>
+-      </object>
+-      <packing>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkEntry" id="master_interface">
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="invisible_char">●</property>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_forward_delay_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Forward delay:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">bridge_forward_delay</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">6</property>
+-        <property name="bottom_attach">7</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_hello_time_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Hello time:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">bridge_hello_time</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">7</property>
+-        <property name="bottom_attach">8</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkHBox" id="bridge_forward_delay_box">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="spacing">4</property>
+-        <child>
+-          <object class="GtkSpinButton" id="bridge_forward_delay">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="invisible_char">●</property>
+-            <property name="invisible_char_set">True</property>
+-            <property name="adjustment">bridge_forward_delay_adjustment</property>
+-            <property name="snap_to_ticks">True</property>
+-            <property name="numeric">True</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">0</property>
+-          </packing>
+-        </child>
+-        <child>
+-          <object class="GtkLabel" id="label2">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="xalign">0</property>
+-            <property name="label" translatable="yes">s</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">6</property>
+-        <property name="bottom_attach">7</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkHBox" id="bridge_hello_time_box">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="spacing">4</property>
+-        <child>
+-          <object class="GtkSpinButton" id="bridge_hello_time">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="invisible_char">●</property>
+-            <property name="invisible_char_set">True</property>
+-            <property name="adjustment">bridge_hello_time_adjustment</property>
+-            <property name="snap_to_ticks">True</property>
+-            <property name="numeric">True</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">0</property>
+-          </packing>
+-        </child>
+-        <child>
+-          <object class="GtkLabel" id="label3">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="xalign">0</property>
+-            <property name="label" translatable="yes">s</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">7</property>
+-        <property name="bottom_attach">8</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkCheckButton" id="bridge_stp_checkbox">
+-        <property name="label" translatable="yes">Enable _STP (Spanning Tree Protocol)</property>
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="receives_default">False</property>
+-        <property name="use_underline">True</property>
+-        <property name="xalign">0</property>
+-        <property name="draw_indicator">True</property>
+-      </object>
+-      <packing>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">4</property>
+-        <property name="bottom_attach">5</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkSpinButton" id="bridge_priority">
+-        <property name="visible">True</property>
+-        <property name="can_focus">True</property>
+-        <property name="invisible_char">●</property>
+-        <property name="invisible_char_set">True</property>
+-        <property name="adjustment">bridge_priority_adjustment</property>
+-        <property name="numeric">True</property>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">5</property>
+-        <property name="bottom_attach">6</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_max_age_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Max age:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">bridge_max_age</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">8</property>
+-        <property name="bottom_attach">9</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkHBox" id="bridge_max_age_box">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="spacing">4</property>
+-        <child>
+-          <object class="GtkSpinButton" id="bridge_max_age">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="invisible_char">●</property>
+-            <property name="invisible_char_set">True</property>
+-            <property name="adjustment">bridge_max_age_adjustment</property>
+-            <property name="snap_to_ticks">True</property>
+-            <property name="numeric">True</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">0</property>
+-          </packing>
+-        </child>
+-        <child>
+-          <object class="GtkLabel" id="label1">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="xalign">0</property>
+-            <property name="label" translatable="yes">s</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">8</property>
+-        <property name="bottom_attach">9</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkLabel" id="bridge_ageing_time_label">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="xalign">0</property>
+-        <property name="label" translatable="yes">_Aging time:</property>
+-        <property name="use_underline">True</property>
+-        <property name="mnemonic_widget">bridge_ageing_time</property>
+-      </object>
+-      <packing>
+-        <property name="top_attach">3</property>
+-        <property name="bottom_attach">4</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-    <child>
+-      <object class="GtkHBox" id="bridge_ageing_time_box">
+-        <property name="visible">True</property>
+-        <property name="can_focus">False</property>
+-        <property name="spacing">4</property>
+-        <child>
+-          <object class="GtkSpinButton" id="bridge_ageing_time">
+-            <property name="visible">True</property>
+-            <property name="can_focus">True</property>
+-            <property name="invisible_char">●</property>
+-            <property name="invisible_char_set">True</property>
+-            <property name="adjustment">bridge_ageing_time_adjustment</property>
+-            <property name="snap_to_ticks">True</property>
+-            <property name="numeric">True</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">0</property>
+-          </packing>
+-        </child>
+-        <child>
+-          <object class="GtkLabel" id="label4">
+-            <property name="visible">True</property>
+-            <property name="can_focus">False</property>
+-            <property name="xalign">0</property>
+-            <property name="label" translatable="yes">s</property>
+-          </object>
+-          <packing>
+-            <property name="expand">True</property>
+-            <property name="fill">True</property>
+-            <property name="position">1</property>
+-          </packing>
+-        </child>
+-      </object>
+-      <packing>
+-        <property name="left_attach">1</property>
+-        <property name="right_attach">2</property>
+-        <property name="top_attach">3</property>
+-        <property name="bottom_attach">4</property>
+-        <property name="y_options">GTK_FILL</property>
+-      </packing>
+-    </child>
+-  </object>
+-</interface>
+diff --git a/src/connection-editor/new-connection.c b/src/connection-editor/new-connection.c
+index e60cfda..4a6e1a6 100644
+--- a/src/connection-editor/new-connection.c
++++ b/src/connection-editor/new-connection.c
+@@ -32,7 +32,6 @@
+ #include "page-dsl.h"
+ #include "page-infiniband.h"
+ #include "page-bond.h"
+-#include "page-bridge.h"
+ #include "page-vlan.h"
+ #include "page-vpn.h"
+ #include "vpn-helpers.h"
+@@ -140,12 +139,6 @@ get_connection_type_list (void)
+ 	data.virtual = TRUE;
+ 	g_array_append_val (array, data);
+ 
+-	data.name = _("Bridge");
+-	data.new_connection_func = bridge_connection_new;
+-	data.setting_type = NM_TYPE_SETTING_BRIDGE;
+-	data.virtual = TRUE;
+-	g_array_append_val (array, data);
+-
+ 	data.name = _("VLAN");
+ 	data.new_connection_func = vlan_connection_new;
+ 	data.setting_type = NM_TYPE_SETTING_VLAN;
+diff --git a/src/connection-editor/nm-connection-editor.c b/src/connection-editor/nm-connection-editor.c
+index 816d314..0b99566 100644
+--- a/src/connection-editor/nm-connection-editor.c
++++ b/src/connection-editor/nm-connection-editor.c
+@@ -48,7 +48,6 @@
+ #include <nm-setting-wimax.h>
+ #include <nm-setting-infiniband.h>
+ #include <nm-setting-bond.h>
+-#include <nm-setting-bridge.h>
+ #include <nm-utils.h>
+ 
+ #include <nm-remote-connection.h>
+@@ -71,8 +70,6 @@
+ #include "page-wimax.h"
+ #include "page-infiniband.h"
+ #include "page-bond.h"
+-#include "page-bridge.h"
+-#include "page-bridge-port.h"
+ #include "page-vlan.h"
+ #include "ce-polkit-button.h"
+ #include "vpn-helpers.h"
+@@ -846,9 +843,6 @@ nm_connection_editor_set_connection (NMConnectionEditor *editor,
+ 	} else if (!strcmp (connection_type, NM_SETTING_BOND_SETTING_NAME)) {
+ 		if (!add_page (editor, ce_page_bond_new, editor->connection, error))
+ 			goto out;
+-	} else if (!strcmp (connection_type, NM_SETTING_BRIDGE_SETTING_NAME)) {
+-		if (!add_page (editor, ce_page_bridge_new, editor->connection, error))
+-			goto out;
+ 	} else if (!strcmp (connection_type, NM_SETTING_VLAN_SETTING_NAME)) {
+ 		if (!add_page (editor, ce_page_vlan_new, editor->connection, error))
+ 			goto out;
+@@ -859,11 +853,6 @@ nm_connection_editor_set_connection (NMConnectionEditor *editor,
+ 	slave_type = nm_setting_connection_get_slave_type (s_con);
+ 	if (!g_strcmp0 (slave_type, NM_SETTING_BOND_SETTING_NAME))
+ 		add_ip4 = add_ip6 = FALSE;
+-	else if (!g_strcmp0 (slave_type, NM_SETTING_BRIDGE_SETTING_NAME)) {
+-		add_ip4 = add_ip6 = FALSE;
+-		if (!add_page (editor, ce_page_bridge_port_new, editor->connection, error))
+-			goto out;
+-	}
+ 
+ 	if (add_ip4 && !add_page (editor, ce_page_ip4_new, editor->connection, error))
+ 		goto out;
+diff --git a/src/connection-editor/nm-connection-list.c b/src/connection-editor/nm-connection-list.c
+index f445edf..2a7b708 100644
+--- a/src/connection-editor/nm-connection-list.c
++++ b/src/connection-editor/nm-connection-list.c
+@@ -570,19 +570,16 @@ tree_model_visible_func (GtkTreeModel *model,
+ 		return gtk_tree_model_iter_has_child  (model, iter);
+ 	}
+ 
+-	/* A connection node is visible unless it is a slave to a known
+-	 * bond or bridge.
++	/* A connection node is visible unless it is a bond slave to
++	 * another known connection.
+ 	 */
+ 	s_con = nm_connection_get_setting_connection (connection);
+ 	g_object_unref (connection);
+ 	g_return_val_if_fail (s_con != NULL, FALSE);
+ 
+ 	master = nm_setting_connection_get_master (s_con);
+-	if (!master)
+-		return TRUE;
+ 	slave_type = nm_setting_connection_get_slave_type (s_con);
+-	if (   g_strcmp0 (slave_type, NM_SETTING_BOND_SETTING_NAME) != 0
+-	    && g_strcmp0 (slave_type, NM_SETTING_BRIDGE_SETTING_NAME) != 0)
++	if (!master || g_strcmp0 (slave_type, NM_SETTING_BOND_SETTING_NAME) != 0)
+ 		return TRUE;
+ 
+ 	if (nm_remote_settings_get_connection_by_uuid (self->settings, master))
+diff --git a/src/connection-editor/page-bridge-port.c b/src/connection-editor/page-bridge-port.c
+deleted file mode 100644
+index a1e34d3..0000000
+--- a/src/connection-editor/page-bridge-port.c
++++ /dev/null
+@@ -1,172 +0,0 @@
+-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+-/* NetworkManager Connection editor -- Connection editor for NetworkManager
+- *
+- * Dan Williams <dcbw at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License along
+- * with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * (C) Copyright 2008 - 2011 Red Hat, Inc.
+- */
+-
+-#include "config.h"
+-
+-#include <string.h>
+-
+-#include <gtk/gtk.h>
+-#include <glib/gi18n.h>
+-
+-#include <nm-setting-connection.h>
+-#include <nm-setting-bridge-port.h>
+-#include <nm-utils.h>
+-
+-#include "page-bridge-port.h"
+-
+-G_DEFINE_TYPE (CEPageBridgePort, ce_page_bridge_port, CE_TYPE_PAGE)
+-
+-#define CE_PAGE_BRIDGE_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePortPrivate))
+-
+-typedef struct {
+-	NMSettingBridgePort *setting;
+-
+-	GtkSpinButton *priority;
+-	GtkSpinButton *path_cost;
+-	GtkToggleButton *hairpin_mode;
+-
+-} CEPageBridgePortPrivate;
+-
+-static void
+-bridge_port_private_init (CEPageBridgePort *self)
+-{
+-	CEPageBridgePortPrivate *priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-	GtkBuilder *builder;
+-
+-	builder = CE_PAGE (self)->builder;
+-
+-	priv->priority = GTK_SPIN_BUTTON (GTK_WIDGET (gtk_builder_get_object (builder, "bridge_port_priority")));
+-	priv->path_cost = GTK_SPIN_BUTTON (GTK_WIDGET (gtk_builder_get_object (builder, "bridge_port_path_cost")));
+-	priv->hairpin_mode = GTK_TOGGLE_BUTTON (GTK_WIDGET (gtk_builder_get_object (builder, "bridge_port_hairpin_mode")));
+-}
+-
+-static void
+-stuff_changed (GtkWidget *w, gpointer user_data)
+-{
+-	ce_page_changed (CE_PAGE (user_data));
+-}
+-
+-static void
+-populate_ui (CEPageBridgePort *self)
+-{
+-	CEPageBridgePortPrivate *priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-	NMSettingBridgePort *s_port = priv->setting;
+-
+-	gtk_spin_button_set_value (priv->priority, (gdouble) nm_setting_bridge_port_get_priority (s_port));
+-	gtk_spin_button_set_value (priv->path_cost, (gdouble) nm_setting_bridge_port_get_path_cost (s_port));
+-	gtk_toggle_button_set_active (priv->hairpin_mode, nm_setting_bridge_port_get_hairpin_mode (s_port));
+-}
+-
+-static void
+-finish_setup (CEPageBridgePort *self, gpointer unused, GError *error, gpointer user_data)
+-{
+-	CEPageBridgePortPrivate *priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-
+-	if (error)
+-		return;
+-
+-	populate_ui (self);
+-
+-	g_signal_connect (priv->priority, "value-changed", G_CALLBACK (stuff_changed), self);
+-	g_signal_connect (priv->path_cost, "value-changed", G_CALLBACK (stuff_changed), self);
+-	g_signal_connect (priv->hairpin_mode, "toggled", G_CALLBACK (stuff_changed), self);
+-}
+-
+-CEPage *
+-ce_page_bridge_port_new (NMConnection *connection,
+-                         GtkWindow *parent_window,
+-                         NMClient *client,
+-                         NMRemoteSettings *settings,
+-                         const char **out_secrets_setting_name,
+-                         GError **error)
+-{
+-	CEPageBridgePort *self;
+-	CEPageBridgePortPrivate *priv;
+-
+-	self = CE_PAGE_BRIDGE_PORT (ce_page_new (CE_TYPE_PAGE_BRIDGE_PORT,
+-	                                         connection,
+-	                                         parent_window,
+-	                                         client,
+-	                                         settings,
+-	                                         UIDIR "/ce-page-bridge-port.ui",
+-	                                         "BridgePortPage",
+-	                                         /* Translators: a "Bridge Port" is a network
+-	                                          * device that is part of a bridge.
+-	                                          */
+-	                                         _("Bridge Port")));
+-	if (!self) {
+-		g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("Could not load bridge port user interface."));
+-		return NULL;
+-	}
+-
+-	bridge_port_private_init (self);
+-	priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-
+-	priv->setting = nm_connection_get_setting_bridge_port (connection);
+-	if (!priv->setting) {
+-		priv->setting = NM_SETTING_BRIDGE_PORT (nm_setting_bridge_port_new ());
+-		nm_connection_add_setting (connection, NM_SETTING (priv->setting));
+-	}
+-
+-	g_signal_connect (self, "initialized", G_CALLBACK (finish_setup), NULL);
+-
+-	return CE_PAGE (self);
+-}
+-
+-static void
+-ui_to_setting (CEPageBridgePort *self)
+-{
+-	CEPageBridgePortPrivate *priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-
+-	g_object_set (priv->setting,
+-	              NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE, gtk_toggle_button_get_active (priv->hairpin_mode),
+-	              NM_SETTING_BRIDGE_PORT_PRIORITY, gtk_spin_button_get_value_as_int (priv->priority),
+-	              NM_SETTING_BRIDGE_PORT_PATH_COST, gtk_spin_button_get_value_as_int (priv->path_cost),
+-	              NULL);
+-}
+-
+-static gboolean
+-validate (CEPage *page, NMConnection *connection, GError **error)
+-{
+-	CEPageBridgePort *self = CE_PAGE_BRIDGE_PORT (page);
+-	CEPageBridgePortPrivate *priv = CE_PAGE_BRIDGE_PORT_GET_PRIVATE (self);
+-
+-	ui_to_setting (self);
+-	return nm_setting_verify (NM_SETTING (priv->setting), NULL, error);
+-}
+-
+-static void
+-ce_page_bridge_port_init (CEPageBridgePort *self)
+-{
+-}
+-
+-static void
+-ce_page_bridge_port_class_init (CEPageBridgePortClass *bridge_port_class)
+-{
+-	GObjectClass *object_class = G_OBJECT_CLASS (bridge_port_class);
+-	CEPageClass *parent_class = CE_PAGE_CLASS (bridge_port_class);
+-
+-	g_type_class_add_private (object_class, sizeof (CEPageBridgePortPrivate));
+-
+-	/* virtual methods */
+-	parent_class->validate = validate;
+-}
+diff --git a/src/connection-editor/page-bridge-port.h b/src/connection-editor/page-bridge-port.h
+deleted file mode 100644
+index 2a35240..0000000
+--- a/src/connection-editor/page-bridge-port.h
++++ /dev/null
+@@ -1,58 +0,0 @@
+-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+-/* NetworkManager Connection editor -- Connection editor for NetworkManager
+- *
+- * Dan Williams <dcbw at redhat.com>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License along
+- * with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * (C) Copyright 2008 - 2012 Red Hat, Inc.
+- */
+-
+-#ifndef __PAGE_BRIDGE_PORT_H__
+-#define __PAGE_BRIDGE_PORT_H__
+-
+-#include <nm-connection.h>
+-
+-#include <glib.h>
+-#include <glib-object.h>
+-
+-#include "ce-page.h"
+-
+-#define CE_TYPE_PAGE_BRIDGE_PORT            (ce_page_bridge_port_get_type ())
+-#define CE_PAGE_BRIDGE_PORT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePort))
+-#define CE_PAGE_BRIDGE_PORT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePortClass))
+-#define CE_IS_PAGE_BRIDGE_PORT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BRIDGE_PORT))
+-#define CE_IS_PAGE_BRIDGE_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BRIDGE_PORT))
+-#define CE_PAGE_BRIDGE_PORT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BRIDGE_PORT, CEPageBridgePortClass))
+-
+-typedef struct {
+-	CEPage parent;
+-} CEPageBridgePort;
+-
+-typedef struct {
+-	CEPageClass parent;
+-} CEPageBridgePortClass;
+-
+-GType ce_page_bridge_port_get_type (void);
+-
+-CEPage *ce_page_bridge_port_new (NMConnection *connection,
+-                                 GtkWindow *parent,
+-                                 NMClient *client,
+-                                 NMRemoteSettings *settings,
+-                                 const char **out_secrets_setting_name,
+-                                 GError **error);
+-
+-#endif  /* __PAGE_BRIDGE_PORT_H__ */
+-
+diff --git a/src/connection-editor/page-bridge.c b/src/connection-editor/page-bridge.c
+deleted file mode 100644
+index 961002a..0000000
+--- a/src/connection-editor/page-bridge.c
++++ /dev/null
+@@ -1,348 +0,0 @@
+-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+-/* NetworkManager Connection editor -- Connection editor for NetworkManager
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License along
+- * with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * Copyright 2012 Red Hat, Inc.
+- */
+-
+-#include "config.h"
+-
+-#include <stdlib.h>
+-#include <gtk/gtk.h>
+-#include <glib/gi18n.h>
+-
+-#include <nm-setting-connection.h>
+-#include <nm-setting-bridge.h>
+-
+-#include "page-bridge.h"
+-#include "nm-connection-editor.h"
+-#include "new-connection.h"
+-
+-G_DEFINE_TYPE (CEPageBridge, ce_page_bridge, CE_TYPE_PAGE_MASTER)
+-
+-#define CE_PAGE_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CE_TYPE_PAGE_BRIDGE, CEPageBridgePrivate))
+-
+-typedef struct {
+-	NMSettingBridge *setting;
+-
+-	GtkWindow *toplevel;
+-
+-	GtkSpinButton *ageing_time;
+-	GtkCheckButton *stp;
+-	GtkSpinButton *priority;
+-	GtkSpinButton *forward_delay;
+-	GtkSpinButton *hello_time;
+-	GtkSpinButton *max_age;
+-
+-} CEPageBridgePrivate;
+-
+-static void
+-bridge_private_init (CEPageBridge *self)
+-{
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-	GtkBuilder *builder;
+-
+-	builder = CE_PAGE (self)->builder;
+-
+-	priv->ageing_time = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "bridge_ageing_time"));
+-	priv->stp = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "bridge_stp_checkbox"));
+-	priv->priority = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "bridge_priority"));
+-	priv->forward_delay = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "bridge_forward_delay"));
+-	priv->hello_time = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "bridge_hello_time"));
+-	priv->max_age = GTK_SPIN_BUTTON (gtk_builder_get_object (builder, "bridge_max_age"));
+-
+-	priv->toplevel = GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (priv->stp),
+-	                                                      GTK_TYPE_WINDOW));
+-}
+-
+-static void
+-stuff_changed (GtkWidget *w, gpointer user_data)
+-{
+-	ce_page_changed (CE_PAGE (user_data));
+-}
+-
+-static void
+-stp_toggled (GtkToggleButton *stp, gpointer user_data)
+-{
+-	CEPageBridge *self = user_data;
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-
+-	if (gtk_toggle_button_get_active (stp)) {
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->priority), TRUE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->forward_delay), TRUE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->hello_time), TRUE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->max_age), TRUE);
+-	} else {
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->priority), FALSE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->forward_delay), FALSE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->hello_time), FALSE);
+-		gtk_widget_set_sensitive (GTK_WIDGET (priv->max_age), FALSE);
+-	}
+-}
+-
+-static void
+-populate_ui (CEPageBridge *self)
+-{
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-	NMSettingBridge *s_bridge = priv->setting;
+-	gboolean stp;
+-	int priority, forward_delay, hello_time, max_age;
+-	int ageing_time;
+-
+-	/* Ageing time */
+-	ageing_time = nm_setting_bridge_get_ageing_time (s_bridge);
+-	gtk_spin_button_set_value (priv->ageing_time, (gdouble) ageing_time);
+-	g_signal_connect (priv->ageing_time, "value-changed",
+-	                  G_CALLBACK (stuff_changed),
+-	                  self);
+-
+-	/* STP */
+-	g_signal_connect (priv->stp, "toggled",
+-	                  G_CALLBACK (stp_toggled),
+-	                  self);
+-	stp = nm_setting_bridge_get_stp (s_bridge);
+-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->stp), stp);
+-
+-	/* Priority */
+-	priority = nm_setting_bridge_get_priority (s_bridge);
+-	gtk_spin_button_set_value (priv->priority, (gdouble) priority);
+-	g_signal_connect (priv->priority, "value-changed",
+-	                  G_CALLBACK (stuff_changed),
+-	                  self);
+-
+-	/* Forward delay */
+-	forward_delay = nm_setting_bridge_get_forward_delay (s_bridge);
+-	gtk_spin_button_set_value (priv->forward_delay, (gdouble) forward_delay);
+-	g_signal_connect (priv->forward_delay, "value-changed",
+-	                  G_CALLBACK (stuff_changed),
+-	                  self);
+-
+-	/* Hello time */
+-	hello_time = nm_setting_bridge_get_hello_time (s_bridge);
+-	gtk_spin_button_set_value (priv->hello_time, (gdouble) hello_time);
+-	g_signal_connect (priv->hello_time, "value-changed",
+-	                  G_CALLBACK (stuff_changed),
+-	                  self);
+-
+-	/* Max age */
+-	max_age = nm_setting_bridge_get_max_age (s_bridge);
+-	gtk_spin_button_set_value (priv->max_age, (gdouble) max_age);
+-	g_signal_connect (priv->max_age, "value-changed",
+-	                  G_CALLBACK (stuff_changed),
+-	                  self);
+-}
+-
+-static void
+-create_connection (CEPageMaster *master, NMConnection *connection)
+-{
+-	NMSetting *s_port;
+-
+-	s_port = nm_connection_get_setting (connection, NM_TYPE_SETTING_BRIDGE_PORT);
+-	if (!s_port) {
+-		s_port = nm_setting_bridge_port_new ();
+-		nm_connection_add_setting (connection, s_port);
+-	}
+-}
+-
+-static gboolean
+-connection_type_filter (GType type, gpointer user_data)
+-{
+-	if (type == NM_TYPE_SETTING_WIRED ||
+-	    type == NM_TYPE_SETTING_WIRELESS ||
+-		type == NM_TYPE_SETTING_VLAN)
+-		return TRUE;
+-	else
+-		return FALSE;
+-}
+-
+-static void
+-add_slave (CEPageMaster *master, NewConnectionResultFunc result_func)
+-{
+-	CEPageBridge *self = CE_PAGE_BRIDGE (master);
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-
+-	new_connection_dialog (priv->toplevel,
+-	                       CE_PAGE (self)->settings,
+-	                       connection_type_filter,
+-	                       result_func,
+-	                       master);
+-}
+-
+-static void
+-finish_setup (CEPageBridge *self, gpointer unused, GError *error, gpointer user_data)
+-{
+-	if (error)
+-		return;
+-
+-	populate_ui (self);
+-}
+-
+-CEPage *
+-ce_page_bridge_new (NMConnection *connection,
+-                    GtkWindow *parent_window,
+-                    NMClient *client,
+-                    NMRemoteSettings *settings,
+-                    const char **out_secrets_setting_name,
+-                    GError **error)
+-{
+-	CEPageBridge *self;
+-	CEPageBridgePrivate *priv;
+-
+-	self = CE_PAGE_BRIDGE (ce_page_new (CE_TYPE_PAGE_BRIDGE,
+-	                                  connection,
+-	                                  parent_window,
+-	                                  client,
+-	                                  settings,
+-	                                  UIDIR "/ce-page-bridge.ui",
+-	                                  "BridgePage",
+-	                                  _("Bridge")));
+-	if (!self) {
+-		g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC,
+-		                     _("Could not load bridge user interface."));
+-		return NULL;
+-	}
+-
+-	bridge_private_init (self);
+-	priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-
+-	priv->setting = nm_connection_get_setting_bridge (connection);
+-	if (!priv->setting) {
+-		priv->setting = NM_SETTING_BRIDGE (nm_setting_bridge_new ());
+-		nm_connection_add_setting (connection, NM_SETTING (priv->setting));
+-	}
+-
+-	g_signal_connect (self, "initialized", G_CALLBACK (finish_setup), NULL);
+-
+-	return CE_PAGE (self);
+-}
+-
+-static void
+-ui_to_setting (CEPageBridge *self)
+-{
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-	int ageing_time, priority, forward_delay, hello_time, max_age;
+-	gboolean stp;
+-
+-	ageing_time = gtk_spin_button_get_value_as_int (priv->ageing_time);
+-	stp = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->stp));
+-	g_object_set (G_OBJECT (priv->setting),
+-	              NM_SETTING_BRIDGE_AGEING_TIME, ageing_time,
+-	              NM_SETTING_BRIDGE_STP, stp,
+-	              NULL);
+-
+-	if (stp) {
+-		priority = gtk_spin_button_get_value_as_int (priv->priority);
+-		forward_delay = gtk_spin_button_get_value_as_int (priv->forward_delay);
+-		hello_time = gtk_spin_button_get_value_as_int (priv->hello_time);
+-		max_age = gtk_spin_button_get_value_as_int (priv->max_age);
+-
+-		g_object_set (G_OBJECT (priv->setting),
+-		              NM_SETTING_BRIDGE_PRIORITY, priority,
+-		              NM_SETTING_BRIDGE_FORWARD_DELAY, forward_delay,
+-		              NM_SETTING_BRIDGE_HELLO_TIME, hello_time,
+-		              NM_SETTING_BRIDGE_MAX_AGE, max_age,
+-		              NULL);
+-	}
+-}
+-
+-static gboolean
+-validate (CEPage *page, NMConnection *connection, GError **error)
+-{
+-	CEPageBridge *self = CE_PAGE_BRIDGE (page);
+-	CEPageBridgePrivate *priv = CE_PAGE_BRIDGE_GET_PRIVATE (self);
+-
+-	if (!CE_PAGE_CLASS (ce_page_bridge_parent_class)->validate (page, connection, error))
+-		return FALSE;
+-
+-	ui_to_setting (self);
+-	return nm_setting_verify (NM_SETTING (priv->setting), NULL, error);
+-}
+-
+-static void
+-ce_page_bridge_init (CEPageBridge *self)
+-{
+-}
+-
+-static void
+-ce_page_bridge_class_init (CEPageBridgeClass *bridge_class)
+-{
+-	GObjectClass *object_class = G_OBJECT_CLASS (bridge_class);
+-	CEPageClass *parent_class = CE_PAGE_CLASS (bridge_class);
+-	CEPageMasterClass *master_class = CE_PAGE_MASTER_CLASS (bridge_class);
+-
+-	g_type_class_add_private (object_class, sizeof (CEPageBridgePrivate));
+-
+-	/* virtual methods */
+-	parent_class->validate = validate;
+-	master_class->create_connection = create_connection;
+-	master_class->add_slave = add_slave;
+-}
+-
+-void
+-bridge_connection_new (GtkWindow *parent,
+-                     const char *detail,
+-                     NMRemoteSettings *settings,
+-                     PageNewConnectionResultFunc result_func,
+-                     gpointer user_data)
+-{
+-	NMConnection *connection;
+-	int bridge_num, max_bridge_num, num;
+-	GSList *connections, *iter;
+-	NMConnection *conn2;
+-	NMSettingBridge *s_bridge;
+-	const char *iface;
+-	char *my_iface;
+-
+-	connection = ce_page_new_connection (_("Bridge connection %d"),
+-	                                     NM_SETTING_BRIDGE_SETTING_NAME,
+-	                                     TRUE,
+-	                                     settings,
+-	                                     user_data);
+-	nm_connection_add_setting (connection, nm_setting_bridge_new ());
+-
+-	/* Find an available interface name */
+-	bridge_num = max_bridge_num = 0;
+-	connections = nm_remote_settings_list_connections (settings);
+-	for (iter = connections; iter; iter = iter->next) {
+-		conn2 = iter->data;
+-
+-		if (!nm_connection_is_type (conn2, NM_SETTING_BRIDGE_SETTING_NAME))
+-			continue;
+-		s_bridge = nm_connection_get_setting_bridge (conn2);
+-		if (!s_bridge)
+-			continue;
+-		iface = nm_setting_bridge_get_interface_name (s_bridge);
+-		if (!iface || strncmp (iface, "bridge", 4) != 0 || !g_ascii_isdigit (iface[4]))
+-			continue;
+-
+-		num = atoi (iface + 4);
+-		if (num > max_bridge_num)
+-			max_bridge_num = num;
+-		if (num == bridge_num)
+-			bridge_num = max_bridge_num + 1;
+-	}
+-	g_slist_free (connections);
+-
+-	my_iface = g_strdup_printf ("bridge%d", bridge_num);
+-	s_bridge = nm_connection_get_setting_bridge (connection);
+-	g_object_set (G_OBJECT (s_bridge),
+-	              NM_SETTING_BRIDGE_INTERFACE_NAME, my_iface,
+-	              NULL);
+-	g_free (my_iface);
+-
+-	(*result_func) (connection, FALSE, NULL, user_data);
+-}
+-
+diff --git a/src/connection-editor/page-bridge.h b/src/connection-editor/page-bridge.h
+deleted file mode 100644
+index fa6d927..0000000
+--- a/src/connection-editor/page-bridge.h
++++ /dev/null
+@@ -1,62 +0,0 @@
+-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+-/* NetworkManager Connection editor -- Connection editor for NetworkManager
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License along
+- * with this program; if not, write to the Free Software Foundation, Inc.,
+- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * Copyright 2012 Red Hat, Inc.
+- */
+-
+-#ifndef __PAGE_BRIDGE_H__
+-#define __PAGE_BRIDGE_H__
+-
+-#include <nm-connection.h>
+-
+-#include <glib.h>
+-#include <glib-object.h>
+-
+-#include "page-master.h"
+-
+-#define CE_TYPE_PAGE_BRIDGE            (ce_page_bridge_get_type ())
+-#define CE_PAGE_BRIDGE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), CE_TYPE_PAGE_BRIDGE, CEPageBridge))
+-#define CE_PAGE_BRIDGE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), CE_TYPE_PAGE_BRIDGE, CEPageBridgeClass))
+-#define CE_IS_PAGE_BRIDGE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CE_TYPE_PAGE_BRIDGE))
+-#define CE_IS_PAGE_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CE_TYPE_PAGE_BRIDGE))
+-#define CE_PAGE_BRIDGE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), CE_TYPE_PAGE_BRIDGE, CEPageBridgeClass))
+-
+-typedef struct {
+-	CEPageMaster parent;
+-} CEPageBridge;
+-
+-typedef struct {
+-	CEPageMasterClass parent;
+-} CEPageBridgeClass;
+-
+-GType ce_page_bridge_get_type (void);
+-
+-CEPage *ce_page_bridge_new (NMConnection *connection,
+-                            GtkWindow *parent,
+-                            NMClient *client,
+-                            NMRemoteSettings *settings,
+-                            const char **out_secrets_setting_name,
+-                            GError **error);
+-
+-void bridge_connection_new (GtkWindow *parent,
+-                            const char *detail,
+-                            NMRemoteSettings *settings,
+-                            PageNewConnectionResultFunc result_func,
+-                            gpointer user_data);
+-
+-#endif  /* __PAGE_BRIDGE_H__ */
+-
+diff --git a/src/connection-editor/page-master.c b/src/connection-editor/page-master.c
+index a3d59ca..41a084c 100644
+--- a/src/connection-editor/page-master.c
++++ b/src/connection-editor/page-master.c
+@@ -47,7 +47,6 @@ typedef struct {
+ } CEPageMasterPrivate;
+ 
+ enum {
+-	CREATE_CONNECTION,
+ 	CONNECTION_ADDED,
+ 	CONNECTION_REMOVED,
+ 
+@@ -298,8 +297,6 @@ add_connection (NMConnection *connection,
+ 	              NULL);
+ 	g_free (name);
+ 
+-	g_signal_emit (self, signals[CREATE_CONNECTION], 0, connection);
+-
+ 	editor = nm_connection_editor_new (priv->toplevel,
+ 	                                   connection,
+ 	                                   CE_PAGE (self)->client,
+@@ -537,16 +534,6 @@ ce_page_master_class_init (CEPageMasterClass *master_class)
+ 	parent_class->validate = validate;
+ 
+ 	/* Signals */
+-	signals[CREATE_CONNECTION] = 
+-		g_signal_new ("create-connection",
+-		              G_OBJECT_CLASS_TYPE (object_class),
+-		              G_SIGNAL_RUN_FIRST,
+-		              G_STRUCT_OFFSET (CEPageMasterClass, create_connection),
+-		              NULL, NULL,
+-		              g_cclosure_marshal_VOID__OBJECT,
+-		              G_TYPE_NONE, 1,
+-		              NM_TYPE_CONNECTION);
+-
+ 	signals[CONNECTION_ADDED] = 
+ 		g_signal_new ("connection-added",
+ 		              G_OBJECT_CLASS_TYPE (object_class),
+diff --git a/src/connection-editor/page-master.h b/src/connection-editor/page-master.h
+index 5bd0575..8d512a3 100644
+--- a/src/connection-editor/page-master.h
++++ b/src/connection-editor/page-master.h
+@@ -44,7 +44,6 @@ typedef struct {
+ 	CEPageClass parent;
+ 
+ 	/* signals */
+-	void (*create_connection)  (CEPageMaster *self, NMConnection *connection);
+ 	void (*connection_added)   (CEPageMaster *self, NMConnection *connection);
+ 	void (*connection_removed) (CEPageMaster *self, NMConnection *connection);
+ 
+-- 
+1.7.11.7
+
diff --git a/network-manager-applet.spec b/network-manager-applet.spec
index c4859cc..d60b48e 100644
--- a/network-manager-applet.spec
+++ b/network-manager-applet.spec
@@ -5,13 +5,13 @@
 %define nm_version      1:0.9.7.0
 %define obsoletes_ver   1:0.9.7
 
-%define snapshot .git20121016
+%define snapshot .git20121211
 %define realversion 0.9.7.0
 
 Name: network-manager-applet
 Summary: A network control and status applet for NetworkManager
 Version: 0.9.7.0
-Release: 4%{snapshot}%{?dist}
+Release: 5%{snapshot}%{?dist}
 Group: Applications/System
 License: GPLv2+
 URL: http://www.gnome.org/projects/NetworkManager/
@@ -21,6 +21,7 @@ Source: http://ftp.gnome.org/pub/GNOME/sources/network-manager-applet/0.9/%{name
 Patch0: nm-applet-no-notifications.patch
 Patch1: nm-applet-wifi-dialog-ui-fixes.patch
 Patch2: applet-ignore-deprecated.patch
+Patch3: editor-revert-bridges.patch
 
 Requires: NetworkManager >= %{nm_version}
 Requires: NetworkManager-glib >= %{nm_version}
@@ -107,6 +108,7 @@ nm-applet, nm-connection-editor, and the GNOME control center.
 %patch0 -p1 -b .no-notifications
 %patch1 -p1 -b .applet-wifi-ui
 %patch2 -p1 -b .no-deprecated
+%patch3 -p1 -b .revert-bridges
 
 %build
 autoreconf -i -f
@@ -223,6 +225,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
 %{_datadir}/gir-1.0/NMGtk-1.0.gir
 
 %changelog
+* Tue Dec 11 2012 Jiří Klimeš <jklimes at redhat.com> - 0.9.7.0-5.git20121211
+- Update to git snapshot (git20121211) without bridges
+
 * Thu Nov 08 2012 Kalev Lember <kalevlember at gmail.com> - 0.9.7.0-4.git20121016
 - Update the versioned obsoletes for the new F17 NM build
 
diff --git a/sources b/sources
index 5c8b230..0f7f210 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-acb2317daa4fda0c328f7dd2c37b124b  network-manager-applet-0.9.7.0.git20121016.tar.bz2
+ee2ed708734fe7982da21832dc2e8748  network-manager-applet-0.9.7.0.git20121211.tar.bz2


More information about the scm-commits mailing list