]> git.proxmox.com Git - pve-installer.git/log
pve-installer.git
12 months agodebian: wrap-and-sort -tkn
Thomas Lamprecht [Mon, 19 Jun 2023 09:17:37 +0000 (11:17 +0200)]
debian: wrap-and-sort -tkn

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agoadd top-level cargo wrokspace
Thomas Lamprecht [Mon, 19 Jun 2023 09:16:07 +0000 (11:16 +0200)]
add top-level cargo wrokspace

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agotui: build with sources from debian pacakges
Thomas Lamprecht [Mon, 19 Jun 2023 09:15:24 +0000 (11:15 +0200)]
tui: build with sources from debian pacakges

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agostop main loop when closing the main window
Maximiliano Sandoval [Fri, 16 Jun 2023 10:57:43 +0000 (12:57 +0200)]
stop main loop when closing the main window

Without this change closing the main window does not exit the main loop.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agoexit process gracefully
Maximiliano Sandoval [Fri, 16 Jun 2023 10:57:42 +0000 (12:57 +0200)]
exit process gracefully

We make sure that all exit calls quit the Glib main loop and child
processes.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agostop using Gtk3::Window->set_has_resize_grip
Maximiliano Sandoval [Thu, 15 Jun 2023 12:15:03 +0000 (14:15 +0200)]
stop using Gtk3::Window->set_has_resize_grip

The property GtkWindow::has-resize-grip was deprecated in GTK 3.14,
instead we make the window unresizable.

Note that we set the value of resizable only after the window has been
mapped and knows how much space it needs, also note that this only works
correctly if the window is properly displayed via present.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agostop using Gtk3::HSeparator
Maximiliano Sandoval [Thu, 15 Jun 2023 12:15:02 +0000 (14:15 +0200)]
stop using Gtk3::HSeparator

This was deprecated in GTK 3.2, the replacement Gtk3::Separator was
added in GTK 3.0.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agostop using Gtk3::HBox and Gtk3::VBox
Maximiliano Sandoval [Thu, 15 Jun 2023 12:15:01 +0000 (14:15 +0200)]
stop using Gtk3::HBox and Gtk3::VBox

These widgets were deprecated in GTK 3.2 and replaced by Gtk3::Box which
was introduced in 3.0.

The packing changes require to horizontally expand the WebKit2::WebView
widget.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agostop using Gtk3::Misc->set_alignment
Maximiliano Sandoval [Thu, 15 Jun 2023 12:15:00 +0000 (14:15 +0200)]
stop using Gtk3::Misc->set_alignment

This was deprecated in GTK 3.14, instead we use
GtkLabel:{xalign,yalign}. Note that by default they are both set to 0.5.

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
12 months agotui: no need to have './' fallible
Wolfgang Bumiller [Fri, 16 Jun 2023 10:23:17 +0000 (12:23 +0200)]
tui: no need to have './' fallible

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
12 months agotui: only count exact example email address as invalid
Wolfgang Bumiller [Fri, 16 Jun 2023 10:23:27 +0000 (12:23 +0200)]
tui: only count exact example email address as invalid

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
12 months agotui: properly group imports
Wolfgang Bumiller [Fri, 16 Jun 2023 11:11:04 +0000 (13:11 +0200)]
tui: properly group imports

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
12 months agotui: dependencies: group our own crates separately
Wolfgang Bumiller [Fri, 16 Jun 2023 10:25:53 +0000 (12:25 +0200)]
tui: dependencies: group our own crates separately

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
12 months agoMerge remote-tracking branch 'cheiss/tui-installer' into tui
Wolfgang Bumiller [Fri, 16 Jun 2023 09:50:13 +0000 (11:50 +0200)]
Merge remote-tracking branch 'cheiss/tui-installer' into tui

12 months agocode cleanups
Thomas Lamprecht [Fri, 16 Jun 2023 07:32:18 +0000 (09:32 +0200)]
code cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agobuildsys: create complete cd-info for test
Thomas Lamprecht [Fri, 16 Jun 2023 05:48:27 +0000 (07:48 +0200)]
buildsys: create complete cd-info for test

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agotui: add preliminary final install config serialization
Christoph Heiss [Thu, 15 Jun 2023 11:30:32 +0000 (13:30 +0200)]
tui: add preliminary final install config serialization

