guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: installer: partition: Add a confirmation page before formatting.


From: guix-commits
Subject: 01/02: installer: partition: Add a confirmation page before formatting.
Date: Thu, 13 Oct 2022 04:50:00 -0400 (EDT)

mothacehe pushed a commit to branch master
in repository guix.

commit 91d817cc17fad5bfcba6ea3406b1275e8695f658
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Tue Aug 16 10:51:43 2022 +0200

    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>
---
 gnu/installer/newt/partition.scm | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 2adb4922b4..86607a8380 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -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)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]