settings: firewall and network
This commit is contained in:
		
							parent
							
								
									ac06eee39b
								
							
						
					
					
						commit
						cd2d3d7c0e
					
				| @ -41,9 +41,9 @@ from . import utils | |||||||
| from . import multiselectwidget | from . import multiselectwidget | ||||||
| from . import thread_monitor | from . import thread_monitor | ||||||
| 
 | 
 | ||||||
| from .firewall import * |  | ||||||
| from .appmenu_select import AppmenuSelectManager | from .appmenu_select import AppmenuSelectManager | ||||||
| from .backup_utils import get_path_for_vm | from .backup_utils import get_path_for_vm | ||||||
|  | from .firewall import * | ||||||
| 
 | 
 | ||||||
| from .ui_settingsdlg import * | from .ui_settingsdlg import * | ||||||
| 
 | 
 | ||||||
| @ -79,7 +79,7 @@ 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["firewall"], vm.is_networked() and not (vm.is_netvm() and not vm.is_proxyvm())) | #       self.tabWidget.setTabEnabled(self.tabs_indices["firewall"], vm.is_networked() and not vm.provides_network) | ||||||
| 
 | 
 | ||||||
|         ###### basic tab |         ###### basic tab | ||||||
|         self.__init_basic_tab__() |         self.__init_basic_tab__() | ||||||
| @ -92,8 +92,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
|         self.drive_path_button.clicked.connect(self.drive_path_button_pressed) |         self.drive_path_button.clicked.connect(self.drive_path_button_pressed) | ||||||
| 
 | 
 | ||||||
|         ###### firewall tab |         ###### firewall tab | ||||||
|         if self.tabWidget.isTabEnabled(self.tabs_indices["firewall"]): |         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) | ||||||
| @ -288,9 +287,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
|         #networking info |         #networking info | ||||||
|         if self.vm.netvm: |         if self.vm.netvm: | ||||||
|             self.networking_groupbox.setEnabled(True) |             self.networking_groupbox.setEnabled(True) | ||||||
|             self.ip_label.setText(self.vm.ip if self.vm.ip is not None else "none") |             self.ip_label.setText(self.vm.ip or "none") | ||||||
|             self.netmask_label.setText(self.vm.netmask if self.vm.netmask is not None else "none") |             self.netmask_label.setText(self.vm.visible_netmask or "none") | ||||||
|             self.gateway_label.setText(self.vm.netvm.gateway if self.vm.netvm is not None else "none") |             self.gateway_label.setText(self.vm.visible_gateway or "none") | ||||||
|         else: |         else: | ||||||
|             self.networking_groupbox.setEnabled(False) |             self.networking_groupbox.setEnabled(False) | ||||||
| 
 | 
 | ||||||
| @ -496,35 +495,37 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
|                 self.drive_path.setText(drv_path) |                 self.drive_path.setText(drv_path) | ||||||
|             self.drive_domain.setCurrentIndex(self.drive_domain_idx) |             self.drive_domain.setCurrentIndex(self.drive_domain_idx) | ||||||
| 
 | 
 | ||||||
|         if not hasattr(self.vm, "dispvm_netvm"): |  | ||||||
|         self.other_groupbox.setVisible(False) |         self.other_groupbox.setVisible(False) | ||||||
|         else: |  | ||||||
|             self.other_groupbox.setVisible(True) |  | ||||||
|             netvm_list = [vm for vm in self.app.values() if not vm.internal and vm.is_netvm() and vm.qid != 0] |  | ||||||
|             self.dispvm_netvm_idx = -1 |  | ||||||
| 
 | 
 | ||||||
|             text = "default (same as VM own NetVM)" | #       if not hasattr(self.vm, "dispvm_netvm"): | ||||||
|             if self.vm.uses_default_dispvm_netvm: | #           self.other_groupbox.setVisible(False) | ||||||
|                 text += self.tr(" (current)") | #       else: | ||||||
|                 self.dispvm_netvm_idx = 0 | #           self.other_groupbox.setVisible(True) | ||||||
|             self.dispvm_netvm.insertItem(0, text) | #           netvm_list = [vm for vm in self.app.values() if not vm.internal and vm.is_netvm() and vm.qid != 0] | ||||||
|  | #           self.dispvm_netvm_idx = -1 | ||||||
| 
 | 
 | ||||||
