'Include in memory balancing' heckbox issue fixed (#498).
This commit is contained in:
parent
81bb0f75a6
commit
2ab9570045
@ -358,7 +358,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.vcpus.setMaximum(QubesHost().no_cpus)
|
self.vcpus.setMaximum(QubesHost().no_cpus)
|
||||||
self.vcpus.setValue(int(self.vm.vcpus))
|
self.vcpus.setValue(int(self.vm.vcpus))
|
||||||
|
|
||||||
self.include_in_balancing.setChecked('meminfo-writer' in self.vm.services and self.vm.services['meminfo-writer']==True)
|
self.include_in_balancing.setChecked(self.vm.services['meminfo-writer']==True)
|
||||||
|
|
||||||
#kernel
|
#kernel
|
||||||
if self.vm.template is not None:
|
if self.vm.template is not None:
|
||||||
@ -415,10 +415,8 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.vm.vcpus = self.vcpus.value()
|
self.vm.vcpus = self.vcpus.value()
|
||||||
self.anything_changed = True
|
self.anything_changed = True
|
||||||
|
|
||||||
balancing_was_checked = ('meminfo-writer' in self.vm.services and self.vm.services['meminfo-writer']==True)
|
#include_in_memory_balancing applied in services tab
|
||||||
if self.include_in_balancing.isChecked() != balancing_was_checked:
|
|
||||||
self.new_srv_dict['meminfo-writer'] = self.include_in_balancing.isChecked()
|
|
||||||
self.anything_changed = True
|
|
||||||
|
|
||||||
#kernel changed
|
#kernel changed
|
||||||
if self.kernel.currentIndex() != self.kernel_idx:
|
if self.kernel.currentIndex() != self.kernel_idx:
|
||||||
@ -489,6 +487,12 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.anything_changed = True
|
self.anything_changed = True
|
||||||
|
|
||||||
def include_in_balancing_state_changed(self, state):
|
def include_in_balancing_state_changed(self, state):
|
||||||
|
for r in range (self.services_list.count()):
|
||||||
|
item = self.services_list.item(r)
|
||||||
|
if str(item.text()) == 'meminfo-writer':
|
||||||
|
item.setCheckState(state)
|
||||||
|
break;
|
||||||
|
|
||||||
if self.dev_list.selected_list.count() > 0:
|
if self.dev_list.selected_list.count() > 0:
|
||||||
if state == QtCore.Qt.Checked:
|
if state == QtCore.Qt.Checked:
|
||||||
self.dmm_warning_adv.show()
|
self.dmm_warning_adv.show()
|
||||||
@ -496,6 +500,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
else:
|
else:
|
||||||
self.dmm_warning_adv.hide()
|
self.dmm_warning_adv.hide()
|
||||||
self.dmm_warning_dev.hide()
|
self.dmm_warning_dev.hide()
|
||||||
|
|
||||||
def devices_selection_changed(self):
|
def devices_selection_changed(self):
|
||||||
if self.include_in_balancing.isChecked():
|
if self.include_in_balancing.isChecked():
|
||||||
if self.dev_list.selected_list.count() > 0 :
|
if self.dev_list.selected_list.count() > 0 :
|
||||||
@ -515,28 +520,54 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
else:
|
else:
|
||||||
item.setCheckState(QtCore.Qt.Unchecked)
|
item.setCheckState(QtCore.Qt.Unchecked)
|
||||||
self.services_list.addItem(item)
|
self.services_list.addItem(item)
|
||||||
|
|
||||||
|
self.connect(self.services_list, SIGNAL("itemClicked(QListWidgetItem *)"), self.services_item_clicked)
|
||||||
self.new_srv_dict = copy(self.vm.services)
|
self.new_srv_dict = copy(self.vm.services)
|
||||||
|
|
||||||
def __add_service__(self):
|
def __add_service__(self):
|
||||||
srv = str(self.service_line_edit.text()).strip()
|
srv = str(self.service_line_edit.text()).strip()
|
||||||
if srv != "" and srv not in self.new_srv_dict:
|
if srv != "":
|
||||||
item = QListWidgetItem(srv)
|
if srv in self.new_srv_dict:
|
||||||
item.setCheckState(QtCore.Qt.Checked)
|
QMessageBox.information(None, "", "Service already on the list!")
|
||||||
self.services_list.addItem(item)
|
else:
|
||||||
self.new_srv_dict[srv] = True
|
item = QListWidgetItem(srv)
|
||||||
|
item.setCheckState(QtCore.Qt.Checked)
|
||||||
|
self.services_list.addItem(item)
|
||||||
|
self.new_srv_dict[srv] = True
|
||||||
|
|
||||||
def __remove_service__(self):
|
def __remove_service__(self):
|
||||||
row = self.services_list.currentRow()
|
item = self.services_list.currentItem()
|
||||||
if row:
|
if str(item.text()) == 'meminfo-writer':
|
||||||
|
QMessageBox.information(None, "Service can not be removed", "Service meminfo-writer can not be removed from the list.")
|
||||||
|
else:
|
||||||
|
row = self.services_list.currentRow()
|
||||||
item = self.services_list.takeItem(row)
|
item = self.services_list.takeItem(row)
|
||||||
del self.new_srv_dict[str(item.text())]
|
del self.new_srv_dict[str(item.text())]
|
||||||
|
|
||||||
|
|
||||||
|
def services_item_clicked(self, item):
|
||||||
|
if str(item.text()) == 'meminfo-writer':
|
||||||
|
if item.checkState() == QtCore.Qt.Checked:
|
||||||
|
if not self.include_in_balancing.isChecked():
|
||||||
|
self.include_in_balancing.setChecked(True)
|
||||||
|
elif item.checkState() == QtCore.Qt.Unchecked:
|
||||||
|
if self.include_in_balancing.isChecked():
|
||||||
|
self.include_in_balancing.setChecked(False)
|
||||||
|
|
||||||
|
|
||||||
def __apply_services_tab__(self):
|
def __apply_services_tab__(self):
|
||||||
new_dict = {}
|
|
||||||
for r in range (self.services_list.count()):
|
for r in range (self.services_list.count()):
|
||||||
item = self.services_list.item(r)
|
item = self.services_list.item(r)
|
||||||
self.new_srv_dict[str(item.text())] = (item.checkState() == QtCore.Qt.Checked)
|
self.new_srv_dict[str(item.text())] = (item.checkState() == QtCore.Qt.Checked)
|
||||||
|
|
||||||
|
balancing_was_checked = (self.vm.services['meminfo-writer']==True)
|
||||||
|
balancing_is_checked = self.include_in_balancing.isChecked()
|
||||||
|
meminfo_writer_checked = (self.new_srv_dict['meminfo-writer'] == True)
|
||||||
|
|
||||||
|
if balancing_is_checked != meminfo_writer_checked:
|
||||||
|
if balancing_is_checked != balancing_was_checked:
|
||||||
|
self.new_srv_dict['meminfo-writer'] = balancing_is_checked
|
||||||
|
|
||||||
if self.new_srv_dict != self.vm.services:
|
if self.new_srv_dict != self.vm.services:
|
||||||
self.vm.services = self.new_srv_dict
|
self.vm.services = self.new_srv_dict
|
||||||
self.anything_changed = True
|
self.anything_changed = True
|
||||||
|
Loading…
Reference in New Issue
Block a user