Commit Graph

80 Commits

Author SHA1 Message Date
Cole Robinson
c5a4664676 addhardware: panic: default to asking libvirt for default model
Drop our hardcoded model lists, and just ask libvirt to fill in
a model for us. Add an entry to the combo box so users can type
in a non-default value if they want one.

Long term libvirt should be providing all this info to us via
domcapabilities

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2024-11-12 09:55:20 -05:00
Jonathon Jongsma
caa99a6001 virt-manager: add support for qemu-vdagent channel
This provides the UI support for the qemu-vdagent channel which allows
 clipboard sharing with VNC graphics (see previous commit for more
 information).

 The channel name in the device list was changed slightly in order to
 avoid confusion. Due to the fact that both the spice-vdagent and the
 qemu-vdagent specify the same virtio name (com.redhat.spice.0), both of
 these channels were showing up in the device list as "Channel spice",
 which is a bit confusing.

 In order to disambiguate these, channels now show up in the device list
 as "Channel {type} ({name})" instead of "Channel {name}". So for
 example, a qemu-vdagent channel would show up as:
    Channel Qemu vdagent (spice)
Whereas a spice-vdagent channel would show up as:
    Channel Spice agent (spice)

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
2022-06-13 13:49:08 -04:00
Cole Robinson
34543b3ecd ui: Remove use of deprecated GtkAlignment
Mostly this is replaced with widget padding, and GtkBox for generic
containers

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-02-20 09:53:17 -05:00
Cole Robinson
382391eadb Clean up gtk STOCK and various image usage
- Remove most use of deprecated stock icons. Without it the UI will
  be a lot more ugly in Fedora 36
- Remove deprecated ImageMenuItem usage, convert to regular MenuItem
- Remove most embedded button images

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-02-19 15:33:42 -05:00
Cole Robinson
fd181cecc3 virtManager: Split out tpmdetails.py and tweak it
Split out tpmdetails.py, following the pattern of fsdetails.py. This
adds more UI editing fields for an already attached TPM.

Move the model and version under an 'Advanced options' expander,
since we should be getting this correct by default.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-02-19 10:02:22 -05:00
Cole Robinson
f4aea0dca0 ui: Resave all files with latest glade
It creates a lot of churn.

Adjust phantom grid rows + columns while we are at it, not sure why
those counts are suddenly wrong

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2022-01-27 13:34:26 -05:00
Cole Robinson
7ec7b63f02 ui: Mark some uitests strings as non-translatable
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-09-13 19:12:24 -04:00
Cole Robinson
64222783d2 addhardware: Allow settings USB removable setting
We need to update addstorage when the user changes the bus setting

Fixes: #148

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-09-13 18:12:13 -04:00
Cole Robinson
c54da68535 addstorage: Absorb advanced field UI
Share the UI for changing all these disk properties:

- shareable
- readonly
- removable
- cache
- discard
- detect zeroes

Move them all under the 'Advanced options' expander in details, and
add the checkbox options to the addhardware wizard.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-09-08 17:32:00 -04:00
Cole Robinson
b59a30ad77 uitests: Finish addhardware.py coverage
Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-08-26 15:20:06 -04:00
Cole Robinson
67ef81895e virtManager: Convert to CSS for most color usage
* Add CSS data in config.py and install it
* Strip out all hardcoded colors and use style class annotations
* Fix colors to be more theme appropriate to fix dark theme look

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-02-03 07:05:11 -05:00
Cole Robinson
bd4b841b10 addhardware: Remove IO and scsi reservation options
These were removed from the Details dialog previously, but I forgot
to remove them from addhardware too

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-01-29 06:44:41 -05:00
Cole Robinson
b4b497e28f virtManager: Remove network virtualport UI
This was proposed here:
https://www.redhat.com/archives/virt-tools-list/2019-June/msg00117.html

"""
* network virtualport configuration: this is some really obscure
stuff for configuring VEPA for macvtap devices. I don't think it gets
any usage in practice. I think a smaller subset of this UI is shared
with openswitch config but I believe it's just a single field, we
could keep that even though I don't think many people use it either
"""

