mainui: Changed the showhide algorithm to handle internal VMs
Additionnally, the windows resizing algorithm has been changed to use the count of displayed internal VMs.
This commit is contained in:
parent
268c9a9d94
commit
cff51fdabd
@ -734,6 +734,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
self.screen_changed = False
|
self.screen_changed = False
|
||||||
|
|
||||||
self.running_vms_count = 0
|
self.running_vms_count = 0
|
||||||
|
self.internal_vms_count = 0
|
||||||
|
|
||||||
self.vm_errors = {}
|
self.vm_errors = {}
|
||||||
self.vm_rec = {}
|
self.vm_rec = {}
|
||||||
@ -903,6 +904,15 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
n = self.table.rowCount()
|
n = self.table.rowCount()
|
||||||
else:
|
else:
|
||||||
n = self.running_vms_count
|
n = self.running_vms_count
|
||||||
|
if self.show_internal_vms:
|
||||||
|
if self.show_inactive_vms:
|
||||||
|
n = self.table.rowCount()
|
||||||
|
else:
|
||||||
|
n = self.running_vms_count
|
||||||
|
elif self.show_inactive_vms:
|
||||||
|
n = self.table.rowCount() - self.internal_vms_count
|
||||||
|
else:
|
||||||
|
n = self.running_vms_count
|
||||||
|
|
||||||
if n > default_rows:
|
if n > default_rows:
|
||||||
H += default_rows*self.row_height
|
H += default_rows*self.row_height
|
||||||
@ -945,6 +955,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
self.qvm_collection.unlock_db()
|
self.qvm_collection.unlock_db()
|
||||||
|
|
||||||
running_count = 0
|
running_count = 0
|
||||||
|
internal_count = 0
|
||||||
|
|
||||||
vms_list = [vm for vm in self.qvm_collection.values()]
|
vms_list = [vm for vm in self.qvm_collection.values()]
|
||||||
for vm in vms_list:
|
for vm in vms_list:
|
||||||
@ -952,10 +963,12 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
vm.last_running = vm.last_power_state in ["Running", "Transient"]
|
vm.last_running = vm.last_power_state in ["Running", "Transient"]
|
||||||
if vm.last_running:
|
if vm.last_running:
|
||||||
running_count += 1
|
running_count += 1
|
||||||
|
if vm.internal:
|
||||||
|
internal_count += 1
|
||||||
vm.error_msg = self.vm_errors[vm.qid] if vm.qid in self.vm_errors else None
|
vm.error_msg = self.vm_errors[vm.qid] if vm.qid in self.vm_errors else None
|
||||||
|
|
||||||
self.running_vms_count = running_count
|
self.running_vms_count = running_count
|
||||||
|
self.internal_vms_count = internal_count
|
||||||
return vms_list
|
return vms_list
|
||||||
|
|
||||||
def fill_table(self):
|
def fill_table(self):
|
||||||
@ -981,14 +994,14 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
self.reload_table = False
|
self.reload_table = False
|
||||||
self.table.setSortingEnabled(True)
|
self.table.setSortingEnabled(True)
|
||||||
|
|
||||||
self.showhide_inactive_vms(True)
|
self.showhide_vms(True, True)
|
||||||
self.set_table_geom_size()
|
self.set_table_geom_size()
|
||||||
if not self.show_inactive_vms:
|
if (not self.show_inactive_vms) or (not self.show_internal_vms):
|
||||||
self.showhide_inactive_vms(self.show_inactive_vms)
|
self.showhide_vms(self.show_inactive_vms, self.show_internal_vms)
|
||||||
self.set_table_geom_size()
|
self.set_table_geom_size()
|
||||||
|
|
||||||
def showhide_inactive_vms(self, show_inactive):
|
def showhide_vms(self, show_inactive, show_internal):
|
||||||
if show_inactive:
|
if show_inactive and show_internal:
|
||||||
row_no = 0
|
row_no = 0
|
||||||
while row_no < self.table.rowCount():
|
while row_no < self.table.rowCount():
|
||||||
self.table.setRowHidden(row_no, False)
|
self.table.setRowHidden(row_no, False)
|
||||||
@ -998,22 +1011,8 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
while row_no < self.table.rowCount():
|
while row_no < self.table.rowCount():
|
||||||
widget = self.table.cellWidget(row_no, self.columns_indices["State"])
|
widget = self.table.cellWidget(row_no, self.columns_indices["State"])
|
||||||
running = widget.vm.last_running
|
running = widget.vm.last_running
|
||||||
if not running:
|
|
||||||
self.table.setRowHidden(row_no, True)
|
|
||||||
row_no += 1
|
|
||||||
|
|
||||||
def showhide_internal_vms(self, show_internal):
|
|
||||||
if show_internal:
|
|
||||||
row_no = 0
|
|
||||||
while row_no < self.table.rowCount():
|
|
||||||
self.table.setRowHidden(row_no, False)
|
|
||||||
row_no += 1
|
|
||||||
else:
|
|
||||||
row_no = 0
|
|
||||||
while row_no < self.table.rowCount():
|
|
||||||
widget = self.table.cellWidget(row_no, self.columns_indices["State"])
|
|
||||||
internal = widget.vm.internal
|
internal = widget.vm.internal
|
||||||
if internal:
|
if not (show_inactive or running) or not (show_internal or not internal):
|
||||||
self.table.setRowHidden(row_no, True)
|
self.table.setRowHidden(row_no, True)
|
||||||
row_no += 1
|
row_no += 1
|
||||||
|
|
||||||
@ -1056,8 +1055,8 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
update_devs=True
|
update_devs=True
|
||||||
|
|
||||||
if (not self.show_inactive_vms) and some_vms_have_changed_power_state:
|
if (not self.show_inactive_vms) and some_vms_have_changed_power_state:
|
||||||
self.showhide_inactive_vms(True)
|
self.showhide_vms(True, True)
|
||||||
self.showhide_inactive_vms(False)
|
self.showhide_vms(False, self.show_internal_vms)
|
||||||
self.set_table_geom_size()
|
self.set_table_geom_size()
|
||||||
|
|
||||||
if self.sort_by_column == "State" and some_vms_have_changed_power_state:
|
if self.sort_by_column == "State" and some_vms_have_changed_power_state:
|
||||||
@ -1574,7 +1573,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
def action_showallvms_triggered(self):
|
def action_showallvms_triggered(self):
|
||||||
self.show_inactive_vms = self.action_showallvms.isChecked()
|
self.show_inactive_vms = self.action_showallvms.isChecked()
|
||||||
|
|
||||||
self.showhide_inactive_vms(self.show_inactive_vms)
|
self.showhide_vms(self.show_inactive_vms, self.show_internal_vms)
|
||||||
self.set_table_geom_size()
|
self.set_table_geom_size()
|
||||||
if self.settings_loaded:
|
if self.settings_loaded:
|
||||||
self.manager_settings.setValue('view/show_inactive_vms', self.show_inactive_vms)
|
self.manager_settings.setValue('view/show_inactive_vms', self.show_inactive_vms)
|
||||||
@ -1584,7 +1583,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow):
|
|||||||
def action_showinternalvms_triggered(self):
|
def action_showinternalvms_triggered(self):
|
||||||
self.show_internal_vms = self.action_showinternalvms.isChecked()
|
self.show_internal_vms = self.action_showinternalvms.isChecked()
|
||||||
|
|
||||||
self.showhide_internal_vms(self.show_internal_vms)
|
self.showhide_vms(self.show_inactive_vms, self.show_internal_vms)
|
||||||
self.set_table_geom_size()
|
self.set_table_geom_size()
|
||||||
if self.settings_loaded:
|
if self.settings_loaded:
|
||||||
self.manager_settings.setValue('view/show_internal_vms', self.show_internal_vms)
|
self.manager_settings.setValue('view/show_internal_vms', self.show_internal_vms)
|
||||||
|
Loading…
Reference in New Issue
Block a user