Disabled firewall and apps tabs for netvms, enabled netvm selection for proxyvms (ticket #471), added none netvm.
This commit is contained in:
		
							parent
							
								
									98a801e00b
								
							
						
					
					
						commit
						7881fc28c9
					
				| @ -80,34 +80,35 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
| 
 | 
 | ||||||
|         self.tabWidget.currentChanged.connect(self.current_tab_changed) |         self.tabWidget.currentChanged.connect(self.current_tab_changed) | ||||||
| 
 | 
 | ||||||
|  |         self.tabWidget.setTabEnabled(self.tabs_indices["applications"], not vm.is_netvm()) | ||||||
|  |         self.tabWidget.setTabEnabled(self.tabs_indices["firewall"], vm.is_networked() and not (vm.is_netvm() and not vm.is_proxyvm())) | ||||||
|  | 
 | ||||||
|         ###### basic tab |         ###### basic tab | ||||||
|         self.__init_basic_tab__() |         self.__init_basic_tab__() | ||||||
| 
 | 
 | ||||||
|         ###### firewall tab |         ###### firewall tab | ||||||
|  |         if self.tabWidget.isTabEnabled(self.tabs_indices["firewall"]): | ||||||
| 
 | 
 | ||||||
|         model = QubesFirewallRulesModel() |             model = QubesFirewallRulesModel() | ||||||
|         model.set_vm(vm) |             model.set_vm(vm) | ||||||
|         self.set_fw_model(model) |             self.set_fw_model(model) | ||||||
| 
 | 
 | ||||||
|          |             self.newRuleButton.clicked.connect(self.new_rule_button_pressed) | ||||||
|         self.newRuleButton.clicked.connect(self.new_rule_button_pressed) |             self.editRuleButton.clicked.connect(self.edit_rule_button_pressed) | ||||||
|         self.editRuleButton.clicked.connect(self.edit_rule_button_pressed) |             self.deleteRuleButton.clicked.connect(self.delete_rule_button_pressed) | ||||||
|         self.deleteRuleButton.clicked.connect(self.delete_rule_button_pressed) |             self.policyAllowRadioButton.toggled.connect(self.policy_radio_toggled) | ||||||
|         self.policyAllowRadioButton.toggled.connect(self.policy_radio_toggled) |             self.dnsCheckBox.toggled.connect(self.dns_checkbox_toggled) | ||||||
|         self.dnsCheckBox.toggled.connect(self.dns_checkbox_toggled) |             self.icmpCheckBox.toggled.connect(self.icmp_checkbox_toggled) | ||||||
|         self.icmpCheckBox.toggled.connect(self.icmp_checkbox_toggled) |  | ||||||
| 
 | 
 | ||||||
|         ####### devices tab |         ####### devices tab | ||||||
|         self.dev_list = MultiSelectWidget(self) |         self.dev_list = MultiSelectWidget(self) | ||||||
|         self.devices_layout.addWidget(self.dev_list) |         self.devices_layout.addWidget(self.dev_list) | ||||||
|   |   | ||||||
|         ####### apps tab |         ####### apps tab | ||||||
|         if not vm.is_netvm(): |         if self.tabWidget.isTabEnabled(self.tabs_indices["applications"]): | ||||||
|             self.app_list = MultiSelectWidget(self) |             self.app_list = MultiSelectWidget(self) | ||||||
|             self.apps_layout.addWidget(self.app_list) |             self.apps_layout.addWidget(self.app_list) | ||||||
|             self.AppListManager = AppmenuSelectManager(self.vm, self.app_list) |             self.AppListManager = AppmenuSelectManager(self.vm, self.app_list) | ||||||
|         else: |  | ||||||
|             self.tabWidget.setTabEnabled(self.tabs_indices["applications"], False) |  | ||||||
| 
 | 
 | ||||||
|     def reject(self): |     def reject(self): | ||||||
|         self.done(0) |         self.done(0) | ||||||
| @ -140,8 +141,10 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
| 
 | 
 | ||||||
|     def __save_changes__(self, thread_monitor): |     def __save_changes__(self, thread_monitor): | ||||||
| 
 | 
 | ||||||
|         self.fw_model.apply_rules() |         if self.tabWidget.isTabEnabled(self.tabs_indices["firewall"]): | ||||||
|         self.AppListManager.save_appmenu_select_changes() |             self.fw_model.apply_rules() | ||||||
|  |         if self.tabWidget.isTabEnabled(self.tabs_indices["applications"]): | ||||||
|  |             self.AppListManager.save_appmenu_select_changes() | ||||||
| 
 | 
 | ||||||
|         ret = self.__apply_basic_tab__() |         ret = self.__apply_basic_tab__() | ||||||
|         if len(ret) > 0 : |         if len(ret) > 0 : | ||||||
| @ -191,17 +194,23 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
|         else: |         else: | ||||||
|             self.template_name.setEnabled(False) |             self.template_name.setEnabled(False) | ||||||
| 
 | 
 | ||||||
|         if not self.vm.is_netvm(): | 
 | ||||||
|  |         if (not self.vm.is_netvm() or self.vm.is_proxyvm()): | ||||||
|             netvm_list = [vm for vm in self.qvm_collection.values() if not vm.internal and vm.is_netvm()] |             netvm_list = [vm for vm in self.qvm_collection.values() if not vm.internal and vm.is_netvm()] | ||||||
|             self.netvm_idx = 0 |             self.netvm_idx = -1 | ||||||
|             for (i, vm) in enumerate(netvm_list): |             for (i, vm) in enumerate(netvm_list): | ||||||
|                 text = vm.name |                 text = vm.name | ||||||
|                 if vm is self.qvm_collection.get_default_netvm(): |                 if vm is self.qvm_collection.get_default_netvm(): | ||||||
|                     text += " (default)" |                     text += " (default)" | ||||||
|                 if vm.qid == self.vm.netvm.qid: |                 if self.vm.netvm is not None and vm.qid == self.vm.netvm.qid: | ||||||
|                     self.netvm_idx = i |                     self.netvm_idx = i | ||||||
|                     text += " (current)" |                     text += " (current)" | ||||||
|                 self.netVM.insertItem(i, text) |                 self.netVM.insertItem(i, text) | ||||||
|  |             none_text = "none" | ||||||
|  |             if self.vm.netvm is None: | ||||||
|  |                 none_text += " (current)" | ||||||
|  |                 self.netvm_idx = len(netvm_list) | ||||||
|  |             self.netVM.insertItem(len(netvm_list), none_text) | ||||||
|             self.netVM.setCurrentIndex(self.netvm_idx) |             self.netVM.setCurrentIndex(self.netvm_idx) | ||||||
|         else: |         else: | ||||||
|             self.netVM.setEnabled(False) |             self.netVM.setEnabled(False) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Agnieszka Kostrzewa
						Agnieszka Kostrzewa