use the new stretchy overlays
for the layout toggle and the install confirmation
This commit is contained in:
parent
7eafa420fb
commit
458520e671
|
@ -20,12 +20,7 @@ configuration.
|
|||
|
||||
"""
|
||||
import logging
|
||||
from urwid import (
|
||||
LineBox,
|
||||
Padding as UrwidPadding,
|
||||
Text,
|
||||
WidgetWrap,
|
||||
)
|
||||
from urwid import Text
|
||||
|
||||
from subiquitycore.ui.buttons import (
|
||||
back_btn,
|
||||
|
@ -36,6 +31,7 @@ from subiquitycore.ui.buttons import (
|
|||
reset_btn,
|
||||
)
|
||||
from subiquitycore.ui.container import Columns, ListBox, Pile
|
||||
from subiquitycore.ui.stretchy import Stretchy
|
||||
from subiquitycore.ui.utils import button_pile, Color, Padding
|
||||
from subiquitycore.view import BaseView
|
||||
|
||||
|
@ -52,22 +48,24 @@ result in the loss of data on the disks selected to be formatted.
|
|||
You will not be able to return to this or a previous screen once \
|
||||
the installation has started.
|
||||
|
||||
Are you sure you want to continue?
|
||||
""")
|
||||
Are you sure you want to continue?""")
|
||||
|
||||
class FilesystemConfirmationView(WidgetWrap):
|
||||
class FilesystemConfirmation(Stretchy):
|
||||
def __init__(self, parent, controller):
|
||||
self.parent = parent
|
||||
self.controller = controller
|
||||
pile = Pile([
|
||||
UrwidPadding(Text(confirmation_text), left=2, right=2),
|
||||
widgets = [
|
||||
Text(confirmation_text),
|
||||
Text(""),
|
||||
button_pile([
|
||||
cancel_btn(_("No"), on_press=self.cancel),
|
||||
danger_btn(_("Continue"), on_press=self.ok)]),
|
||||
Text(""),
|
||||
])
|
||||
lb = LineBox(pile, title=_("Confirm destructive action"))
|
||||
super().__init__(lb)
|
||||
]
|
||||
super().__init__(
|
||||
_("Confirm destructive action"),
|
||||
widgets,
|
||||
stretchy_index=0,
|
||||
focus_index=2)
|
||||
|
||||
def ok(self, sender):
|
||||
self.controller.finish()
|
||||
|
@ -275,4 +273,4 @@ class FilesystemView(BaseView):
|
|||
self.controller.reset()
|
||||
|
||||
def done(self, button):
|
||||
self.show_overlay(FilesystemConfirmationView(self, self.controller), min_width=0)
|
||||
self.show_stretchy_overlay(FilesystemConfirmation(self, self.controller))
|
||||
|
|
|
@ -18,8 +18,6 @@ import logging
|
|||
from urwid import (
|
||||
connect_signal,
|
||||
LineBox,
|
||||
Padding as UrwidPadding,
|
||||
SolidFill,
|
||||
Text,
|
||||
WidgetWrap,
|
||||
)
|
||||
|
@ -31,7 +29,6 @@ from subiquitycore.ui.buttons import (
|
|||
)
|
||||
from subiquitycore.ui.container import (
|
||||
Columns,
|
||||
ListBox,
|
||||
Pile,
|
||||
)
|
||||
from subiquitycore.ui.form import (
|
||||
|
@ -39,6 +36,9 @@ from subiquitycore.ui.form import (
|
|||
Form,
|
||||
)
|
||||
from subiquitycore.ui.selector import Selector, Option
|
||||
from subiquitycore.ui.stretchy import (
|
||||
Stretchy,
|
||||
)
|
||||
from subiquitycore.ui.utils import button_pile, Color, Padding, screen
|
||||
from subiquitycore.view import BaseView
|
||||
|
||||
|
@ -302,7 +302,7 @@ toggle_options = [
|
|||
]
|
||||
|
||||
|
||||
class ToggleQuestion(WidgetWrap):
|
||||
class ToggleQuestion(Stretchy):
|
||||
|
||||
def __init__(self, parent, setting):
|
||||
self.parent = parent
|
||||
|
@ -315,28 +315,24 @@ class ToggleQuestion(WidgetWrap):
|
|||
except AttributeError:
|
||||
pass
|
||||
|
||||
pile = Pile([
|
||||
ListBox([
|
||||
Text(_(toggle_text)),
|
||||
]),
|
||||
(1, SolidFill(" ")),
|
||||
('pack', Padding.center_79(Columns([
|
||||
widgets = [
|
||||
Text(_(toggle_text)),
|
||||
Text(""),
|
||||
Padding.center_79(Columns([
|
||||
('pack', Text(_("Shortcut: "))),
|
||||
Color.string_input(self.selector),
|
||||
]))),
|
||||
(1, SolidFill(" ")),
|
||||
('pack', button_pile([
|
||||
])),
|
||||
Text(""),
|
||||
button_pile([
|
||||
ok_btn(label=_("OK"), on_press=self.ok),
|
||||
cancel_btn(label=_("Cancel"), on_press=self.cancel),
|
||||
])),
|
||||
])
|
||||
pile.focus_position = 4
|
||||
]),
|
||||
]
|
||||
super().__init__(
|
||||
LineBox(
|
||||
UrwidPadding(
|
||||
pile,
|
||||
left=1, right=1),
|
||||
_("Select layout toggle")))
|
||||
_("Select layout toggle"),
|
||||
widgets,
|
||||
stretchy_index=0,
|
||||
focus_index=4)
|
||||
|
||||
def ok(self, sender):
|
||||
self.parent.remove_overlay()
|
||||
|
@ -411,7 +407,7 @@ class KeyboardView(BaseView):
|
|||
setting = KeyboardSetting(layout=layout, variant=variant)
|
||||
new_setting = setting.latinizable()
|
||||
if new_setting != setting:
|
||||
self.show_overlay(ToggleQuestion(self, new_setting), height=('relative', 100))
|
||||
self.show_stretchy_overlay(ToggleQuestion(self, new_setting))
|
||||
return
|
||||
self.really_done(setting)
|
||||
|
||||
|
|
Loading…
Reference in New Issue