installer: partition: Add a confirmation page before formatting.
Fixes: <https://issues.guix.gnu.org/57232>. * gnu/installer/newt/partition.scm (run-label-confirmation-page): New procedure. (run-label-page): Call the above procedure before proceeding. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
parent
2c11e857af
commit
91d817cc17
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2018, 2019, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
|
@ -92,6 +92,18 @@ disk. The installation device as well as the small devices are filtered.")
|
|||
(device (car result)))
|
||||
device))
|
||||
|
||||
(define (run-label-confirmation-page callback)
|
||||
(lambda (item)
|
||||
(match (current-clients)
|
||||
(()
|
||||
(and (run-confirmation-page
|
||||
(format #f (G_ "This will create a new ~a partition table, \
|
||||
all data on disk will be lost, are you sure you want to proceed?") item)
|
||||
(G_ "Format disk?")
|
||||
#:exit-button-procedure callback)
|
||||
item))
|
||||
(_ item))))
|
||||
|
||||
(define (run-label-page button-text button-callback)
|
||||
"Run a page asking the user to select a partition table label."
|
||||
;; Force the GPT label if UEFI is supported.
|
||||
|
@ -103,6 +115,8 @@ Be careful, all data on the disk will be lost.")
|
|||
#:title (G_ "Partition table")
|
||||
#:listbox-items '("msdos" "gpt")
|
||||
#:listbox-item->text identity
|
||||
#:listbox-callback-procedure
|
||||
(run-label-confirmation-page button-callback)
|
||||
#:button-text button-text
|
||||
#:button-callback-procedure button-callback)))
|
||||
|
||||
|
|
Reference in New Issue