Commit Graph

59 Commits

Author SHA1 Message Date
Cole Robinson
9db3b5c7e5 ui: create: Drop lots of indentation
Makes better use of horizontal space
2018-10-02 10:26:04 -04:00
Cole Robinson
b19f94299b details: Add OS name view/edit, + oslist rework
This is just a big nasty commit.

Turn the OS inspection page into an always available page that
shows the libosinfo name from the domain metadata XML. Use oslist.py
and have it absorb more of the common behavior needed by create.py
and details.py. Add UI tests for it all
2018-09-30 20:55:32 -04:00
Cole Robinson
d60229825f create: update caps state when machine type changes
And drop old dtb virtio stuff which we don't care about anymore
2018-09-12 15:35:49 -04:00
Cole Robinson
7a2abb5abf installer: Remove --location nfs support
Removal was discussed here:
https://www.redhat.com/archives/virt-tools-list/2018-May/msg00011.html

Basically I don't think many people use this, the feature is very
inflexible, it's hard to test, and users can essentially do it
themselves with a bit more effort.
2018-06-12 14:07:50 -04:00
Cole Robinson
ec407e8a06 tests: uitests: newvm: Fix import tests after oslist rework 2018-05-01 18:45:25 -04:00
Daniel P. Berrangé
d52d9885c8 Redesign OS distro selection UI to be faster to use
The current OS distro selection UI is fairly cumbersome to use. First
you need to decide on a variant, then decide a distro and then look for
the version you want. The list is filtered by default so only a subset
of OS are displayed. So for less common distros you'll then need to
start again and tell it to show all OS to try to find the one you want.

The core problem is that we have an incredibly large list and want to
make it easy for the user to find a specific entry. The modern UI
paradigm for this problem is to provide interactive search with
live updated results. The current UI does provide an interactive search
facility on the OS version results, but you still have to first select a
variant to be able to use the search which is unhelpful.

This patch attempts to better apply the search UI design to the OS selection
problem. We get rid of the notion of variants, distros and version, and
provide a single text entry box in which the user can type a few letters
of the OS name. As they type, a popover displays the matching results
filtered on OS name. By default end of life OS will be hidden, so in
general there will only be a small handful of results left after just
typing a few characters. This makes it very quick to find and select the
desired OS, without needing to provide a mutli-step navigation hierarchy.

https://bugzilla.redhat.com/show_bug.cgi?id=1464306

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

