create: Move mac address editing to customize dialog

People should rarely need to edit the mac address, so remove it from
the create wizard. However we only allow editing the mac address in
the 'customize' dialog: regular network details disables editing, since
that should be a rare and potentially dangerous operation.
This commit is contained in:
Cole Robinson 2015-04-07 18:52:35 -04:00
parent 55c8453d15
commit 1d98af2c47
5 changed files with 107 additions and 110 deletions

View File

@ -65,9 +65,9 @@
<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">&lt;span size='large' color='white'&gt;Create a new virtual machine&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -79,9 +79,9 @@
<object class="GtkLabel" id="header-pagenum">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">&lt;span color='#59B0E2'&gt;Step foo of bar&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
@ -152,8 +152,8 @@
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose how you would like to install the operating system</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -267,8 +267,8 @@
<object class="GtkLabel" id="label44">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose the container type</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -355,10 +355,10 @@
<object class="GtkLabel" id="label77">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">C_onnection:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">create-conn</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@ -385,11 +385,11 @@
<object class="GtkLabel" id="create-conn-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">conn label</property>
<property name="ellipsize">end</property>
<property name="width_chars">25</property>
<property name="max_width_chars">25</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
@ -454,10 +454,10 @@
<object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">_Virt Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-hv</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -468,10 +468,10 @@
<object class="GtkLabel" id="label30">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">_Architecture:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-arch</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -482,10 +482,10 @@
<object class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">_Machine Type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-machine</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -552,12 +552,12 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="hexpand">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="label" translatable="yes">Error message
bar</property>
<property name="wrap">True</property>
<property name="max_width_chars">45</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -613,8 +613,8 @@ bar</property>
<object class="GtkLabel" id="label21">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Locate your install media</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -781,8 +781,8 @@ bar</property>
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Provide the operating system install URL</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -811,8 +811,8 @@ bar</property>
<object class="GtkLabel" id="label24">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">URL:</property>
<property name="xalign">1</property>
</object>
</child>
</object>
@ -846,8 +846,8 @@ bar</property>
<object class="GtkLabel" id="label25">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Kickstart URL:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@ -858,8 +858,8 @@ bar</property>
<object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Kernel options:</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="top_attach">1</property>
@ -1009,8 +1009,8 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label41">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Provide the existing storage path:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1081,8 +1081,8 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Direct kernel boot:</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1105,10 +1105,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label38">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Kernel path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-kernel</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -1119,10 +1119,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label48">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Initrd path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-initrd</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -1133,10 +1133,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label49">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_DTB path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-dtb</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -1259,10 +1259,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label51">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Kerne_l args:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-kernel-args</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -1323,10 +1323,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label43">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Provide the _application path:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">install-app-entry</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1405,10 +1405,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label45">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Provide the existing OS root _directory:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">install-oscontainer-fs</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1486,10 +1486,10 @@ User shouldn't see this.</property>
<object class="GtkLabel" id="label46">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;small&gt;The OS directory tree must already exist. Creating an OS directory tree
is not yet supported.&lt;/small&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
@ -1575,8 +1575,8 @@ is not yet supported.&lt;/small&gt;</property>
<child>
<object class="GtkLabel" id="install-nodetect-label">
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose an operating system type and version</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1601,8 +1601,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="install-os-version-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">-</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -1616,8 +1616,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="install-os-type-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">-</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -1643,10 +1643,10 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Version:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">install-os-version</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="top_attach">1</property>
@ -1659,10 +1659,10 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label16">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">OS _type:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">install-os-type</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@ -1736,8 +1736,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label15">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose Memory and CPU settings</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -1767,10 +1767,10 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label27">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">C_PUs:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-cpus</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="top_attach">2</property>
@ -1783,10 +1783,10 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">_Memory (RAM):</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">config-mem</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@ -1829,8 +1829,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="phys-cpu-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">Insert Phys cpu count</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -1881,8 +1881,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="label29">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">MiB</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">2</property>
@ -1899,8 +1899,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="phys-mem-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">(Insert host mem)</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
@ -2024,9 +2024,9 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-title">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">Ready to begin the installation</property>
<property name="use_markup">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@ -2050,8 +2050,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-install">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -2062,8 +2062,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-mem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -2074,8 +2074,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-cpu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -2086,12 +2086,12 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-storage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<property name="width_chars">31</property>
<property name="max_width_chars">31</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -2133,11 +2133,11 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;_Name:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">create-vm-name</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2148,8 +2148,8 @@ is not yet supported.&lt;/small&gt;</property>
<object class="GtkLabel" id="summary-os">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label">label</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
@ -2161,9 +2161,9 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;Install:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2175,9 +2175,9 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;Memory:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2189,9 +2189,9 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;CPUs:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2203,9 +2203,9 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;Storage:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2217,9 +2217,9 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">&lt;span color='#484848'&gt;OS:&lt;/span&gt;</property>
<property name="use_markup">True</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -2320,35 +2320,6 @@ is not yet supported.&lt;/small&gt;</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkCheckButton" id="config-set-macaddr">
<property name="label" translatable="yes">Set a fixed _MAC address</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>
<signal name="toggled" handler="on_config_set_macaddr_toggled" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="config-macaddr">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="hexpand">False</property>
<property name="width_chars">20</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkAlignment" id="config-netdev-ui-align">
<property name="visible">True</property>

View File

@ -4287,19 +4287,6 @@ if you know what you are doing.&lt;/small&gt;</property>
<property name="border_width">3</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="network-mac-address">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label">mac</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label509">
<property name="visible">True</property>
@ -4377,6 +4364,42 @@ if you know what you are doing.&lt;/small&gt;</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="box18">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="network-mac-label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label">mac</property>
<property name="selectable">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="network-mac-entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<signal name="changed" handler="on_network_mac_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
</packing>
</child>
</object>
</child>
</object>

