details: Allow changing clock offset value.

This commit is contained in:
Cole Robinson 2009-11-04 08:46:09 -05:00
parent 90a35cab48
commit d602b5f38b
3 changed files with 24 additions and 3 deletions

View File

@ -175,6 +175,7 @@ class vmmDetails(gobject.GObject):
"on_overview_acpi_changed": self.config_enable_apply,
"on_overview_apic_changed": self.config_enable_apply,
"on_overview_clock_changed": self.config_enable_apply,
"on_config_vcpus_changed": self.config_vcpus_changed,
"on_config_memory_changed": self.config_memory_changed,
"on_config_maxmem_changed": self.config_maxmem_changed,
@ -343,9 +344,6 @@ class vmmDetails(gobject.GObject):
graph_table.attach(self.network_traffic_graph, 1, 2, 3, 4)
def init_details(self):
# Disable all 'machine details' options since we don't yet allow edit
self.window.get_widget("overview-clock-combo").set_sensitive(False)
# Hardware list
# [ label, icon name, icon size, hw type, hw data ]
hw_list_model = gtk.ListStore(str, str, int, int,
@ -922,6 +920,11 @@ class vmmDetails(gobject.GObject):
# Machine details
enable_acpi = self.window.get_widget("overview-acpi").get_active()
enable_apic = self.window.get_widget("overview-apic").get_active()
clock_combo = self.window.get_widget("overview-clock-combo")
if clock_combo.get_property("visible"):
clock = clock_combo.get_model()[clock_combo.get_active()][0]
else:
clock = self.window.get_widget("overview-clock-label").get_text()
# Security
combo = self.window.get_widget("security-model")
@ -940,9 +943,11 @@ class vmmDetails(gobject.GObject):
return self._change_config_helper([self.vm.define_acpi,
self.vm.define_apic,
self.vm.define_clock,
self.vm.define_seclabel],
[(enable_acpi,),
(enable_apic,),
(clock,),
(semodel, setype, selabel)])
# CPUs

View File

@ -603,6 +603,21 @@ class vmmDomain(gobject.GObject):
return
self.redefine(self._change_features_helper, "apic", do_enable)
def define_clock(self, newclock):
if newclock == self.get_clock():
return
def change_clock(doc, ctx, newclock):
clock_node = ctx.xpathEval("/domain/clock")
clock_node = (clock_node and clock_node[0] or None)
if clock_node:
clock_node.setProp("offset", newclock)
return doc.serialize()
return self.redefine(util.xml_parse_wrapper, change_clock, newclock)
########################
# End XML Altering API #
########################

View File

@ -1259,6 +1259,7 @@
<child>
<widget class="GtkComboBox" id="overview-clock-combo">
<property name="visible">True</property>
<signal name="changed" handler="on_overview_clock_changed"/>
</widget>
<packing>
<property name="expand">False</property>