(crobinso: fix some pylint)
2018-05-01 11:31:39 -04:00
Cole Robinson
b72db888f6 ui: create: Fix container rootpw mismerge 2018-03-15 21:24:48 -04: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
Cédric Bosdonnat
50fd011153 oscontainer: ask root password in the wizard
When creating a new root file system out of an downloaded image,
the root password is likely to be changed. Add a field for this
in the new guest wizard.
2018-01-06 17:21:35 -05:00
Cédric Bosdonnat
03e827b24b Improve container image url examples
Replace the docker://fedora placeholder by a tooltip that shows more of the
possible values (taken from virt-bootstrap's man page). Finding an image
that has a /sbin/init on the docker hub is rather hard, better remove
the misleading value.
2018-01-06 17:21:35 -05:00
Anthony
ca3c3a5869 ui: create: fix bootstrap typo 2017-12-20 14:02:55 -05:00
Cole Robinson
6f8206dc55 uitests: newvm: Fix after CPU UI tweaks 2017-07-20 17:54:11 -04:00
Cole Robinson
85cbf9e64d ui: create: modernize layout for memory/cpu page 2017-07-14 19:23:35 -04:00
Radostin Stoyanov
bb2e5c0899 create: Add support for OS tree creation
Allow container bootstrap when connected to local Libvirt LXC driver
and if virtBootstrap module is available.
2017-07-10 14:51:31 -04:00
Cole Robinson
860268f735 ui: create: Fix vertical alignment of storage summary 2017-06-01 13:55:41 -04:00
Radostin Stoyanov
6f6727f78b Use consistent alignment for memory/cpu grid 2017-06-01 13:46:24 -04:00
Radostin Stoyanov
fc5ecbcdf8 Resolve incorrect label alignment
The "xalign" property determines the horizontal alignment of the label
text inside the labels size allocation. Compare this to “halign”,
which determines how the labels size allocation is positioned
in the space available for the label. [1]

When the "width_chars" property is used, labels appear to be centered.
This could be resolved when the property "width_chars" is replaced
with "max_width_chars" or removed in case "max_width_chars" is already
set. [2]

[1] https://developer.gnome.org/gtk3/stable/GtkLabel.html#GtkLabel--xalign
[2] https://developer.gnome.org/gtk3/stable/GtkWidget.html#GtkAlign
2017-06-01 13:46:20 -04: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
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
aefea61fa0 create: Fix some minor UI issues with vz installs 2017-03-22 11:40:04 -04:00
Mikhail Feoktistov
5a70b946c7 Add GUI to create wizard for virtuozzo containers
Add virtuozzo hypervisor to connection list.
Add radio buttons for choosing VM or container virtualization type.
New wizard window for setting template name for containers.
2017-03-22 11:00:50 -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
2178cc8c93 create: Drop explicit kickstart UI
Few users actually use this, and they can easily do it with the kernel
options field.
2015-11-21 20:21:09 -05: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
8e58734699 create: Hide aarch64 warning if we switch architectures
Simplest is to have a separate UI area for the arch warning, since
the standard startup warning may still apply too.

Reported-by: João Pirralha <joaopirralha@gmail.com>
2015-09-23 16:51:49 -04:00
Cole Robinson
d896dd7347 create: Allow switching between KVM and TCG for armv7l (bz 1214592)
Otherwise we tried to always force KVM which reduces the usefulness
here. We still get the defaults right though

https://bugzilla.redhat.com/show_bug.cgi?id=1214592
2015-09-14 19:27:48 -04:00
Cole Robinson
7953f23975 create: Update storage path in summary when VM name changes
If the name is going to influence the default storage path, update it
as people type
2015-09-14 16:22:17 -04:00
Cole Robinson
a4ddac4bb1 create: Always display the storage path in the summary 2015-09-14 15:22:17 -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
241c3125e5 create: Drop redundant _have_startup_error
Isn't needed in the modern code
2015-09-13 12:28:16 -04:00
Cole Robinson
ddea18baf9 create: Cleanup of distro detection code
- Use better variable names
- Lots of comments
- Streamline various parts
2015-09-13 12:28:16 -04:00
Cole Robinson
5c66328e10 uitests: Several more 'New VM' tests, and cli --show tests 2015-09-09 19:07:31 -04:00
Cole Robinson
730b739795 create: A bunch of mnemonic fixes 2015-09-09 14:26:36 -04:00
Cole Robinson
5f497b4d79 Mark a couple strings as translatable 2015-08-09 14:01:01 -04:00
Cole Robinson
413c290bfe create: Renamed 'advanced options' to 'network selection'
Since that's all it contains now
2015-04-10 18:44:16 -04:00
Cole Robinson
1d98af2c47 create: Move mac address editing to customize dialog
People should rarely need to edit the mac address, so remove it from
the create wizard. However we only allow editing the mac address in
the 'customize' dialog: regular network details disables editing, since
that should be a rare and potentially dangerous operation.
2015-04-07 18:52:35 -04:00
Cole Robinson
fa76e92f2c virt-manager: Fix issues with ellipsizing on recent gtk 2014-09-19 22:08:22 -04:00
Cole Robinson
55739055fd ui: Set all files to minimum requirement of gtk 3.8
That way gives us better feedback from glade
2014-09-19 21:19:26 -04:00
Cole Robinson
cc70aa82ab ui: Fix minor issues, and resave all files with f21 glade 2014-09-06 15:01:12 -04:00
Chen Hanxiao
2f4a424521 use binary prefixes for units where appropriate
https://bugzilla.redhat.com/show_bug.cgi?id=1103893

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-16 11:56:53 +08:00
Giuseppe Scrivano
33a2d1a1c8 virt-manager: use autocomplete for OS variant selection
After the migration to libosinfo, choosing an OS variant from "New VM"
wizard became a mess for the very long list of options.
Using an autocomplete entry text will facilitate this task, as an user
can start typing the variant as soon as the OS type is selected.
The combo-box is left untouched, so undecided users can still use it.

UI-suggested-by: Máirín Duffy <duffy@redhat.com>
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-04-26 10:32:30 +02:00
Cole Robinson
00d5312bd6 Break out shared storage creation UI to addstorage.py 2014-01-29 09:22:28 -05:00
Cole Robinson
8bb9853ec8 Move shared cdrom media UI to mediacombo.py 2014-01-28 14:20:57 -05:00
Cole Robinson
169ae1203d Break out shared network list UI to netlist.py
Use this to show vport stuff in addhw, give a warning about macvtap
networking, and allow macvtap from the create wizard.
2014-01-28 10:00:06 -05:00