|             for (i, vm) in enumerate(netvm_list): | #           text = "default (same as VM own NetVM)" | ||||||
|                 text = vm.name | #           if self.vm.uses_default_dispvm_netvm: | ||||||
|                 if self.vm.dispvm_netvm is not None and vm.qid == \ | #               text += self.tr(" (current)") | ||||||
|                         self.vm.dispvm_netvm.qid and not \ | #               self.dispvm_netvm_idx = 0 | ||||||
|                         self.vm.uses_default_dispvm_netvm: | #           self.dispvm_netvm.insertItem(0, text) | ||||||
|                     self.dispvm_netvm_idx = i+1 |  | ||||||
|                     text += self.tr(" (current)") |  | ||||||
|                 self.dispvm_netvm.insertItem(i+1, text) |  | ||||||
| 
 | 
 | ||||||
|             none_text = "none" | #           for (i, vm) in enumerate(netvm_list): | ||||||
|             if self.vm.dispvm_netvm is None: | #               text = vm.name | ||||||
|                 none_text += self.tr(" (current)") | #               if self.vm.dispvm_netvm is not None and vm.qid == \ | ||||||
|                 self.dispvm_netvm_idx = len(netvm_list)+1 | #                       self.vm.dispvm_netvm.qid and not \ | ||||||
|             self.dispvm_netvm.insertItem(len(netvm_list)+1, none_text) | #                       self.vm.uses_default_dispvm_netvm: | ||||||
|  | #                   self.dispvm_netvm_idx = i+1 | ||||||
|  | #                   text += self.tr(" (current)") | ||||||
|  | #               self.dispvm_netvm.insertItem(i+1, text) | ||||||
| 
 | 
 | ||||||
|             self.dispvm_netvm.setCurrentIndex(self.dispvm_netvm_idx) | #           none_text = "none" | ||||||
|  | #           if self.vm.dispvm_netvm is None: | ||||||
|  | #               none_text += self.tr(" (current)") | ||||||
|  | #               self.dispvm_netvm_idx = len(netvm_list)+1 | ||||||
|  | #           self.dispvm_netvm.insertItem(len(netvm_list)+1, none_text) | ||||||
|  | 
 | ||||||
|  | #           self.dispvm_netvm.setCurrentIndex(self.dispvm_netvm_idx) | ||||||
| 
 | 
 | ||||||
|     def __apply_advanced_tab__(self): |     def __apply_advanced_tab__(self): | ||||||
|         msg = [] |         msg = [] | ||||||
| @ -594,36 +595,6 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): | |||||||
|             except Exception as ex: |             except Exception as ex: | ||||||
|                 msg.append(str(ex)) |                 msg.append(str(ex)) | ||||||
| 
 | 
 | ||||||
|         #vm dispvm_netvm changed |  | ||||||
|         try: |  | ||||||
|             if self.dispvm_netvm.currentIndex() != self.dispvm_netvm_idx: |  | ||||||
|                 new_dispvm_netvm_name = str(self.dispvm_netvm.currentText()) |  | ||||||
|                 new_dispvm_netvm_name = new_dispvm_netvm_name.split(' ')[0] |  | ||||||
| 
 |  | ||||||
|                 uses_default_dispvm_netvm = False |  | ||||||
| 
 |  | ||||||
|                 if new_dispvm_netvm_name == "default": |  | ||||||
|                     uses_default_dispvm_netvm = True |  | ||||||
| 
 |  | ||||||
|                 if new_dispvm_netvm_name == "none": |  | ||||||
|                     dispvm_netvm = None |  | ||||||
|                 else: |  | ||||||
|                     dispvm_netvm = self.app.get_vm_by_name( |  | ||||||
|                         new_dispvm_netvm_name) |  | ||||||
|                 assert (dispvm_netvm is None or (dispvm_netvm.qid in |  | ||||||
|                         self.app and dispvm_netvm.is_netvm())) |  | ||||||
| 
 |  | ||||||
|                 if uses_default_dispvm_netvm: |  | ||||||
|                     self.vm.uses_default_dispvm_netvm = True |  | ||||||
|                 else: |  | ||||||
|                     self.vm.uses_default_dispvm_netvm = False |  | ||||||
|                     self.vm.dispvm_netvm = dispvm_netvm |  | ||||||
|                 self.anything_changed = True |  | ||||||
|         except Exception as ex: |  | ||||||
|             if utils.is_debug(): |  | ||||||
|                 traceback.print_exc() |  | ||||||
|             msg.append(str(ex)) |  | ||||||
| 
 |  | ||||||
|         return msg |         return msg | ||||||
| 
 | 
 | ||||||
|     def drive_path_button_pressed(self): |     def drive_path_button_pressed(self): | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Wojtek Porczyk
						Wojtek Porczyk