Commit Graph

979 Commits

Author SHA1 Message Date
Christoph Heiss
de0e2eaa6a tui: combine all use directives into one block
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
6cff279466 tui: add rustdoc for CidrAddress type
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
a04201354d tui: add proper IPv6 support to CidrAddress
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
8807d54726 tui: add top content padding for all installer views
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
75c7c30362 tui: add README describing some debugging specifics
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e7a529aecc tui: implement scrolling for (summary) table view
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
a7965322ec tui: unify option labels spelling/formatting in summary view
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
9d89d3ad49 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
fc18719600 tui: introduce CidrAddress type for ip address + mask tuples
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
b7828c87ce tui: move installer options defintions into separate module
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e5dc9a491b tui: simplify FormInputViewGetValue impl's
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
bb95150055 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
5e73fcfeaf 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
cd383717e8 tui: implement value retrieval for network options dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
56c6bac76a tui: introduce trait to retrieve input values wrapped by FormInputView
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
1065dad78c 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
947fe36045 tui: add preliminary summary dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
29c4d84e77 tui: add TableView component for displaying tabular data
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
17a3026765 tui: move utility views into own module directory
.. in preparation for adding additional modules.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
fbccf72c1a tui: avoid open-coding add_next_screen()
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
1397feec4f tui: fix typo in network dialog label
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
fb27f7ebb5 tui: separate CIDR input into own view
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
de97681bc6 tui: DiskSizeFormInputView: simplify using direct if let Some(..)
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
ccd34284b3 tui: add preliminary network dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
93ebe7bd0d tui: display error dialog on invalid values instead of panicking
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
ba8987656c tui: fix panic in NumericEditView if the cursor is at the last position
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
468030fc87 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
938259acb1 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
c2eee46862 tui: add basic email/root password dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
a142f45783 tui: add simple location/timezone dialog
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
f522afb14c tui: move abort/previous/next buttons into InstallerView
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
48ce057c89 tui: add missing FS_TYPES definition
Fixes: e09b55a ("tui: add bootdisk selection screen")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
52e6b3373c tui: introduce generic FormInputView
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
64220ff188 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>
2023-06-14 10:39:56 +02:00
Christoph Heiss
83071f3542 tui: add NumericEditView and DiskSizeInputView components
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e9557e6210 tui: add LVM disk structures and some mocking data
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
e70f1b2fed tui: pass Cursive instance to installer view constructors
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
806820740f tui: add missing Panel import
Fixes: 3403ed9 ("tui: limit the maximum installer view size to something reasonable")
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
8b43c2d383 tui: limit the maximum installer view size to something reasonable
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
8f5fdd2110 tui: simplify get_eula() logic a bit
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
5886924326 tui: disable "abort installation?" dialog in debug builds
Lot more convienent for testing.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
ccf3b0755d tui: add proper ^C handler
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Christoph Heiss
183e2a7641 tui: add initial proof-of-concept
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
2023-06-14 10:39:56 +02:00
Thomas Lamprecht
989191f030 add initial basic version of proxmox-low-level-installer tool
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:29:52 +02:00
Thomas Lamprecht
29f3240613 buildsys: allow generating cd-info.test file without check targets too
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:27:59 +02:00
Thomas Lamprecht
98489cf51d env: add "run" location
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:14:17 +02:00
Thomas Lamprecht
846e2e2f6d env: add missing include of Cwd module
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-14 10:14:00 +02:00
Thomas Lamprecht
f7a829cc46 bootloader installation: variable format clean-up
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-13 13:43:05 +02:00
Thomas Lamprecht
6d6bec9f9a bootloader installation: fix wrong & misleading parenthesis indentation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-13 13:42:21 +02:00
Thomas Lamprecht
37724441d8 bump version to 8.0-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-09 11:16:26 +02:00