The attached patch allows specifying a device model when adding a network device to an existing VM (ex. 'virtio', 'e1000', 'pcnet', etc. depending on the emulator). A screenshot of the new UI: http://fedorapeople.org/~crobinso/virt-manager/vmm-net-model.png Thanks, Cole
# HG changeset patch # User Cole Robinson <crobinso@xxxxxxxxxx> # Date 1232381144 18000 # Node ID 2c2afef412d9c7e7785830a811efe8e77bed089e # Parent 77609375e4d998186790818880cf26380d22ce0d Allow specifying 'model' when adding a net device to an existing VM. diff -r 77609375e4d9 -r 2c2afef412d9 src/virtManager/addhardware.py --- a/src/virtManager/addhardware.py Thu Jan 15 11:17:30 2009 -0500 +++ b/src/virtManager/addhardware.py Mon Jan 19 11:05:44 2009 -0500 @@ -127,6 +127,13 @@ device_list.add_attribute(text, 'text', 1) device_list.add_attribute(text, 'sensitive', 2) + netmodel_list = self.window.get_widget("net-model") + netmodel_model = gtk.ListStore(str, str) + netmodel_list.set_model(netmodel_model) + text = gtk.CellRendererText() + netmodel_list.pack_start(text, True) + netmodel_list.add_attribute(text, 'text', 1) + target_list = self.window.get_widget("target-device") target_model = gtk.ListStore(str, str, str, str) target_list.set_model(target_model) @@ -192,6 +199,8 @@ else: dev_box.set_active(-1) + self.window.get_widget("net-model").set_active(0) + target_list = self.window.get_widget("target-device") target_list.set_active(-1) @@ -351,6 +360,12 @@ model = dev.get_model() return ["bridge", model.get_value(dev.get_active_iter(), 0)] + def get_config_net_model(self): + model = self.window.get_widget("net-model") + modelxml = model.get_model().get_value(model.get_active_iter(), 0) + modelstr = model.get_model().get_value(model.get_active_iter(), 1) + return modelxml, modelstr + def get_config_macaddr(self): macaddr = None if self.window.get_widget("mac-address").get_active(): @@ -370,6 +385,11 @@ self.window.get_widget("storage-file-address-browse").set_sensitive(not remote) elif page_number == PAGE_NETWORK: + netmodel = self.window.get_widget("net-model") + if netmodel.get_active() == -1: + self.populate_network_model_model(netmodel.get_model()) + netmodel.set_active(0) + if remote: self.window.get_widget("net-type-network").set_active(True) self.window.get_widget("net-type-device").set_active(False) @@ -412,6 +432,8 @@ self.window.get_widget("summary-mac-address").set_text(macaddr) else: self.window.get_widget("summary-mac-address").set_text("-") + model = self.get_config_net_model()[1] + self.window.get_widget("summary-net-model").set_text(model) elif hwpage == PAGE_INPUT: self.window.get_widget("summary-input").show() inp = self.get_config_input() @@ -775,23 +797,25 @@ return self.err.val_err(_("Invalid MAC address"), \ _("No MAC address was entered. Please enter a valid MAC address.")) - try: + try: self._dev = virtinst.VirtualNetworkInterface(macaddr=mac) except ValueError, e: return self.err.val_err(_("Invalid MAC address"), str(e)) - + model = self.get_config_net_model()[0] try: if net[0] == "bridge": - self._dev = virtinst.VirtualNetworkInterface(macaddr=mac, - type=net[0], + self._dev = virtinst.VirtualNetworkInterface(macaddr=mac, + type=net[0], bridge=net[1]) elif net[0] == "network": - self._dev = virtinst.VirtualNetworkInterface(macaddr=mac, - type=net[0], + self._dev = virtinst.VirtualNetworkInterface(macaddr=mac, + type=net[0], network=net[1]) else: raise ValueError, _("Unsupported networking type") + net[0] + + self._dev.model = model except ValueError, e: return self.err.val_err(_("Invalid Network Parameter"), \ str(e)) @@ -842,6 +866,21 @@ model.append([net.get_bridge(), "%s (%s)" % (net.get_name(), _("Not bridged")), False]) return (hasShared, brIndex) + def populate_network_model_model(self, model): + model.clear() + + # [xml value, label] + model.append([None, _("Hypervisor default")]) + if self.vm.is_hvm(): + mod_list = [ "rtl8139", "ne2k_pci", "pcnet" ] + if self.vm.get_type().lower() == "kvm": + mod_list.append("e1000") + mod_list.append("virtio") + mod_list.sort() + + for m in mod_list: + model.append([m, m]) + def populate_target_device_model(self, model): model.clear() #[bus, device, icon, desc] diff -r 77609375e4d9 -r 2c2afef412d9 src/vmm-add-hardware.glade --- a/src/vmm-add-hardware.glade Thu Jan 15 11:17:30 2009 -0500 +++ b/src/vmm-add-hardware.glade Mon Jan 19 11:05:44 2009 -0500 @@ -753,10 +753,33 @@ <child> <widget class="GtkTable" id="table31"> <property name="visible">True</property> - <property name="n_rows">8</property> + <property name="n_rows">9</property> <property name="n_columns">2</property> <property name="row_spacing">6</property> <child> + <widget class="GtkComboBox" id="net-model"> + <property name="visible">True</property> + </widget> + <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> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Device Model:</property> + </widget> + <packing> + <property name="top_attach">8</property> + <property name="bottom_attach">9</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> <widget class="GtkEntry" id="create-mac-address"> <property name="visible">True</property> <property name="can_focus">True</property> @@ -1689,15 +1712,47 @@ <placeholder/> </child> <child> - <widget class="GtkLabel" id="label377"> + <widget class="GtkLabel" id="summary-disk-size"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="ypad">5</property> - <property name="label" translatable="yes"><b>Storage</b></property> + <property name="label">5 GB</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="summary-disk-image"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">/xen/demo.img</property> + <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label314"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Disk image:</property> <property name="use_markup">True</property> </widget> <packing> - <property name="right_attach">3</property> + <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="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -1719,27 +1774,88 @@ </packing> </child> <child> - <widget class="GtkLabel" id="label314"> + <widget class="GtkLabel" id="label377"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="ypad">5</property> + <property name="label" translatable="yes"><b>Storage</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="right_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + </widget> + </child> + <child> + <widget class="GtkTable" id="summary-network"> + <property name="visible">True</property> + <property name="border_width">6</property> + <property name="n_rows">5</property> + <property name="n_columns">3</property> + <property name="column_spacing">3</property> + <property name="row_spacing">3</property> + <child> + <widget class="GtkLabel" id="summary-net-model"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">-</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label7"> <property name="visible">True</property> <property name="xalign">1</property> - <property name="label" translatable="yes">Disk image:</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes">Model:</property> </widget> <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="top_attach">4</property> + <property name="bottom_attach">5</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <widget class="GtkLabel" id="label378"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="ypad">5</property> + <property name="label" translatable="yes"><b>Network</b></property> + <property name="use_markup">True</property> + </widget> + <packing> + <property name="right_attach">3</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="summary-disk-image"> + <widget class="GtkLabel" id="summary-net-type"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label">/xen/demo.img</property> - <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property> + <property name="label" translatable="yes">Shared Physical Device</property> </widget> <packing> <property name="left_attach">2</property> @@ -1751,81 +1867,16 @@ </packing> </child> <child> - <widget class="GtkLabel" id="summary-disk-size"> + <widget class="GtkLabel" id="summary-net-target"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label">5 GB</property> + <property name="label">eth0</property> </widget> <packing> <property name="left_attach">2</property> <property name="right_attach">3</property> <property name="top_attach">2</property> <property name="bottom_attach">3</property> - <property name="y_options"></property> - </packing> - </child> - </widget> - </child> - <child> - <widget class="GtkTable" id="summary-network"> - <property name="visible">True</property> - <property name="border_width">6</property> - <property name="n_rows">4</property> - <property name="n_columns">3</property> - <property name="column_spacing">3</property> - <property name="row_spacing">3</property> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <placeholder/> - </child> - <child> - <widget class="GtkLabel" id="summary-mac-address"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label">-</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">3</property> - <property name="bottom_attach">4</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label387"> - <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">MAC address:</property> - <property name="use_markup">True</property> - </widget> - <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="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label381"> - <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Target:</property> - <property name="use_markup">True</property> - </widget> - <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="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -1847,14 +1898,15 @@ </packing> </child> <child> - <widget class="GtkLabel" id="summary-net-target"> + <widget class="GtkLabel" id="label381"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label">eth0</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Target:</property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> + <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="x_options">GTK_FILL</property> @@ -1862,30 +1914,32 @@ </packing> </child> <child> - <widget class="GtkLabel" id="summary-net-type"> + <widget class="GtkLabel" id="label387"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Shared Physical Device</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">MAC address:</property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> + <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="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label378"> + <widget class="GtkLabel" id="summary-mac-address"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="ypad">5</property> - <property name="label" translatable="yes"><b>Network</b></property> - <property name="use_markup">True</property> + <property name="label">-</property> </widget> <packing> + <property name="left_attach">2</property> <property name="right_attach">3</property> + <property name="top_attach">3</property> + <property name="bottom_attach">4</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -1910,15 +1964,43 @@ <placeholder/> </child> <child> - <widget class="GtkLabel" id="label400"> + <widget class="GtkLabel" id="label396"> <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Mode:</property> + <property name="xalign">0</property> + <property name="ypad">5</property> + <property name="label" translatable="yes"><b>Pointer</b></property> <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> + <property name="right_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="summary-input-type"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">EvTouch Tablet</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="summary-input-mode"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Absolute</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> <property name="top_attach">2</property> <property name="bottom_attach">3</property> <property name="x_options">GTK_FILL</property> @@ -1942,45 +2024,17 @@ </packing> </child> <child> - <widget class="GtkLabel" id="summary-input-mode"> + <widget class="GtkLabel" id="label400"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Absolute</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="summary-input-type"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">EvTouch Tablet</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label396"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="ypad">5</property> - <property name="label" translatable="yes"><b>Pointer</b></property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Mode:</property> <property name="use_markup">True</property> </widget> <packing> - <property name="right_attach">3</property> + <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="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> @@ -2014,59 +2068,91 @@ <placeholder/> </child> <child> - <widget class="GtkLabel" id="summary-graphics-keymap"> + <widget class="GtkLabel" id="label419"> <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="xalign">0</property> - <property name="label" translatable="yes">keylabel</property> + <property name="ypad">5</property> + <property name="label" translatable="yes"><b>Graphics</b></property> + <property name="use_markup">True</property> </widget> <packing> - <property name="left_attach">2</property> <property name="right_attach">3</property> - <property name="top_attach">5</property> - <property name="bottom_attach">6</property> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label5"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Keymap:</property> - </widget> - <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> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="summary-graphics-password"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">No</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">4</property> - <property name="bottom_attach">5</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="summary-graphics-port"> + <widget class="GtkLabel" id="summary-graphics-type"> <property name="visible">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">Automatically allocated</property> + <property name="label" translatable="yes">VNC</property> </widget> <packing> <property name="left_attach">2</property> <property name="right_attach">3</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="summary-graphics-address"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">127.0.0.1</property> + </widget> + <packing> + <property name="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label422"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Type:</property> + <property name="use_markup">True</property> + </widget> + <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="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label423"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Address:</property> + <property name="use_markup">True</property> + </widget> + <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="x_options">GTK_FILL</property> + <property name="y_options"></property> + </packing> + </child> + <child> + <widget class="GtkLabel" id="label424"> + <property name="visible">True</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">Port:</property> + <property name="use_markup">True</property> + </widget> + <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="x_options">GTK_FILL</property> @@ -2090,15 +2176,14 @@ </packing> </child> <child> - <widget class="GtkLabel" id="label424"> + <widget class="GtkLabel" id="summary-graphics-port"> <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Port:</property> - <property name="use_markup">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Automatically allocated</property> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> + <property name="left_attach">2</property> + <property name="right_attach">3</property> <property name="top_attach">3</property> <property name="bottom_attach">4</property> <property name="x_options">GTK_FILL</property> @@ -2106,79 +2191,48 @@ </packing> </child> <child> - <widget class="GtkLabel" id="label423"> + <widget class="GtkLabel" id="summary-graphics-password"> <property name="visible">True</property> - <property name="xalign">1</property> - <property name="label" translatable="yes">Address:</property> - <property name="use_markup">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">No</property> </widget> <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="left_attach">2</property> + <property name="right_attach">3</property> + <property name="top_attach">4</property> + <property name="bottom_attach">5</property> <property name="x_options">GTK_FILL</property> <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="label422"> + <widget class="GtkLabel" id="label5"> <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="xalign">1</property> - <property name="label" translatable="yes">Type:</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes">Keymap:</property> </widget> <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="top_attach">5</property> + <property name="bottom_attach">6</property> <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> </packing> </child> <child> - <widget class="GtkLabel" id="summary-graphics-address"> + <widget class="GtkLabel" id="summary-graphics-keymap"> <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="xalign">0</property> - <property name="label">127.0.0.1</property> + <property name="label" translatable="yes">keylabel</property> </widget> <packing> <property name="left_attach">2</property> <property name="right_attach">3</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="summary-graphics-type"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">VNC</property> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> - </packing> - </child> - <child> - <widget class="GtkLabel" id="label419"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="ypad">5</property> - <property name="label" translatable="yes"><b>Graphics</b></property> - <property name="use_markup">True</property> - </widget> - <packing> - <property name="right_attach">3</property> - <property name="x_options">GTK_FILL</property> - <property name="y_options"></property> </packing> </child> </widget> @@ -2201,7 +2255,7 @@ <child> <widget class="GtkLabel" id="step6"> <property name="visible">True</property> - <property name="label" translatable="no">Finish</property> + <property name="label">Finish</property> </widget> <packing> <property name="type">tab</property>
_______________________________________________ et-mgmt-tools mailing list et-mgmt-tools@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/et-mgmt-tools