confirm before writing data to disks

This commit is contained in:
Michael Hudson-Doyle 2017-03-22 14:26:10 +13:00
parent e8450009d0
commit 0e31ef65ff
1 changed files with 29 additions and 6 deletions

View File

@ -20,12 +20,15 @@ configuration.
""" """
import logging import logging
from urwid import connect_signal, Text from urwid import connect_signal, LineBox, Text, WidgetWrap
from subiquitycore.ui.buttons import (done_btn, from subiquitycore.ui.buttons import (
reset_btn, cancel_btn,
cancel_btn, continue_btn,
menu_btn) done_btn,
menu_btn,
reset_btn,
)
from subiquitycore.ui.container import Columns, ListBox, Pile from subiquitycore.ui.container import Columns, ListBox, Pile
from subiquitycore.ui.utils import Padding, Color from subiquitycore.ui.utils import Padding, Color
from subiquitycore.view import BaseView from subiquitycore.view import BaseView
@ -36,6 +39,26 @@ from subiquity.models.filesystem import _humanize_size
log = logging.getLogger('subiquity.ui.filesystem.filesystem') log = logging.getLogger('subiquity.ui.filesystem.filesystem')
class FilesystemConfirmationView(WidgetWrap):
def __init__(self, parent, controller):
self.parent = parent
self.controller = controller
pile = Pile([
Text("Selecting Continue below will result of the loss of data disks selected to be formatted. Are you sure you want to continue?"),
Text(""),
Padding.fixed_15(Color.button(cancel_btn(on_press=self.cancel))),
Padding.fixed_15(Color.button(continue_btn(on_press=self.ok))),
])
lb = LineBox(pile, title="Confirm destructive action")
super().__init__(Padding.center_75(lb))
def ok(self, sender):
self.controller.finish()
def cancel(self, sender):
self.parent.remove_overlay()
class FilesystemView(BaseView): class FilesystemView(BaseView):
def __init__(self, model, controller): def __init__(self, model, controller):
log.debug('FileSystemView init start()') log.debug('FileSystemView init start()')
@ -175,4 +198,4 @@ class FilesystemView(BaseView):
self.controller.reset() self.controller.reset()
def done(self, button): def done(self, button):
self.controller.finish() self.show_overlay(FilesystemConfirmationView(self, self.controller))