From 3ca7520b0ee60ba13625b715c18ea52b861fd73c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marta=20Marczykowska-G=C3=B3recka?= Date: Mon, 19 Mar 2018 22:40:50 +0100 Subject: [PATCH] Less horrible Qube Manager loading The window should first display itself, and then get gradually filled with VMs (more user friendly, less annoying than waiting for something, anything to appear). Also fixed a dumb bug with double refreshing and a useless variable. fixes QubesOS/qubes-issues#3719 --- qubesmanager/qube_manager.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index eb41bca..b1e62a2 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -358,9 +358,6 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): self.load_manager_settings() - self.fill_table() - - self.counter = 0 self.update_size_on_disk = False self.shutdown_monitor = {} @@ -418,14 +415,16 @@ class VmManagerWindow(ui_qubemanager.Ui_VmManagerWindow, QtGui.QMainWindow): vms_in_table = {} + self.table.setRowCount(len(vms_list)) + row_no = 0 for vm in vms_list: vm_row = VmRowInTable(vm, row_no, self.table) vms_in_table[vm.qid] = vm_row - row_no += 1 + if row_no % 5 == 0: + self.qt_app.processEvents() - self.table.setRowCount(row_no) self.vms_list = vms_list self.vms_in_table = vms_in_table if selected_qid in vms_in_table.keys(): @@ -1202,7 +1201,8 @@ def main(): manager_window = VmManagerWindow(qubes_app, qt_app) manager_window.show() - manager_window.update_table() + timer = QtCore.QTimer() + timer.singleShot(1, manager_window.update_table) qt_app.exec_()