Not fleshed out and rather crude; can/should be tweaked as necessary.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: read and save reboot-after-install checkbox into options
Christoph Heiss [Thu, 15 Jun 2023 11:28:30 +0000 (13:28 +0200)]
tui: read and save reboot-after-install checkbox into options

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rename `SetupInfo::product_cfg` -> `::config`
Christoph Heiss [Thu, 15 Jun 2023 11:10:52 +0000 (13:10 +0200)]
tui: rename `SetupInfo::product_cfg` -> `::config`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add preliminary install progress dialog
Christoph Heiss [Thu, 15 Jun 2023 10:58:41 +0000 (12:58 +0200)]
tui: add preliminary install progress dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix bootdisk dialog for zfs/btrfs
Christoph Heiss [Thu, 15 Jun 2023 10:18:01 +0000 (12:18 +0200)]
tui: fix bootdisk dialog for zfs/btrfs

This was broken when adding the usage caveats at the top of the advanced
dialog; the wrong child views were selected.

Fixes: 7f27373 ("tui: add notices for zfs/btrfs bootdisk and their caveats")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement both `PartialOrd` and `Ord` for `KeyboardMapping`
Christoph Heiss [Thu, 15 Jun 2023 10:09:17 +0000 (12:09 +0200)]
tui: implement both `PartialOrd` and `Ord` for `KeyboardMapping`

Otherwise, clippy (correctly) complains that you should always implement
both if you implement one.

Fixes: 86dac56 ("tui: use whole keyboard mapping in select view as value")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: apply keyboard layout immediately after selecting it
Christoph Heiss [Thu, 15 Jun 2023 09:51:24 +0000 (11:51 +0200)]
tui: apply keyboard layout immediately after selecting it

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: use whole keyboard mapping in select view as value
Christoph Heiss [Thu, 15 Jun 2023 09:49:55 +0000 (11:49 +0200)]
tui: use whole keyboard mapping in select view as value