This removes it all. The openvswitch piece was not properly wired
up anyways, since it requires setting virtualport type for a bridge.
For users that know they need that, they can add it via the XML
editor.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2020-01-26 11:22:18 -05:00
Cole Robinson
df80852952 addhardware: add xmleditor UI 2019-06-13 07:15:46 -04:00
Cole Robinson
5a90b669ff addhardware: Use vmmHost style error page paradigm
Rather than making the error page one of the hardware pages which is
the wrong layering approach
2019-04-14 18:24:35 -04:00
Cole Robinson
d7fed32947 Bump gtk dep to 3.22 for new popup routines
Given that we bumped deps to fairly modern distros with the
python3 change, I think this is safe. gtk 3.22 is from sep 2016, it's
in debian9 and fedora 25+, which seems fine for our needs.
2019-04-07 13:54:00 -04:00
Slavomir Kaslev
021d2938af virt-manager: Add support for vsock devices to Add Hardware UI
This patch adds support for adding vsock devices to a VM.

Signed-off-by: Slavomir Kaslev <kaslevs@vmware.com>
2019-01-06 18:27:17 -05:00
Lin Ma
3c44ea8810 addhardware: Add SCSI persistent reservation support for LUN Passthrough
Signed-off-by: Lin Ma <lma@suse.com>
2018-10-11 16:00:28 -04:00
Cole Robinson
a09a46289a addhardware: Move controller list logic to virtinst
And tweak the UI defaults a bit, preferring virtio-scsi and
usb3
2018-09-06 16:05:12 -04:00
Cole Robinson
7994dc90c8 addhardware: Move video model list to virtinst
And make it smart about the hypervisor
2018-09-06 14:45:05 -04:00
Lin Ma
b99731397b addhardware: Add support for disk io mode option
Signed-off-by: Lin Ma <lma@suse.com>
2018-09-06 13:28:21 -04:00
Cole Robinson
b3865d7b0d addhardware: Drop tcp/udp/dev char support
I know openstack uses tcp consoles but for end users I've never
really heard about it. RHEL compiles out udp as well. I'm fine telling
users to go to the cli and use virt-xml for this use case.

Use this opportunity to drop a lot of code that only simplified the
case when there are tons of char options we need to consider
2018-09-06 13:28:21 -04:00
Cole Robinson
cd07d6af34 sound: Track recommended models in virtinst
Change addhardware to show an editable model entry, like the
details wizard
2018-09-06 13:28:21 -04:00
Cole Robinson
68907f1e6e addhardware: Use browse mode for hw-list 2018-09-05 19:42:52 -04:00
Povilas Kanapickas
e6c7e46a54 details: Add support for disk detect zeroes option 2018-09-04 11:39:50 -04:00
Povilas Kanapickas
d13b793bfa details: Add support for disk discard option 2018-09-04 11:39:50 -04:00
Marc-André Lureau
51919b9824 addhardware: learn to set emulated TPM version
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2018-06-11 12:40:28 -04:00
Marc-André Lureau
c04733c10d addhardware: learn to choose a TPM model
There is only one for now, but we are adding CRB next (and SPAPR is
being added too in qemu/libvirt).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2018-06-11 12:40:28 -04:00
Cole Robinson
e1f16e62b8 addhardware: Remove non-device RNG UI
This config is not common enough to warrant the large UI surface
2018-05-01 12:27:27 -04:00
Cole Robinson
52b20ef40f addhardware: Remove non-spicevmc USB redir config
This is very rarely used, if at all, so it doesn't need to be in
the UI
2018-04-24 14:16:41 -04:00
Cole Robinson
c620e7405c uitests: addhardware: add network tests 2018-01-21 10:02:08 -05:00
Cole Robinson
9232a51d55 uitests: Add a bunch of addhardware testing 2018-01-19 11:04:44 -05:00
Cédric Bosdonnat
1c3e32553e Unify invisible_char values
To be consistent across the UI, change the few remaining different
invisible_char values to match the most common one.
2018-01-06 17:21:35 -05:00
Pavel Hrdina
36230c9a18 devicepanic: use model instead of address.type
There are multiple models of the panic device, the address type is only
one and is valid only for "isa" model.

To not break the virt-install/virt-xml the command line parser needs to
be updated.  Before this patch there was only one parameter that
configured the "iobase".  Now the first parameter configures a model
but to keep it backward compatible it follows these rules:

