diff --git a/mainwindow.ui b/mainwindow.ui index c30298d..1425c6c 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -234,7 +234,7 @@ 0 0 769 - 22 + 20 @@ -269,6 +269,7 @@ + @@ -324,6 +325,9 @@ + + Qt::CustomContextMenu + toolBar @@ -333,9 +337,6 @@ false - - Qt::CustomContextMenu - TopToolBarArea @@ -794,6 +795,18 @@ Is an internal VM + + + true + + + + :/show-all-running.png:/show-all-running.png + + + Show/Hide internal VMs + + diff --git a/qubesmanager/main.py b/qubesmanager/main.py index 2b7afea..953dc20 100755 --- a/qubesmanager/main.py +++ b/qubesmanager/main.py @@ -687,6 +687,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow): min_visible_rows = 10 update_interval = 1000 # in msec show_inactive_vms = True + show_internal_vms = False # suppress saving settings while initializing widgets settings_loaded = False columns_indices = { "Type": 0, @@ -831,6 +832,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow): self.load_manager_settings() self.action_showallvms.setChecked(self.show_inactive_vms) + self.action_showinternalvms.setChecked(self.show_internal_vms) self.fill_table() @@ -850,6 +852,7 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow): self.columns_actions[col_no].setChecked(visible) self.manager_settings.endGroup() self.show_inactive_vms = self.manager_settings.value("view/show_inactive_vms", defaultValue=False).toBool() + self.show_internal_vms = self.manager_settings.value("view/show_internal_vms", defaultValue=False).toBool() self.sort_by_column = str(self.manager_settings.value("view/sort_column", defaultValue=self.sort_by_column).toString()) self.sort_order = Qt.SortOrder(self.manager_settings.value("view/sort_order", defaultValue=self.sort_order).toInt()[0]) self.table.sortItems(self.columns_indices[self.sort_by_column], self.sort_order) @@ -1562,6 +1565,16 @@ class VmManagerWindow(Ui_VmManagerWindow, QMainWindow): self.manager_settings.setValue('view/show_inactive_vms', self.show_inactive_vms) self.manager_settings.sync() + @pyqtSlot(name='on_action_showinternalvms_triggered') + def action_showinternalvms_triggered(self): + self.show_internal_vms = self.action_showinternalvms.isChecked() + + self.showhide_internal_vms(self.show_internal_vms) + self.set_table_geom_size() + if self.settings_loaded: + self.manager_settings.setValue('view/show_internal_vms', self.show_internal_vms) + self.manager_settings.sync() + @pyqtSlot(name='on_action_editfwrules_triggered') def action_editfwrules_triggered(self): vm = self.get_selected_vm()