Thus all its values can easily be used later on. Involves making
`KeyboardMapping` partial-orderable, just use the human-readable name
here (as that's what displayed to the user).

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: make test mode indicator into global installer state
Christoph Heiss [Thu, 15 Jun 2023 09:47:45 +0000 (11:47 +0200)]
tui: make test mode indicator into global installer state

This will later be needed in other parts of the installer as well.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: track previous screens so that that each is only created once
Christoph Heiss [Thu, 15 Jun 2023 08:49:24 +0000 (10:49 +0200)]
tui: track previous screens so that that each is only created once

Until now, if the user navigated back and then forward again, the screen
would be constructed & added again to the stack. This would result in
missing values and broken "Previous" button behaviour.

Fix it by tracking their screen ids and simply switch to them as needed.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: display proper keyboard layout name in summary
Christoph Heiss [Thu, 15 Jun 2023 08:22:35 +0000 (10:22 +0200)]
tui: display proper keyboard layout name in summary

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement proper keyboard layout selection
Christoph Heiss [Thu, 15 Jun 2023 08:12:13 +0000 (10:12 +0200)]
tui: implement proper keyboard layout selection

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: save user-selected country in options
Christoph Heiss [Thu, 15 Jun 2023 08:03:19 +0000 (10:03 +0200)]
tui: save user-selected country in options

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: move timezone dialog into custom view
Christoph Heiss [Thu, 15 Jun 2023 08:01:09 +0000 (10:01 +0200)]
tui: move timezone dialog into custom view

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rename `LocaleInfo::country` -> `::countries`
Christoph Heiss [Thu, 15 Jun 2023 08:01:53 +0000 (10:01 +0200)]
tui: rename `LocaleInfo::country` -> `::countries`

It's a map of all the countries, thus make the name plural too to match
its content.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agorename Env to ISOEnv
Thomas Lamprecht [Wed, 14 Jun 2023 11:26:36 +0000 (13:26 +0200)]
rename Env to ISOEnv

in preparation of adding a runtime env module

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
12 months agotui: display correct logo & title depending on product info
Christoph Heiss [Wed, 14 Jun 2023 10:53:21 +0000 (12:53 +0200)]
tui: display correct logo & title depending on product info

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: ignore `testdir` here as well
Christoph Heiss [Wed, 14 Jun 2023 10:52:13 +0000 (12:52 +0200)]
tui: ignore `testdir` here as well

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rename `InstallerData` -> `InstallerState`
Christoph Heiss [Wed, 14 Jun 2023 10:29:20 +0000 (12:29 +0200)]
tui: rename `InstallerData` -> `InstallerState`

It was kind of ambigous anyway - naming is hard.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement initial parsing for setup & locale info
Christoph Heiss [Wed, 14 Jun 2023 10:21:48 +0000 (12:21 +0200)]
tui: implement initial parsing for setup & locale info

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add notices for zfs/btrfs bootdisk and their caveats
Christoph Heiss [Wed, 14 Jun 2023 07:41:19 +0000 (09:41 +0200)]
tui: add notices for zfs/btrfs bootdisk and their caveats

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce proper type for handling FQDNs
Christoph Heiss [Wed, 14 Jun 2023 07:37:54 +0000 (09:37 +0200)]
tui: introduce proper type for handling FQDNs

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: remove cargo lockfile
Christoph Heiss [Tue, 13 Jun 2023 12:30:53 +0000 (14:30 +0200)]
tui: remove cargo lockfile

We don't commit that anywhere; so remove it here as well.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add simple system cpu/memory check, similar to gui installer
Christoph Heiss [Tue, 13 Jun 2023 12:29:55 +0000 (14:29 +0200)]
tui: add simple system cpu/memory check, similar to gui installer

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add some more field validation checks
Christoph Heiss [Tue, 13 Jun 2023 12:02:33 +0000 (14:02 +0200)]
tui: add some more field validation checks

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix target bootdisk display for zfs/btrfs
Christoph Heiss [Tue, 13 Jun 2023 11:52:17 +0000 (13:52 +0200)]
tui: fix target bootdisk display for zfs/btrfs

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: drop some unneeded type annotations
Christoph Heiss [Tue, 13 Jun 2023 11:34:12 +0000 (13:34 +0200)]
tui: drop some unneeded type annotations

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: drop now-obsolete form types
Christoph Heiss [Tue, 13 Jun 2023 11:33:43 +0000 (13:33 +0200)]
tui: drop now-obsolete form types

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite bootdisk & fstype selector to use `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:32:42 +0000 (13:32 +0200)]
tui: rewrite bootdisk & fstype selector to use `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite zfs & btrfs bootdisk options dialog using `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:31:20 +0000 (13:31 +0200)]
tui: rewrite zfs & btrfs bootdisk options dialog using `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite LVM bootdisk dialog using `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:27:49 +0000 (13:27 +0200)]
tui: rewrite LVM bootdisk dialog using `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite network dialog using new `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:21:50 +0000 (13:21 +0200)]
tui: rewrite network dialog using new `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite password using new `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:19:50 +0000 (13:19 +0200)]
tui: rewrite password using new `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: rewrite timezone dialog using new `FormView`
Christoph Heiss [Tue, 13 Jun 2023 11:18:07 +0000 (13:18 +0200)]
tui: rewrite timezone dialog using new `FormView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce new `FormView` compomenent to unify all form inputs
Christoph Heiss [Tue, 13 Jun 2023 11:15:49 +0000 (13:15 +0200)]
tui: introduce new `FormView` compomenent to unify all form inputs

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: error out in network dialog if option retrieval failed
Christoph Heiss [Tue, 13 Jun 2023 07:24:09 +0000 (09:24 +0200)]
tui: error out in network dialog if option retrieval failed

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement password dialog options retrieval and validation
Christoph Heiss [Tue, 13 Jun 2023 07:22:47 +0000 (09:22 +0200)]
tui: implement password dialog options retrieval and validation

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: refactor and unify btrfs and zfs bootdisk options view
Christoph Heiss [Tue, 13 Jun 2023 07:08:40 +0000 (09:08 +0200)]
tui: refactor and unify btrfs and zfs bootdisk options view

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement btrfs bootdisk selection option
Christoph Heiss [Tue, 13 Jun 2023 06:47:17 +0000 (08:47 +0200)]
tui: implement btrfs bootdisk selection option

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: format disk size as GiB for now, instead of bytes
Christoph Heiss [Tue, 13 Jun 2023 06:39:54 +0000 (08:39 +0200)]
tui: format disk size as GiB for now, instead of bytes

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix disksize-input unit
Christoph Heiss [Tue, 13 Jun 2023 06:39:00 +0000 (08:39 +0200)]
tui: fix disksize-input unit

Previously, the size was displayed in MiB, although it should have been
GiB.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement zfs bootdisk selection option
Christoph Heiss [Tue, 13 Jun 2023 06:31:33 +0000 (08:31 +0200)]
tui: implement zfs bootdisk selection option

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement `FormInputViewGetValue` for custom `NumericEditView`s
Christoph Heiss [Tue, 13 Jun 2023 06:28:23 +0000 (08:28 +0200)]
tui: implement `FormInputViewGetValue` for custom `NumericEditView`s

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: refactor bootdisk dialog; advanced options into separate dialog
Christoph Heiss [Fri, 9 Jun 2023 10:26:41 +0000 (12:26 +0200)]
tui: refactor bootdisk dialog; advanced options into separate dialog

This also reworks the whole installer state. The main type is now
`InstallerData`, which holds info about the machine (such as info about
the disks), as well as all the user options.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: make `FormInputViewGetValue<SelectView>` fully generic
Christoph Heiss [Wed, 7 Jun 2023 14:52:06 +0000 (16:52 +0200)]
tui: make `FormInputViewGetValue<SelectView>` fully generic

`SelectView` can hold values of other types than string.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: refactor some option bits
Christoph Heiss [Tue, 6 Jun 2023 11:23:40 +0000 (13:23 +0200)]
tui: refactor some option bits

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: move bootdisk dialog into own module
Christoph Heiss [Tue, 6 Jun 2023 10:01:49 +0000 (12:01 +0200)]
tui: move bootdisk dialog into own module

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: combine all `use` directives into one block
Christoph Heiss [Tue, 6 Jun 2023 09:31:11 +0000 (11:31 +0200)]
tui: combine all `use` directives into one block

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add rustdoc for `CidrAddress` type
Christoph Heiss [Tue, 6 Jun 2023 09:29:42 +0000 (11:29 +0200)]
tui: add rustdoc for `CidrAddress` type

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add proper IPv6 support to `CidrAddress`
Christoph Heiss [Tue, 6 Jun 2023 09:26:56 +0000 (11:26 +0200)]
tui: add proper IPv6 support to `CidrAddress`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add top content padding for all installer views
Christoph Heiss [Tue, 6 Jun 2023 08:42:24 +0000 (10:42 +0200)]
tui: add top content padding for all installer views

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add README describing some debugging specifics
Christoph Heiss [Tue, 6 Jun 2023 08:14:55 +0000 (10:14 +0200)]
tui: add README describing some debugging specifics

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement scrolling for (summary) table view
Christoph Heiss [Tue, 6 Jun 2023 08:04:50 +0000 (10:04 +0200)]
tui: implement scrolling for (summary) table view

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: unify option labels spelling/formatting in summary view
Christoph Heiss [Mon, 5 Jun 2023 12:13:10 +0000 (14:13 +0200)]
tui: unify option labels spelling/formatting in summary view

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix invalid starting value for integer input views
Christoph Heiss [Mon, 5 Jun 2023 12:08:43 +0000 (14:08 +0200)]
tui: fix invalid starting value for integer input views

Fixes: b0a3beb ("tui: introduce separate views types for float & integer inputs")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce `CidrAddress` type for ip address + mask tuples
Christoph Heiss [Mon, 5 Jun 2023 12:05:04 +0000 (14:05 +0200)]
tui: introduce `CidrAddress` type for ip address + mask tuples

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: move installer options defintions into separate module
Christoph Heiss [Mon, 5 Jun 2023 11:42:51 +0000 (13:42 +0200)]
tui: move installer options defintions into separate module

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: simplify FormInputViewGetValue impl's
Christoph Heiss [Mon, 5 Jun 2023 11:34:49 +0000 (13:34 +0200)]
tui: simplify FormInputViewGetValue impl's

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix warning about unused function
Christoph Heiss [Mon, 5 Jun 2023 11:20:46 +0000 (13:20 +0200)]
tui: fix warning about unused function

yes_no_dialog() is not used in debug builds; due to it's only usage in
trigger_abort_install_dialog() being only enabled in release builds for
brevity reasons.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: simplify add_next_screen() by taking a `siv` directly
Christoph Heiss [Mon, 5 Jun 2023 11:19:38 +0000 (13:19 +0200)]
tui: simplify add_next_screen() by taking a `siv` directly

Suggested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement value retrieval for network options dialog
Christoph Heiss [Mon, 5 Jun 2023 11:14:13 +0000 (13:14 +0200)]
tui: implement value retrieval for network options dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce trait to retrieve input values wrapped by `FormInputView`
Christoph Heiss [Mon, 5 Jun 2023 11:12:28 +0000 (13:12 +0200)]
tui: introduce trait to retrieve input values wrapped by `FormInputView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce separate views types for float & integer inputs
Christoph Heiss [Mon, 5 Jun 2023 11:09:25 +0000 (13:09 +0200)]
tui: introduce separate views types for float & integer inputs

This having to conditionalize everything on the `.ints_only` member,
making things a lot cleaner and easier to expand as needed.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add preliminary summary dialog
Christoph Heiss [Thu, 1 Jun 2023 12:14:06 +0000 (14:14 +0200)]
tui: add preliminary summary dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add `TableView` component for displaying tabular data
Christoph Heiss [Thu, 1 Jun 2023 12:13:10 +0000 (14:13 +0200)]
tui: add `TableView` component for displaying tabular data

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: move utility views into own module directory
Christoph Heiss [Thu, 1 Jun 2023 12:12:23 +0000 (14:12 +0200)]
tui: move utility views into own module directory

.. in preparation for adding additional modules.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: avoid open-coding add_next_screen()
Christoph Heiss [Thu, 1 Jun 2023 10:43:53 +0000 (12:43 +0200)]
tui: avoid open-coding add_next_screen()

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix typo in network dialog label
Christoph Heiss [Wed, 31 May 2023 12:05:24 +0000 (14:05 +0200)]
tui: fix typo in network dialog label

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: separate CIDR input into own view
Christoph Heiss [Wed, 31 May 2023 11:46:00 +0000 (13:46 +0200)]
tui: separate CIDR input into own view

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: DiskSizeFormInputView: simplify using direct `if let Some(..)`
Christoph Heiss [Wed, 31 May 2023 11:45:22 +0000 (13:45 +0200)]
tui: DiskSizeFormInputView: simplify using direct `if let Some(..)`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add preliminary network dialog
Christoph Heiss [Wed, 31 May 2023 11:32:03 +0000 (13:32 +0200)]
tui: add preliminary network dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: display error dialog on invalid values instead of panicking
Christoph Heiss [Wed, 31 May 2023 11:27:55 +0000 (13:27 +0200)]
tui: display error dialog on invalid values instead of panicking

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: fix panic in `NumericEditView` if the cursor is at the last position
Christoph Heiss [Wed, 31 May 2023 10:57:34 +0000 (12:57 +0200)]
tui: fix panic in `NumericEditView` if the cursor is at the last position

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement DiskSizeFormInputView::content() callback-free
Christoph Heiss [Wed, 31 May 2023 10:55:11 +0000 (12:55 +0200)]
tui: implement DiskSizeFormInputView::content() callback-free

See also commit 1a26aef, which does the same for `NumericEditView`.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: implement NumericEditView::content() callback-free
Christoph Heiss [Wed, 31 May 2023 10:27:36 +0000 (12:27 +0200)]
tui: implement NumericEditView::content() callback-free

.set_content() returns a callback which must be called in a `Cursive`
context, which for the chainable variant is never really on option.
Avoid that and do it properly.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add basic email/root password dialog
Christoph Heiss [Wed, 31 May 2023 09:19:29 +0000 (11:19 +0200)]
tui: add basic email/root password dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add simple location/timezone dialog
Christoph Heiss [Wed, 31 May 2023 08:46:37 +0000 (10:46 +0200)]
tui: add simple location/timezone dialog

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: move abort/previous/next buttons into `InstallerView`
Christoph Heiss [Wed, 31 May 2023 08:44:05 +0000 (10:44 +0200)]
tui: move abort/previous/next buttons into `InstallerView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add missing `FS_TYPES` definition
Christoph Heiss [Wed, 31 May 2023 07:00:14 +0000 (09:00 +0200)]
tui: add missing `FS_TYPES` definition

Fixes: e09b55a ("tui: add bootdisk selection screen")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: introduce generic `FormInputView`
Christoph Heiss [Tue, 30 May 2023 10:01:18 +0000 (12:01 +0200)]
tui: introduce generic `FormInputView`

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add bootdisk selection screen
Christoph Heiss [Tue, 30 May 2023 09:36:36 +0000 (11:36 +0200)]
tui: add bootdisk selection screen

Only LVM boodisks (read: ext4 and xfs) are supported for now; zfs/btrfs
will come later.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add `NumericEditView` and `DiskSizeInputView` components
Christoph Heiss [Tue, 30 May 2023 09:35:52 +0000 (11:35 +0200)]
tui: add `NumericEditView` and `DiskSizeInputView` components

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: add LVM disk structures and some mocking data
Christoph Heiss [Tue, 30 May 2023 09:34:08 +0000 (11:34 +0200)]
tui: add LVM disk structures and some mocking data

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
12 months agotui: pass `Cursive` instance to installer view constructors
Christoph Heiss [Tue, 30 May 2023 09:31:24 +0000 (11:31 +0200)]
tui: pass `Cursive` instance to installer view constructors

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>