1. there is only one parameter and it matches known model:

  --panic isa

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

2. there is only one parameter and it doesn't match any model:

  --panic 0x505

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

3. there are two parameters:

  --panic isa,iobase=0x505

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Pavel Hrdina
9655f7dfaf virtManager: remove panic iobase from GUI
This is advanced configuration and it's not required to configure
at all to have a working panic device.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Radostin Stoyanov
e6ae060ceb Convert GtkTable to GtkGrid
GtkTable was deprecated since Gtk version 3.4 and should not be used
in newly-written code. It should be replaced by GtkGrid.

https://developer.gnome.org/gtk3/stable/GtkTable.html
https://developer.gnome.org/gtk3/stable/GtkGrid.html

GtkTable is mapped to GtkGrid following these rules:
----------------
- n_(row|columns) are removed because they are not required for
  GtkGrid

----------------
- Missing "left_attach" and "top_attach" are added with value set to
  0.
  Example:
    <property name="left_attach">0</property>
    <property name="top_attach">0</property>
----------------
- (right_attach - left_attach) > 1 is stored in new "width" property

  Example:
    In case of: (GtkTable)
      <property name="left_attach">1</property>
      <property name="right_attach">4</property>

    Equivalent to: (GtkGrid)
      <property name="width">3</property>

----------------
- (bottom_attach - top_attach) > 1 is stored in new "height" property

  Example:
    In case of: (GtkTable)
      <property name="top_attach">1</property>
      <property name="bottom_attach">3</property>

    Equivalent to: (GtkGrid)
      <property name="height">2</property>

----------------
- Missing packing "(x|y)_options" property is represented as no
  "(h|v)align" object property and "(h|v)expand" object property
  set to "true"

  Example:
    In case of: (GtkTable)
      # Missing y_options property
    Equivalent to: (GtkGrid)
      <property name="vexpand">True</property>
      # No valign property

----------------
  - Packing "(x|y)_options" property set to "GTK_FILL" is represented
    as no "(h|v)expand" object property and no "(h|v)align" object
    property

    Example:
      In case of: (GtkTable)
          <property name="x_options">GTK_FILL</property>
    Equivalent to: (GtkGrid)
        # No hexpand property
        # No halign property

----------------
  - Packing "(x|y)_options" property set to "GTK_EXPAND" is
    represented as "(h|v)expand" object property set to "true" and
    "(h|v)align" object property set to "center"

    Example:
      In case of: (GtkTable)
        <property name="x_options">GTK_EXPAND</property>

      Equivalent to: (GtkGrid)
        <property name="hexpand">True</property>
        <property name="halign">center</property>

----------------
  - Packing "(x|y)_options" property set to nothing is represented as
    "(h|v)align" object property set to "center"

    Example:
      In case of: (GtkTable)
        <property name="y_options" />

      Equivalent to: (GtkGrid)
        <property name="valign">center</property>

----------------
  - All "(x|y)_options" rules apply but don't change existing
    "(h|v)align" and "(h|v)expand" object properties

----------------
  - Packing "x_padding" property is converted to "margin_(start|end)"
    object property

    Example:
      In case of: (GtkTable)
        <property name="x_padding">6</property>

      Equivalent to: (GtkGrid)
        <property name="margin_start">6</property>
        <property name="margin_end">6</property>

----------------
  - Packing "y_padding" property is converted to "margin_(top|bottom)"
    object property

    Example:
      In case of: (GtkTable)
        <property name="y_padding">6</property>

      Equivalent to: (GtkGrid)
        <property name="margin_top">6</property>
        <property name="margin_bottom">6</property>
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
84419fe90c Remove deprecated GtkMisc:ypad property
GtkMisc:ypad was deprecated since Gtk version 3.14 and should not be
used in newly-written code. Use margin-top and margin-bottom instead.
Both have default value set to 0.

https://developer.gnome.org/gtk3/stable/GtkMisc.html#GtkMisc--ypad

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--margin-top

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--margin-bottom
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
fb46c9dc27 Remove deprecated GtkMisc:xpad property
GtkMisc:xpad was deprecated since Gtk version 3.14 and should not
be used in newly-written code. Use 'margin-start' and 'margin-end'
instead.