View File

@ -142,8 +142,6 @@ class vmmCreate(vmmGObjectUI):
"on_enable_storage_toggled": self.toggle_enable_storage,
"on_config_set_macaddr_toggled": self.toggle_macaddr,
"on_config_hv_changed": self.hv_changed,
"on_config_arch_changed": self.arch_changed,
})
@ -609,11 +607,6 @@ class vmmCreate(vmmGObjectUI):
self.addstorage.reset_state()
# Networking
newmac = virtinst.VirtualNetworkInterface.generate_mac(
self.conn.get_backend())
self.widget("config-set-macaddr").set_active(bool(newmac))
self.widget("config-macaddr").set_text(newmac)
self.widget("config-advanced-expander").set_expanded(False)
if self.netlist:
@ -1259,9 +1252,6 @@ class vmmCreate(vmmGObjectUI):
def toggle_enable_storage(self, src):
self.widget("config-storage-align").set_sensitive(src.get_active())
def toggle_macaddr(self, src):
self.widget("config-macaddr").set_sensitive(src.get_active())
# Navigation methods
def set_install_page(self):
instnotebook = self.widget("install-method-pages")
@ -1730,11 +1720,7 @@ class vmmCreate(vmmGObjectUI):
if not self.validate_storage_page():
return False
macaddr = None
if self.widget("config-macaddr").get_sensitive():
macaddr = self.widget("config-macaddr").get_text().strip()
nettype = self.netlist.get_network_selection()[0]
if nettype is None:
# No network device available
instmethod = self.get_config_install_page()
@ -1749,6 +1735,8 @@ class vmmCreate(vmmGObjectUI):
_("Network device required for %s install.") %
methname)
macaddr = virtinst.VirtualNetworkInterface.generate_mac(
self.conn.get_backend())
nic = self.netlist.validate_network(macaddr)
if nic is False:
return False

View File

@ -84,6 +84,7 @@ EDIT_SMARTCARD_MODE,
EDIT_NET_MODEL,
EDIT_NET_VPORT,
EDIT_NET_SOURCE,
EDIT_NET_MAC,
EDIT_GFX_PASSWD,
EDIT_GFX_TYPE,
@ -105,7 +106,7 @@ EDIT_FS,
EDIT_HOSTDEV_ROMBAR,
) = range(1, 46)
) = range(1, 47)
# Columns in hw list model
@ -515,6 +516,8 @@ class vmmDetails(vmmGObjectUI):
"on_disk_sgio_entry_changed": lambda *x: self.enable_apply(x, EDIT_DISK_SGIO),
"on_network_model_combo_changed": lambda *x: self.enable_apply(x, EDIT_NET_MODEL),
"on_network_mac_entry_changed": lambda *x: self.enable_apply(x,
EDIT_NET_MAC),
"on_sound_model_combo_changed": lambda *x: self.enable_apply(x,
EDIT_SOUND_MODEL),
@ -995,6 +998,11 @@ class vmmDetails(vmmGObjectUI):
net_model = self.widget("network-model")
vmmAddHardware.build_network_model_combo(self.vm, net_model)
# Network mac
self.widget("network-mac-label").set_visible(
not self.is_customize_dialog)
self.widget("network-mac-entry").set_visible(self.is_customize_dialog)
# Sound model
sound_dev = self.widget("sound-model")
vmmAddHardware.build_sound_combo(self.vm, sound_dev,
@ -2221,6 +2229,9 @@ class vmmDetails(vmmGObjectUI):
kwargs["typeid"], kwargs["typeidversion"],
kwargs["instanceid"]) = self.netlist.get_vport()
if self.edited(EDIT_NET_MAC):
kwargs["macaddr"] = self.widget("network-mac-entry").get_text()
return vmmAddHardware.change_config_helper(self.vm.define_network,
kwargs, self.vm, self.err,
devobj=devobj)
@ -2756,10 +2767,11 @@ class vmmDetails(vmmGObjectUI):
self.vm, self.widget("network-model"))
uiutil.set_combo_entry(self.widget("network-model"), net.model)
uiutil.set_grid_row_visible(self.widget("network-mac-address"),
bool(net.macaddr))
if net.macaddr:
self.widget("network-mac-address").set_text(net.macaddr)
macaddr = net.macaddr or ""
if self.widget("network-mac-label").is_visible():
self.widget("network-mac-label").set_text(macaddr)
else:
self.widget("network-mac-entry").set_text(macaddr)
self.netlist.set_dev(net)

View File

@ -789,7 +789,7 @@ class vmmDomain(vmmLibvirtObject):
mode=_SENTINEL, model=_SENTINEL, addrstr=_SENTINEL,
vtype=_SENTINEL, managerid=_SENTINEL, typeid=_SENTINEL,
typeidversion=_SENTINEL, instanceid=_SENTINEL,
portgroup=_SENTINEL):
portgroup=_SENTINEL, macaddr=_SENTINEL):
def change(editdev):
if ntype != _SENTINEL:
@ -812,6 +812,9 @@ class vmmDomain(vmmLibvirtObject):
editdev.virtualport.typeid = typeid or None
editdev.virtualport.typeidversion = typeidversion or None
editdev.virtualport.instanceid = instanceid or None
if macaddr != _SENTINEL:
editdev.macaddr = macaddr
return self._redefine_device(change, devobj, use_live_device)
def define_graphics(self, devobj, use_live_device,