Added label update to Qube Manager
Manager will now properly display label changes. fixes QubesOS/qubes-issues#3675
This commit is contained in:
parent
0410518d29
commit
a9c8d524c7
@ -143,6 +143,7 @@ class VmRowInTable:
|
|||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
self.label_widget.update()
|
||||||
self.info_widget.update_vm_state()
|
self.info_widget.update_vm_state()
|
||||||
self.template_widget.update()
|
self.template_widget.update()
|
||||||
self.netvm_widget.update()
|
self.netvm_widget.update()
|
||||||
|
@ -33,21 +33,15 @@ row_height = 30
|
|||||||
|
|
||||||
class VmIconWidget(QtGui.QWidget):
|
class VmIconWidget(QtGui.QWidget):
|
||||||
def __init__(self, icon_path, enabled=True, size_multiplier=0.7,
|
def __init__(self, icon_path, enabled=True, size_multiplier=0.7,
|
||||||
tooltip=None, parent=None, icon_sz=(32, 32)):
|
tooltip=None, parent=None,
|
||||||
|
icon_sz=(32, 32)): # pylint: disable=unused-argument
|
||||||
super(VmIconWidget, self).__init__(parent)
|
super(VmIconWidget, self).__init__(parent)
|
||||||
|
|
||||||
|
self.enabled = enabled
|
||||||
|
self.size_multiplier = size_multiplier
|
||||||
self.label_icon = QtGui.QLabel()
|
self.label_icon = QtGui.QLabel()
|
||||||
if icon_path[0] in ':/':
|
self.set_icon(icon_path)
|
||||||
icon = QtGui.QIcon(icon_path)
|
|
||||||
else:
|
|
||||||
icon = QtGui.QIcon.fromTheme(icon_path)
|
|
||||||
icon_sz = QtCore.QSize(row_height * size_multiplier,
|
|
||||||
row_height * size_multiplier)
|
|
||||||
icon_pixmap = icon.pixmap(
|
|
||||||
icon_sz,
|
|
||||||
QtGui.QIcon.Disabled if not enabled else QtGui.QIcon.Normal)
|
|
||||||
self.label_icon.setPixmap(icon_pixmap)
|
|
||||||
self.label_icon.setFixedSize(icon_sz)
|
|
||||||
if tooltip is not None:
|
if tooltip is not None:
|
||||||
self.label_icon.setToolTip(tooltip)
|
self.label_icon.setToolTip(tooltip)
|
||||||
|
|
||||||
@ -62,6 +56,21 @@ class VmIconWidget(QtGui.QWidget):
|
|||||||
else:
|
else:
|
||||||
self.label_icon.setToolTip('')
|
self.label_icon.setToolTip('')
|
||||||
|
|
||||||
|
def set_icon(self, icon_path):
|
||||||
|
|
||||||
|
if icon_path[0] in ':/':
|
||||||
|
icon = QtGui.QIcon(icon_path)
|
||||||
|
else:
|
||||||
|
icon = QtGui.QIcon.fromTheme(icon_path)
|
||||||
|
icon_sz = QtCore.QSize(row_height * self.size_multiplier,
|
||||||
|
row_height * self.size_multiplier)
|
||||||
|
icon_pixmap = icon.pixmap(
|
||||||
|
icon_sz,
|
||||||
|
QtGui.QIcon.Disabled if not self.enabled else QtGui.QIcon.Normal)
|
||||||
|
self.label_icon.setPixmap(icon_pixmap)
|
||||||
|
self.label_icon.setFixedSize(icon_sz)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class VmTypeWidget(VmIconWidget):
|
class VmTypeWidget(VmIconWidget):
|
||||||
class VmTypeItem(QtGui.QTableWidgetItem):
|
class VmTypeItem(QtGui.QTableWidgetItem):
|
||||||
@ -133,8 +142,9 @@ class VmLabelWidget(VmIconWidget):
|
|||||||
return self.value < other.value
|
return self.value < other.value
|
||||||
|
|
||||||
def __init__(self, vm, parent=None):
|
def __init__(self, vm, parent=None):
|
||||||
icon_path = self.get_vm_icon_path(vm)
|
self.icon_path = self.get_vm_icon_path(vm)
|
||||||
super(VmLabelWidget, self).__init__(icon_path, True, 0.8, None, parent)
|
super(VmLabelWidget, self).__init__(self.icon_path,
|
||||||
|
True, 0.8, None, parent)
|
||||||
self.vm = vm
|
self.vm = vm
|
||||||
self.table_item = self.VmLabelItem(self.value, vm)
|
self.table_item = self.VmLabelItem(self.value, vm)
|
||||||
self.value = None
|
self.value = None
|
||||||
@ -143,6 +153,12 @@ class VmLabelWidget(VmIconWidget):
|
|||||||
self.value = vm.label.index
|
self.value = vm.label.index
|
||||||
return vm.label.icon
|
return vm.label.icon
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
icon_path = self.get_vm_icon_path(self.vm)
|
||||||
|
if icon_path != self.icon_path:
|
||||||
|
self.icon_path = icon_path
|
||||||
|
self.set_icon(icon_path)
|
||||||
|
|
||||||
|
|
||||||
class VmNameItem(QtGui.QTableWidgetItem):
|
class VmNameItem(QtGui.QTableWidgetItem):
|
||||||
def __init__(self, vm):
|
def __init__(self, vm):
|
||||||
|
Loading…
Reference in New Issue
Block a user