https://developer.gnome.org/gtk3/stable/GtkMisc.html#GtkMisc--xpad

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--margin-start

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--margin-end
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
dd59bd6267 Use valign property instead of yalign
GtkAlignment:yalign was deprecated since Gtk version 3.14 and
should not be used in newly-written code. Use valign property instead.

The behaviour of yalign='0' is identical to valign='start', similar
for yalign='1' and valign='end'. The default value of the property
valign is GTK_ALIGN_FILL which has simmilar behaviour to yalign='0.5'.

https://developer.gnome.org/gtk3/stable/GtkAlignment.html#GtkAlignment--yalign

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--valign
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
6f7fb58953 Remove redundant xalign property
GtkAlignment:xalign was deprecated since Gtk version 3.14 and should
not be used in newly-written code. Specifying halign property is not
required when xalign='0.5' because the behaviour is identical to the
default value of halign.

https://developer.gnome.org/gtk3/stable/GtkAlignment.html#GtkAlignment--xalign

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--halign
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
3243a221b5 Replace xalign='1' with halign='end'
GtkAlignment:xalign was deprecated since Gtk version 3.14 and should
not be used in newly-written code. Use halign property instead.

https://developer.gnome.org/gtk3/stable/GtkAlignment.html#GtkAlignment--xalign

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--halign
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
b6731ceaa6 Replace xalign='0' with halign='start'
GtkAlignment:xalign was deprecated since Gtk version 3.14 and should
not be used in newly-written code. Use halign property instead.

https://developer.gnome.org/gtk3/stable/GtkAlignment.html#GtkAlignment--xalign

https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkWidget--halign
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
f7bce4cca7 Use GtkButtonBox instead of GtkHButtonBox
GtkHButtonBox was deprecated since Gtk version 3.2 and should not
be used in newly-written code. Use GtkButtonBox instead. The property
orientation is set by default to horizontal.

https://developer.gnome.org/gtk3/stable/GtkHButtonBox.html
2017-05-31 13:27:43 -04:00
Radostin Stoyanov
5a658ef6bd Format UI files with Glade 3.20
Glade performs XML formatting on save. The changes in this commit are
generated by Glade 3.20
2017-05-31 13:27:43 -04:00
rst0git
04d46d4baa Replace GtkHBox and GtkVBox with GtkBox.
Problem:
    - GtkHBox and GtkVBox have been deprecated since version 3.2 and should not be used in newly-written code.

Solution: Replace GtkHBox and GtkVBox with GtkBox.
    - I have used the find function in text-editor to find all occurances of "GtkVBox" and "GtkHBox" then replaced them with "GtkBox".
    - Then append on a new line immediately after "<property name="orientation">...</property>" with value "horizontal" or "vertical" accordingly.
2017-04-12 09:22:56 -04:00
Cole Robinson
dfcac3fe9c Bump gtk and pygobject deps to 3.14
We need to bump the gtk dep to at least 3.10 for GtkRevealer usage,
and I want to bump the pygobject higher to drop some bug workarounds.

But since the oldest thing I have that meets those requirements is
RHEL/Centos 7.3 which is at 3.14 for both, set those as the minimum
versions since that's what I'll be testing against. They are still
1.5 years old and only a bit over a year newer than the previous
versions, so it's not a huge change.
2016-05-17 17:49:55 -04:00
Cole Robinson
117cad551d ui: Don't mark UI accessibility names as translatable
Because I haven't been using translatable strings...
2015-09-23 17:01:41 -04:00
Cole Robinson
16a744749f addhardware: Drop 'storage format' field
Originally this made sense, as it was the only way to specify a non-default
storage format when creating new storage.

Nowadays the storage browser is a full featured storage manager... and
this field is a bit confusing WRT whether it's used for creating new
storage, or informing libvirt about an existing image's format.

Drop it from the addhardware wizard, and simplify what we show in the
details wizard as well.
2015-09-13 19:13:53 -04:00
Cole Robinson
a2bd31c2a6 virt-manager: Drop old style config- prefix for widget names
It's redundant and we haven't followed that pattern for a long while
2015-09-13 18:01:39 -04:00
Cole Robinson
fc93e154dc addhardware: Fix udp/tcp host vs mode UI
We had the UI label names swapped, so were showing the incorrect fields
2015-06-21 15:14:30 -04:00