diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py index b0dd0afe..bb42191d 100644 --- a/src/virtManager/addhardware.py +++ b/src/virtManager/addhardware.py @@ -427,7 +427,7 @@ class vmmAddHardware(gobject.GObject): def get_config_network(self): if self.vm.get_connection().is_qemu_session(): - return ["user"] + return ["user", None] if self.window.get_widget("net-type-network").get_active(): net = self.window.get_widget("net-network") @@ -471,89 +471,114 @@ class vmmAddHardware(gobject.GObject): return hwpage = self.get_config_hardware_type() - self.window.get_widget("summary-disk").hide() - self.window.get_widget("summary-network").hide() - self.window.get_widget("summary-input").hide() - self.window.get_widget("summary-graphics").hide() - self.window.get_widget("summary-sound").hide() - self.window.get_widget("summary-hostdev").hide() + + summary_table = self.window.get_widget("summary-table") + for c in summary_table.get_children(): + summary_table.remove(c) + + def set_table(title, info_list): + self.window.get_widget("summary-title").set_markup("%s" % + title) + row = 0 + for label, value in info_list: + label = gtk.Label(label) + label.set_alignment(1, .5) + value = gtk.Label(value) + value.set_alignment(0, .5) + + summary_table.attach(label, 0, 1, row, row+1, gtk.FILL, 0) + summary_table.attach(value, 1, 2, row, row+1, gtk.FILL, 0) + + row += 1 + if row == 10: + return + + summary_table.show_all() if hwpage == PAGE_DISK: - self.window.get_widget("summary-disk").show() - self.window.get_widget("summary-disk-image").set_text(self.get_config_disk_image()) - disksize = self.get_config_disk_size() - if disksize != None: - self.window.get_widget("summary-disk-size").set_text(str(int(disksize)) + " MB") - else: - self.window.get_widget("summary-disk-size").set_text("-") + size = self.get_config_disk_size() + bus, target = self.get_config_disk_target() + + info_list = [ + (_("Disk image:"), self.get_config_disk_image()), + (_("Disk size:"), size != None and "%s MB" % size or "-"), + (_("Device type:"), target), + (_("Bus type:"), bus), + ] + title = _("Storage") elif hwpage == PAGE_NETWORK: - self.window.get_widget("summary-network").show() - net = self.get_config_network() - if net[0] == "bridge": - self.window.get_widget("summary-net-type").set_text(_("Shared physical device")) - self.window.get_widget("summary-net-target").set_text(net[1]) - elif net[0] == "network": - self.window.get_widget("summary-net-type").set_text(_("Virtual network")) - self.window.get_widget("summary-net-target").set_text(net[1]) - elif net[0] == "user": - self.window.get_widget("summary-net-type").set_text(_("Usermode networking")) - self.window.get_widget("summary-net-target").set_text("-") - else: - raise ValueError, "Unknown networking type " + net[0] + net_type, net_target = self.get_config_network() macaddr = self.get_config_macaddr() - if macaddr != None: - 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 or "-") + net_label = virtinst.VirtualNetworkInterface.get_network_type_desc(net_type) + net_target = net_target or "-" + + info_list = [ + (_("Network type:"), net_label), + (_("Target:"), net_target), + (_("MAC address:"), macaddr or "-"), + (_("Model:"), model or "-"), + ] + title = _("Network") elif hwpage == PAGE_INPUT: - self.window.get_widget("summary-input").show() - inp = self.get_config_input() - self.window.get_widget("summary-input-type").set_text(inp[0]) - if inp[1] == "tablet": - self.window.get_widget("summary-input-mode").set_text(_("Absolute movement")) + ignore, typ, model = self.get_config_input() + if typ == virtinst.VirtualInputDevice.INPUT_TYPE_TABLET: + mode_label = _("Absolute movement") else: - self.window.get_widget("summary-input-mode").set_text(_("Relative movement")) + mode_label = _("Relative movement") + + info_list = [ + (_("Type:"), typ), + (_("Mode:"), mode_label), + ] + title = _("Pointer") elif hwpage == PAGE_GRAPHICS: - self.window.get_widget("summary-graphics").show() graphics = self.get_config_graphics() - if graphics == "vnc": - self.window.get_widget("summary-graphics-type").set_text(_("VNC server")) - else: - self.window.get_widget("summary-graphics-type").set_text(_("Local SDL window")) - if graphics == "vnc": - self.window.get_widget("summary-graphics-address").set_text(self.get_config_vnc_address()) - if self.get_config_vnc_port() == -1: - self.window.get_widget("summary-graphics-port").set_text(_("Automatically allocated")) - else: - self.window.get_widget("summary-graphics-port").set_text(str(self.get_config_vnc_port())) - if self.get_config_vnc_password() is not None and self.get_config_vnc_password() != "": - self.window.get_widget("summary-graphics-password").set_text(_("Yes")) - else: - self.window.get_widget("summary-graphics-password").set_text(_("No")) - if self.get_config_keymap() is not None: - self.window.get_widget("summary-graphics-keymap").set_text(str(self.get_config_keymap())) - else: - self.window.get_widget("summary-graphics-keymap").set_text(_("Same as host")) + is_vnc = (graphics == virtinst.VirtualGraphics.TYPE_VNC) - else: - self.window.get_widget("summary-graphics-address").set_text(_("N/A")) - self.window.get_widget("summary-graphics-port").set_text(_("N/A")) - self.window.get_widget("summary-graphics-password").set_text(_("N/A")) - self.window.get_widget("summary-graphics-keymap").set_text(_("N/A")) + type_label = is_vnc and _("VNC server") or _("Local SDL window") + addr = is_vnc and self.get_config_vnc_address() or _("N/A") + port_label = _("N/A") + passwd_label = _("N/A") + keymap_label = _("N/A") + + if is_vnc: + port = self.get_config_vnc_port() + passwd = self.get_config_vnc_password() + keymap = self.get_config_keymap() + + port_label = ((port == -1) and ("Automatically allocated") + or port) + passwd_label = passwd and _("Yes") or _("No") + keymap_label = keymap and keymap or _("Same as host") + + info_list = [ + (_("Type:"), type_label), + (_("Address:"), addr), + (_("Port:"), port_label), + (_("Password:"), passwd_label), + (_("Keymap:"), keymap_label), + ] + title = _("Graphics") elif hwpage == PAGE_SOUND: - self.window.get_widget("summary-sound").show() - self.window.get_widget("summary-sound-model").set_text(self._dev.model) + info_list = [ + (_("Model:"), self._dev.model), + ] + title = _("Sound") elif hwpage == PAGE_HOSTDEV: - self.window.get_widget("summary-hostdev").show() - self.window.get_widget("summary-host-device-type").set_text(self.get_config_host_device_type_info()[0]) - self.window.get_widget("summary-host-device").set_text(self.get_config_host_device_info()[0]) + info_list = [ + (_("Type:"), self.get_config_host_device_type_info()[0]), + (_("Device:"), self.get_config_host_device_info()[0]), + ] + title = _("Physical Host Device") + + set_table(title, info_list) + def close(self, ignore1=None,ignore2=None): self.topwin.hide() diff --git a/src/vmm-add-hardware.glade b/src/vmm-add-hardware.glade index 8b7fb589..38a8cda8 100644 --- a/src/vmm-add-hardware.glade +++ b/src/vmm-add-hardware.glade @@ -71,21 +71,9 @@ True 6 - 1 2 3 3 - - - True - 0 - Hardware type: - - - GTK_FILL - - - True @@ -99,6 +87,17 @@ GTK_FILL + + + True + 0 + Hardware type: + + + GTK_FILL + + + @@ -247,58 +246,44 @@ - + True - 0 - 0 - - - - - - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - 1 - 4 - Loc_ation: - True + True + Allocate entire virtual disk now True - storage-partition-address + 0 + True + True - 2 - 3 - 1 - 2 + 3 + 4 + 7 + 8 GTK_FILL - + True - + True - gtk-info + 0 + gtk-dialog-warning False - + True 7 - <small><b>Example:</b> /dev/hdc2</small> + <small><b>Warning:</b>If you do not allocate the entire disk now, space will be allocated as needed while the virtual machine is running. If sufficient free space is not available on the host, this may result in data corruption on the virtual machine.</small> True + True False @@ -307,189 +292,12 @@ - - 3 - 4 - 2 - 3 - GTK_FILL - - - - - True - 1 - 4 - _Location: - True - True - storage-file-address - 2 - 3 - 5 - 6 - GTK_FILL - - - - - - True - 0 - - - 3 - 4 - 3 - 4 - GTK_FILL - - - - - - True - 0 - 0 - - - True - True - _Block device (partition): - True - 0 - True - True - - - - - 5 + 8 + 9 GTK_FILL - GTK_FILL - - - - - True - 0 - 0 - - - True - True - F_ile (disk image): - True - 0 - True - storage-partition - - - - - - 5 - 4 - 5 - GTK_FILL - GTK_FILL - - - - - True - - - True - True - - Partition Location Field - - - - - - True - True - Browse... - True - 0 - - - - False - False - 1 - - - - - 3 - 5 - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - - - True - True - - File Location Field - - - - - - - True - True - Browse... - True - 0 - - - - False - False - 1 - - - - - 3 - 5 - 5 - 6 - GTK_FILL - GTK_FILL - - - - - True - 1 - 4 - _Size: - True - True - storage-file-size - - - 2 - 3 - 6 - 7 - GTK_FILL - @@ -546,25 +354,45 @@ - + + True + 1 + 4 + _Size: + True + True + storage-file-size + + + 2 + 3 + 6 + 7 + GTK_FILL + + + + + True - + True - 0 - gtk-dialog-warning + True + + File Location Field + + - - False - - + True - 7 - <small><b>Warning:</b>If you do not allocate the entire disk now, space will be allocated as needed while the virtual machine is running. If sufficient free space is not available on the host, this may result in data corruption on the virtual machine.</small> - True - True + True + Browse... + True + 0 + False @@ -574,32 +402,203 @@ - 2 + 3 5 - 8 - 9 + 5 + 6 GTK_FILL + GTK_FILL - + True - True - Allocate entire virtual disk now - True - 0 - True - True + + + True + True + + Partition Location Field + + + + + + True + True + Browse... + True + 0 + + + + False + False + 1 + + + + + 3 + 5 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + True + 0 + 0 + + + True + True + F_ile (disk image): + True + 0 + True + storage-partition + + + + + + 5 + 4 + 5 + GTK_FILL + GTK_FILL + + + + + True + 0 + 0 + + + True + True + _Block device (partition): + True + 0 + True + True + + + + + + 5 + GTK_FILL + GTK_FILL + + + + + True + 0 3 4 - 7 - 8 + 3 + 4 GTK_FILL + + + True + 1 + 4 + _Location: + True + True + storage-file-address + + + 2 + 3 + 5 + 6 + GTK_FILL + + + + + + True + + + True + gtk-info + + + False + + + + + True + 7 + <small><b>Example:</b> /dev/hdc2</small> + True + + + False + False + 1 + + + + + 3 + 4 + 2 + 3 + GTK_FILL + + + + + True + 1 + 4 + Loc_ation: + True + True + storage-partition-address + + + 2 + 3 + 1 + 2 + GTK_FILL + + + + + + True + 0 + 0 + + + + + + 1 + 2 + GTK_FILL + GTK_FILL + + @@ -760,96 +759,148 @@ 2 6 - + True + + + 1 + 2 + 8 + 9 + + + + + True + 1 + Device Model: + + + 8 + 9 + GTK_FILL + + + + + True + True + 17 - Network Device Select + MAC Address Field 1 2 - 4 - 5 - GTK_FILL - GTK_FILL + 7 + 8 + - + True - True - _Virtual network + 1 + _MAC address: + True True - 0 - True - True - + create-mac-address - 2 + 7 + 8 GTK_FILL - GTK_FILL + - + True True - _Shared physical device + Set fixed MAC _address for this NIC? True 0 True - net-type-network - + 2 - 3 - 4 + 6 + 7 GTK_FILL - GTK_FILL + - + True 40 - + True - + True - 0 - gtk-dialog-info - - - False - - - - - True - 7 - <small><b>Tip:</b> Choose this option if your host is disconnected, connected via wireless, or dynamically configured with NetworkManager.</small> + 1 + 4 + _Device: True - True + True + storage-file-address - - False - False - 1 - - 2 - 2 - 3 + 4 + 5 GTK_FILL + + + + + + True + 40 + + + True + + + True + 1 + 4 + _Network: + True + True + storage-partition-address + + + + + + + 1 + 2 + GTK_FILL + + + + + + True + + Virtual Network Select + + + + 1 + 2 + 1 + 2 + GTK_FILL @@ -894,148 +945,96 @@ - + True - - Virtual Network Select - + 40 + + + True + + + True + 0 + gtk-dialog-info + + + False + + + + + True + 7 + <small><b>Tip:</b> Choose this option if your host is disconnected, connected via wireless, or dynamically configured with NetworkManager.</small> + True + True + + + False + False + 1 + + + + - 1 2 - 1 - 2 + 2 + 3 + GTK_FILL + + + + + True + True + _Shared physical device + True + 0 + True + net-type-network + + + + 2 + 3 + 4 + GTK_FILL GTK_FILL - - True - 40 - - - True - - - True - 1 - 4 - _Network: - True - True - storage-partition-address - - - - - - - 1 - 2 - GTK_FILL - - - - - - True - 40 - - - True - - - True - 1 - 4 - _Device: - True - True - storage-file-address - - - - - - - 4 - 5 - GTK_FILL - - - - - + True True - Set fixed MAC _address for this NIC? + _Virtual network True 0 + True True - + 2 - 6 - 7 GTK_FILL - + GTK_FILL - + True - 1 - _MAC address: - True - True - create-mac-address - - - 7 - 8 - GTK_FILL - - - - - - True - True - 17 - MAC Address Field + Network Device Select 1 2 - 7 - 8 - - - - - - True - 1 - Device Model: - - - 8 - 9 + 4 + 5 GTK_FILL - - - - - True - - - 1 - 2 - 8 - 9 + GTK_FILL @@ -1132,6 +1131,26 @@ 2 6 6 + + + True + + + 1 + 2 + + + + + True + 1 + Type: + + + GTK_FILL + + + True @@ -1173,26 +1192,6 @@ GTK_FILL - - - True - 1 - Type: - - - GTK_FILL - - - - - - True - - - 1 - 2 - - @@ -1313,33 +1312,97 @@ - + True - 1 - Type: - - - GTK_FILL - - - - - - True - + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 4 + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + 3 + 4 + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + Other: + + + 2 + 3 + + + 10 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + 1 + 2 + + + 17 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Same as host + GTK_RELIEF_HALF + 0 + True + + + + GTK_FILL + + 1 2 + 6 + 7 - + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 - Address: + Keymap: + 6 + 7 + + + + + True + True + Listen on all public network interfaces + True + 0 + True + + + 1 + 2 2 3 GTK_FILL @@ -1347,86 +1410,46 @@ - - True - 1 - Port: - - - 3 - 4 - GTK_FILL - - - - - - True - 1 - Password: - - - 5 - 6 - GTK_FILL - - - - - + True + 6 + 20 - + True - True - 5900 5900 5999 1 10 0 - 1 - True - True - GTK_UPDATE_IF_VALID + + + True + 0 + gtk-dialog-info + + + False + + + + + True + 7 + <small><b>Tip:</b> Automatically allocating the port ensures that every virtual machine uses a unique port. If two machines try to use the same port, one of them will fail to start.</small> + True + True + + + False + False + 1 + + - - False - - - - - True - True - Automatically allocated - True - 0 - True - - - - False - False - 1 - 1 2 - 3 - 4 + 4 + 5 GTK_FILL - GTK_FILL - - - - - True - True - False - - - 1 - 2 - 5 - 6 - @@ -1474,60 +1497,95 @@ - + + True + True + False + + + 1 + 2 + 5 + 6 + + + + + True - 6 - 20 - + True - - - True - 0 - gtk-dialog-info - - - False - - - - - True - 7 - <small><b>Tip:</b> Automatically allocating the port ensures that every virtual machine uses a unique port. If two machines try to use the same port, one of them will fail to start.</small> - True - True - - - False - False - 1 - - + True + 5900 5900 5999 1 10 0 + 1 + True + True + GTK_UPDATE_IF_VALID + + False + + + + + True + True + Automatically allocated + True + 0 + True + + + + False + False + 1 + 1 2 - 4 - 5 + 3 + 4 GTK_FILL + GTK_FILL - + True - True - Listen on all public network interfaces - True - 0 - True + 1 + Password: + + + 5 + 6 + GTK_FILL + + + + + + True + 1 + Port: + + + 3 + 4 + GTK_FILL + + + + + + True + 1 + Address: - 1 - 2 2 3 GTK_FILL @@ -1535,84 +1593,24 @@ - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 1 - Keymap: - - - 6 - 7 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 1 - 4 - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Same as host - GTK_RELIEF_HALF - 0 - True - - - - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - 1 - 2 - - - 17 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - Other: - - - 2 - 3 - - - 10 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - 3 - 4 - - - + 1 2 - 6 - 7 + + + + + True + 1 + Type: + + + GTK_FILL + @@ -1719,20 +1717,9 @@ True 6 - 1 2 6 6 - - - True - - - 1 - 2 - GTK_FILL - - True @@ -1744,6 +1731,16 @@ + + + True + + + 1 + 2 + GTK_FILL + + @@ -1854,12 +1851,22 @@ to connect to the virtual machine. 6 6 - + True + 0 + Device Type: + + + GTK_FILL + + + + + True + 0 + Device: - 1 - 2 1 2 GTK_FILL @@ -1877,27 +1884,17 @@ to connect to the virtual machine. - + True - 0 - Device: + 1 + 2 1 2 GTK_FILL - - - True - 0 - Device Type: - - - GTK_FILL - - @@ -1945,6 +1942,7 @@ to connect to the virtual machine. True 1 + 18 True @@ -1976,679 +1974,104 @@ to connect to the virtual machine. 0.10000000149011612 0.10000000149011612 0 - 6 - 6 - 24 - 6 + 12 + 12 - + True - 2 + 0 + GTK_SHADOW_NONE - - 6 - 3 - 3 - 3 - 3 - - - - - - - - - True - 0 - 5 GB - - - 2 - 3 - 2 - 3 - - - - - - True - 0 - /xen/demo.img - PANGO_ELLIPSIZE_MIDDLE - - - 2 - 3 - 1 - 2 - GTK_FILL - - - - - - True - 1 - Disk image: - True - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - 1 - Disk size: - True - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - - True - 0 - 5 - <b>Storage</b> - True - - - 3 - GTK_FILL - - - - - - - - 6 - 5 - 3 - 3 - 3 - - - - - - - - - - - - - - - True - 0 - - - - - 2 - 3 - 4 - 5 - GTK_FILL - - - - - True - 1 - Model: - - - 1 - 2 - 4 - 5 - GTK_FILL - - - - - True - 0 - 5 - <b>Network</b> - True - - - 3 - GTK_FILL - - - - - - True - 0 - Shared Physical Device - - - 2 - 3 - 1 - 2 - GTK_FILL - - - - - - True - 0 - eth0 - - - 2 - 3 - 2 - 3 - GTK_FILL - - - - - - True - 1 - Connection type: - True - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - 1 - Target: - True - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - - True - 1 - MAC address: - True - - - 1 - 2 - 3 - 4 - GTK_FILL - - - - - - True - 0 - - - - - 2 - 3 - 3 - 4 - GTK_FILL - - - - - - 1 - - - - - 6 - 3 - 3 - 3 - 3 - - - - - - - - - True - 0 - 5 - <b>Pointer</b> - True - - - 3 - GTK_FILL - - - - - - True - 0 - EvTouch Tablet - - - 2 - 3 - 1 - 2 - GTK_FILL - - - - - - True - 0 - Absolute - - - 2 - 3 - 2 - 3 - GTK_FILL - - - - - - True - 1 - Type: - True - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - 1 - Mode: - True - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - - 2 - - - - - 6 - 6 - 3 - 3 - 3 - - - - - - - - - - - - - - - - - - True - 0 - 5 - <b>Graphics</b> - True - - - 3 - GTK_FILL - - - - - - True - 0 - VNC - - - 2 - 3 - 1 - 2 - GTK_FILL - - - - - - True - 0 - 127.0.0.1 - - - 2 - 3 - 2 - 3 - GTK_FILL - - - - - - True - 1 - Type: - True - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - 1 - Address: - True - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - - True - 1 - Port: - True - - - 1 - 2 - 3 - 4 - GTK_FILL - - - - - - True - 1 - Password: - True - - - 1 - 2 - 4 - 5 - GTK_FILL - - - - - - True - 0 - Automatically allocated - - - 2 - 3 - 3 - 4 - GTK_FILL - - - - - - True - 0 - No - - - 2 - 3 - 4 - 5 - GTK_FILL - - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 1 - Keymap: - - - 1 - 2 - 5 - 6 - GTK_FILL - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 0 - keylabel - - - 2 - 3 - 5 - 6 - GTK_FILL - - - - - 3 - - - - - 6 - 2 - 2 - 3 - 3 - - - True - 0 - es1370 - - - 1 - 2 - 1 - 2 - - - - - True - 1 - Model: - - - 1 - 2 - - - - - - True - 0 - <b>Sound</b> - True - - - 2 - - - - - 4 - - - - + True - 3 - 3 - 2 - 8 - 3 + 6 + 12 - + True - 0 - summary-host-device + 10 + 2 + 6 + 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 1 - 2 - 2 - 3 - - - - - True - 0 - summary-host-device-type - - - 1 - 2 - 1 - 2 - - - - - True - 1 - Device: - - - 2 - 3 - GTK_FILL - - - - - True - 1 - Device Type: - - - 1 - 2 - GTK_FILL - - - - - True - 0 - <b>Physical Host Device</b> - True - - - 2 - + + + + True + <b>frame7</b> + True + - 5 + label_item + False 1