Browse Source

Fixed Apply behavior for VM Settings

VM Setting will now update (current) markers correctly after Apply.

fixes QubesOS/qubes-issues#5531
Marta Marczykowska-Górecka 4 năm trước cách đây
mục cha
commit
f4f76110f0
2 tập tin đã thay đổi với 14 bổ sung0 xóa
  1. 9 0
      qubesmanager/settings.py
  2. 5 0
      qubesmanager/utils.py

+ 9 - 0
qubesmanager/settings.py

@@ -272,6 +272,15 @@ class VMSettingsWindow(ui_settingsdlg.Ui_SettingsDialog, QtWidgets.QDialog):
     def apply(self):
         self.save_changes()
 
+        # these signals must be disconnected to avoid unintended behavior
+        # on refreshing the drop-downs
+        self.netVM.currentIndexChanged.disconnect()
+        self.kernel.currentIndexChanged.disconnect()
+        self.default_dispvm.currentIndexChanged.disconnect()
+
+        self.__init_basic_tab__()
+        self.__init_advanced_tab__()
+
     def save_and_apply(self):
         self.save_changes()
         self.done(0)

+ 5 - 0
qubesmanager/utils.py

@@ -45,6 +45,11 @@ def prepare_choice(widget, holder, propname, choice, default,
                    allow_none=False, transform=None):
     # for newly created vms, set propname to None
 
+    # clear the widget, so that prepare_choice functions can be used
+    # to refresh widget values
+    while widget.count() > 0:
+        widget.removeItem(0)
+
     debug(
         'prepare_choice(widget={widget!r}, '
         'holder={holder!r}, '