settings advanced tab (kernel, paths)
This commit is contained in:
parent
27226171aa
commit
6857c0e6f4
@ -34,6 +34,7 @@ from qubes.qubes import qubes_appmenu_remove_cmd
|
|||||||
from qubes.qubes import QubesDaemonPidfile
|
from qubes.qubes import QubesDaemonPidfile
|
||||||
from qubes.qubes import QubesHost
|
from qubes.qubes import QubesHost
|
||||||
from qubes.qubes import qrexec_client_path
|
from qubes.qubes import qrexec_client_path
|
||||||
|
from qubes.qubes import qubes_kernels_base_dir
|
||||||
|
|
||||||
import qubesmanager.resources_rc
|
import qubesmanager.resources_rc
|
||||||
|
|
||||||
@ -86,6 +87,9 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
###### basic tab
|
###### basic tab
|
||||||
self.__init_basic_tab__()
|
self.__init_basic_tab__()
|
||||||
|
|
||||||
|
###### advanced tab
|
||||||
|
self.__init_advanced_tab__()
|
||||||
|
|
||||||
###### firewall tab
|
###### firewall tab
|
||||||
if self.tabWidget.isTabEnabled(self.tabs_indices["firewall"]):
|
if self.tabWidget.isTabEnabled(self.tabs_indices["firewall"]):
|
||||||
|
|
||||||
@ -142,6 +146,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.anything_changed = False
|
self.anything_changed = False
|
||||||
|
|
||||||
ret = self.__apply_basic_tab__()
|
ret = self.__apply_basic_tab__()
|
||||||
|
self.__apply_advanced_tab__()
|
||||||
|
|
||||||
if len(ret) > 0 :
|
if len(ret) > 0 :
|
||||||
thread_monitor.set_error_msg('\n'.join(ret))
|
thread_monitor.set_error_msg('\n'.join(ret))
|
||||||
@ -201,6 +206,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.template_name.setCurrentIndex(self.template_idx)
|
self.template_name.setCurrentIndex(self.template_idx)
|
||||||
else:
|
else:
|
||||||
self.template_name.setEnabled(False)
|
self.template_name.setEnabled(False)
|
||||||
|
self.template_idx = -1
|
||||||
|
|
||||||
|
|
||||||
if (not self.vm.is_netvm() or self.vm.is_proxyvm()):
|
if (not self.vm.is_netvm() or self.vm.is_proxyvm()):
|
||||||
@ -222,6 +228,7 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
self.netVM.setCurrentIndex(self.netvm_idx)
|
self.netVM.setCurrentIndex(self.netvm_idx)
|
||||||
else:
|
else:
|
||||||
self.netVM.setEnabled(False)
|
self.netVM.setEnabled(False)
|
||||||
|
self.netvm_idx = -1
|
||||||
|
|
||||||
self.include_in_backups.setChecked(self.vm.include_in_backups)
|
self.include_in_backups.setChecked(self.vm.include_in_backups)
|
||||||
|
|
||||||
@ -308,6 +315,70 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog):
|
|||||||
|
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
|
|
||||||
|
######### advanced tab
|
||||||
|
|
||||||
|
def __init_advanced_tab__(self):
|
||||||
|
|
||||||
|
#kernel
|
||||||
|
if self.vm.template is not None:
|
||||||
|
text = self.vm.kernel
|
||||||
|
self.kernel.insertItem(0, text)
|
||||||
|
self.kernel.setEnabled(False)
|
||||||
|
self.kernel_idx = 0
|
||||||
|
else:
|
||||||
|
text = "default (" + self.qvm_collection.get_default_kernel() +")"
|
||||||
|
kernel_list = [text]
|
||||||
|
for k in os.listdir(qubes_kernels_base_dir):
|
||||||
|
kernel_list.append(k)
|
||||||
|
kernel_list.append("none")
|
||||||
|
|
||||||
|
self.kernel_idx = 0
|
||||||
|
|
||||||
|
for (i, k) in enumerate(kernel_list):
|
||||||
|
text = k
|
||||||
|
if (text.startswith("default") and self.vm.uses_default_kernel) or ( self.vm.kernel == k and not self.vm.uses_default_kernel) or (k=="none" and self.vm.kernel==None):
|
||||||
|
text += " (current)"
|
||||||
|
self.kernel_idx = i
|
||||||
|
self.kernel.insertItem(i,text)
|
||||||
|
self.kernel.setCurrentIndex(self.kernel_idx)
|
||||||
|
|
||||||
|
#kernel opts
|
||||||
|
if self.vm.uses_default_kernelopts:
|
||||||
|
self.kernel_opts.setText(self.vm.kernelopts + " (default)")
|
||||||
|
else:
|
||||||
|
self.kernel_opts.setText(self.vm.kernelopts)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#paths
|
||||||
|
self.dir_path.setText(self.vm.dir_path)
|
||||||
|
self.config_path.setText(self.vm.conf_file)
|
||||||
|
if self.vm.template is not None:
|
||||||
|
self.root_img_path.setText(self.vm.template.root_img)
|
||||||
|
else:
|
||||||
|
self.root_img_path.setText("n/a")
|
||||||
|
self.volatile_img_path.setText(self.vm.volatile_img)
|
||||||
|
self.private_img_path.setText(self.vm.private_img)
|
||||||
|
|
||||||
|
def __apply_advanced_tab__(self):
|
||||||
|
|
||||||
|
#kernel changed
|
||||||
|
if self.kernel.currentIndex() != self.kernel_idx:
|
||||||
|
new_kernel = self.kernel.currentText()
|
||||||
|
new_kernel = new_kernel.split(' ')[0]
|
||||||
|
if(new_kernel == "default"):
|
||||||
|
kernel = self.qvm_collection.get_default_kernel()
|
||||||
|
self.vm.uses_default_kernel = True
|
||||||
|
elif(new_kernel == "none"):
|
||||||
|
kernel = None
|
||||||
|
self.vm.uses_default_kernel = False;
|
||||||
|
else:
|
||||||
|
self.vm.uses_default_kernel = False;
|
||||||
|
|
||||||
|
self.vm.kernel = kernel
|
||||||
|
self.anything_changed = True
|
||||||
|
|
||||||
######### firewall tab related
|
######### firewall tab related
|
||||||
|
|
||||||
def set_fw_model(self, model):
|
def set_fw_model(self, model):
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
<locale language="English" country="UnitedStates"/>
|
<locale language="English" country="UnitedStates"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="basic_tab">
|
<widget class="QWidget" name="basic_tab">
|
||||||
<property name="locale">
|
<property name="locale">
|
||||||
@ -288,7 +288,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="advanced_tab">
|
<widget class="QWidget" name="advanced_tab">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Advanced</string>
|
<string>Advanced</string>
|
||||||
@ -296,12 +296,18 @@
|
|||||||
<layout class="QGridLayout" name="gridLayout_9">
|
<layout class="QGridLayout" name="gridLayout_9">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Memory/CPU</string>
|
<string>Memory/CPU</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label_15">
|
<widget class="QLabel" name="label_15">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Initial memory:</string>
|
<string>Initial memory:</string>
|
||||||
</property>
|
</property>
|
||||||
@ -309,6 +315,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QLabel" name="mem_size">
|
<widget class="QLabel" name="mem_size">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<weight>75</weight>
|
<weight>75</weight>
|
||||||
@ -325,6 +334,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QLabel" name="label_16">
|
<widget class="QLabel" name="label_16">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>MB</string>
|
<string>MB</string>
|
||||||
</property>
|
</property>
|
||||||
@ -388,6 +400,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" colspan="2">
|
<item row="3" column="0" colspan="2">
|
||||||
<widget class="QCheckBox" name="include_in_balancing">
|
<widget class="QCheckBox" name="include_in_balancing">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Include in memory balancing</string>
|
<string>Include in memory balancing</string>
|
||||||
</property>
|
</property>
|
||||||
@ -398,6 +413,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QGroupBox" name="groupBox_10">
|
<widget class="QGroupBox" name="groupBox_10">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Kernel</string>
|
<string>Kernel</string>
|
||||||
</property>
|
</property>
|
||||||
@ -437,6 +455,9 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" colspan="2">
|
<item row="1" column="0" colspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox_11">
|
<widget class="QGroupBox" name="groupBox_11">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Paths</string>
|
<string>Paths</string>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user