summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2018-03-16 14:38:22 -0400
committerCole Robinson <crobinso@redhat.com>2018-03-16 14:38:22 -0400
commitc9b2ec163f15f41fe5010b7b1c215f6c204d93a6 (patch)
treefaf62e877289f248b8b72e69ed1b2738b9532aea
parent30cc70ccf4cab1afbbc3ea12b8e9d2759df57e3f (diff)
downloadvirt-manager-c9b2ec163f15f41fe5010b7b1c215f6c204d93a6.tar.gz
preferences: Add UI for disabling spice usb autoredir
We already have a gconf key and command line option for this. Drop the CLI option and add UI for it, we should have just done that to begin with
-rw-r--r--man/virt-manager.pod4
-rw-r--r--ui/preferences.ui25
-rwxr-xr-xvirt-manager3
-rw-r--r--virtManager/config.py9
-rw-r--r--virtManager/preferences.py21
-rw-r--r--virtManager/viewers.py2
6 files changed, 50 insertions, 14 deletions
diff --git a/man/virt-manager.pod b/man/virt-manager.pod
index 794aed8a..1bbfb9ae 100644
--- a/man/virt-manager.pod
+++ b/man/virt-manager.pod
@@ -84,10 +84,6 @@ on the host.
=back
-=item B<--spice-disable-auto-usbredir>
-
-Auto USB redirection is supported by default. This option switches off it.
-
=back
Standard GTK options like --g-fatal-warnings are also accepted.
diff --git a/ui/preferences.ui b/ui/preferences.ui
index 01b54602..d4e75c95 100644
--- a/ui/preferences.ui
+++ b/ui/preferences.ui
@@ -719,6 +719,31 @@ Redirection:</property>
<property name="top_attach">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">SPICE _USB Redirection:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">prefs-add-spice-usbredir</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="prefs-console-autoredir">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <signal name="changed" handler="on_prefs_console_autoredir_changed" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
</object>
</child>
</object>
diff --git a/virt-manager b/virt-manager
index 0a761049..c838d2ae 100755
--- a/virt-manager
+++ b/virt-manager
@@ -236,9 +236,6 @@ def main():
return
- if options.usbredir and config.get_auto_redirection():
- config.cli_usbredir = False
-
# Add our icon dir to icon theme
icon_theme = Gtk.IconTheme.get_default()
icon_theme.prepend_search_path(CLIConfig.icon_dir)
diff --git a/virtManager/config.py b/virtManager/config.py
index 8e322e01..a7457b74 100644
--- a/virtManager/config.py
+++ b/virtManager/config.py
@@ -200,7 +200,6 @@ class vmmConfig(object):
self.askpass_package = CLIConfig.askpass_package
self.default_graphics_from_config = CLIConfig.default_graphics
self.default_hvs = CLIConfig.default_hvs
- self.cli_usbredir = None
if self.test_first_run:
# Populate some package defaults to simplify git testing
@@ -476,11 +475,9 @@ class vmmConfig(object):
def set_console_resizeguest(self, pref):
self.conf.set("/console/resize-guest", pref)
- def get_auto_redirection(self):
- if self.cli_usbredir is not None:
- return self.cli_usbredir
- return self.conf.get("/console/auto-redirect")
- def set_auto_redirection(self, state):
+ def get_auto_usbredir(self):
+ return bool(self.conf.get("/console/auto-redirect"))
+ def set_auto_usbredir(self, state):
self.conf.set("/console/auto-redirect", state)
# Show VM details toolbar
diff --git a/virtManager/preferences.py b/virtManager/preferences.py
index 8f3ad626..41e4148f 100644
--- a/virtManager/preferences.py
+++ b/virtManager/preferences.py
@@ -53,6 +53,7 @@ class vmmPreferences(vmmGObjectUI):
self.refresh_console_accels()
self.refresh_console_scaling()
self.refresh_console_resizeguest()
+ self.refresh_console_autoredir()
self.refresh_new_vm_sound()
self.refresh_graphics_type()
self.refresh_add_spice_usbredir()
@@ -81,6 +82,7 @@ class vmmPreferences(vmmGObjectUI):
"on_prefs_console_accels_toggled": self.change_console_accels,
"on_prefs_console_scaling_changed": self.change_console_scaling,
"on_prefs_console_resizeguest_changed": self.change_console_resizeguest,
+ "on_prefs_console_autoredir_changed": self.change_console_autoredir,
"on_prefs_new_vm_sound_toggled": self.change_new_vm_sound,
"on_prefs_graphics_type_changed": self.change_graphics_type,
"on_prefs_add_spice_usbredir_changed": self.change_add_spice_usbredir,
@@ -142,6 +144,18 @@ class vmmPreferences(vmmGObjectUI):
combo.set_model(model)
uiutil.init_combo_text_column(combo, 1)
+ combo = self.widget("prefs-console-autoredir")
+ # [gsettings value, string]
+ model = Gtk.ListStore(bool, str)
+ vals = {
+ False: _("Manual redirect only"),
+ True: _("Auto redirect on USB attach"),
+ }
+ for key, val in vals.items():
+ model.append([key, val])
+ combo.set_model(model)
+ uiutil.init_combo_text_column(combo, 1)
+
combo = self.widget("prefs-graphics-type")
# [gsettings value, string]
model = Gtk.ListStore(str, str)
@@ -220,6 +234,10 @@ class vmmPreferences(vmmGObjectUI):
combo = self.widget("prefs-console-resizeguest")
val = self.config.get_console_resizeguest()
uiutil.set_list_selection(combo, val)
+ def refresh_console_autoredir(self):
+ combo = self.widget("prefs-console-autoredir")
+ val = self.config.get_auto_usbredir()
+ uiutil.set_list_selection(combo, val)
def refresh_new_vm_sound(self):
self.widget("prefs-new-vm-sound").set_active(
@@ -375,6 +393,9 @@ class vmmPreferences(vmmGObjectUI):
def change_console_resizeguest(self, box):
val = uiutil.get_list_selection(box)
self.config.set_console_resizeguest(val)
+ def change_console_autoredir(self, box):
+ val = uiutil.get_list_selection(box)
+ self.config.set_auto_usbredir(val)
def change_new_vm_sound(self, src):
self.config.set_new_vm_sound(src.get_active())
diff --git a/virtManager/viewers.py b/virtManager/viewers.py
index 86b9aebb..3b40475e 100644
--- a/virtManager/viewers.py
+++ b/virtManager/viewers.py
@@ -548,7 +548,7 @@ class SpiceViewer(Viewer):
self._usbdev_manager.connect("device-error",
self._usbdev_redirect_error)
- autoredir = self.config.get_auto_redirection()
+ autoredir = self.config.get_auto_usbredir()
if autoredir:
gtk_session.set_property("auto-usbredir", True)
except Exception: