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
|
import logging
|
||||||
from urwid import (
|
from urwid import Text
|
||||||
LineBox,
|
|
||||||
Padding as UrwidPadding,
|
|
||||||
Text,
|
|
||||||
WidgetWrap,
|
|
||||||
)
|
|
||||||
|
|
||||||
from subiquitycore.ui.buttons import (
|
from subiquitycore.ui.buttons import (
|
||||||
back_btn,
|
back_btn,
|
||||||
|
@ -36,6 +31,7 @@ from subiquitycore.ui.buttons import (
|
||||||
reset_btn,
|
reset_btn,
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.container import Columns, ListBox, Pile
|
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.ui.utils import button_pile, Color, Padding
|
||||||
from subiquitycore.view import BaseView
|
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 \
|
You will not be able to return to this or a previous screen once \
|
||||||
the installation has started.
|
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):
|
def __init__(self, parent, controller):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.controller = controller
|
self.controller = controller
|
||||||
pile = Pile([
|
widgets = [
|
||||||
UrwidPadding(Text(confirmation_text), left=2, right=2),
|
Text(confirmation_text),
|
||||||
|
Text(""),
|
||||||
button_pile([
|
button_pile([
|
||||||
cancel_btn(_("No"), on_press=self.cancel),
|
cancel_btn(_("No"), on_press=self.cancel),
|
||||||
danger_btn(_("Continue"), on_press=self.ok)]),
|
danger_btn(_("Continue"), on_press=self.ok)]),
|
||||||
Text(""),
|
]
|
||||||
])
|
super().__init__(
|
||||||
lb = LineBox(pile, title=_("Confirm destructive action"))
|
_("Confirm destructive action"),
|
||||||
super().__init__(lb)
|
widgets,
|
||||||
|
stretchy_index=0,
|
||||||
|
focus_index=2)
|
||||||
|
|
||||||
def ok(self, sender):
|
def ok(self, sender):
|
||||||
self.controller.finish()
|
self.controller.finish()
|
||||||
|
@ -275,4 +273,4 @@ class FilesystemView(BaseView):
|
||||||
self.controller.reset()
|
self.controller.reset()
|
||||||
|
|
||||||
def done(self, button):
|
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 (
|
from urwid import (
|
||||||
connect_signal,
|
connect_signal,
|
||||||
LineBox,
|
LineBox,
|
||||||
Padding as UrwidPadding,
|
|
||||||
SolidFill,
|
|
||||||
Text,
|
Text,
|
||||||
WidgetWrap,
|
WidgetWrap,
|
||||||
)
|
)
|
||||||
|
@ -31,7 +29,6 @@ from subiquitycore.ui.buttons import (
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.container import (
|
from subiquitycore.ui.container import (
|
||||||
Columns,
|
Columns,
|
||||||
ListBox,
|
|
||||||
Pile,
|
Pile,
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.form import (
|
from subiquitycore.ui.form import (
|
||||||
|
@ -39,6 +36,9 @@ from subiquitycore.ui.form import (
|
||||||
Form,
|
Form,
|
||||||
)
|
)
|
||||||
from subiquitycore.ui.selector import Selector, Option
|
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.ui.utils import button_pile, Color, Padding, screen
|
||||||
from subiquitycore.view import BaseView
|
from subiquitycore.view import BaseView
|
||||||
|
|
||||||
|
@ -302,7 +302,7 @@ toggle_options = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class ToggleQuestion(WidgetWrap):
|
class ToggleQuestion(Stretchy):
|
||||||
|
|
||||||
def __init__(self, parent, setting):
|
def __init__(self, parent, setting):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
@ -315,28 +315,24 @@ class ToggleQuestion(WidgetWrap):
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
pile = Pile([
|
widgets = [
|
||||||
ListBox([
|
|
||||||
Text(_(toggle_text)),
|
Text(_(toggle_text)),
|
||||||
]),
|
Text(""),
|
||||||
(1, SolidFill(" ")),
|
Padding.center_79(Columns([
|
||||||
('pack', Padding.center_79(Columns([
|
|
||||||
('pack', Text(_("Shortcut: "))),
|
('pack', Text(_("Shortcut: "))),
|
||||||
Color.string_input(self.selector),
|
Color.string_input(self.selector),
|
||||||
]))),
|
])),
|
||||||
(1, SolidFill(" ")),
|
Text(""),
|
||||||
('pack', button_pile([
|
button_pile([
|
||||||
ok_btn(label=_("OK"), on_press=self.ok),
|
ok_btn(label=_("OK"), on_press=self.ok),
|
||||||
cancel_btn(label=_("Cancel"), on_press=self.cancel),
|
cancel_btn(label=_("Cancel"), on_press=self.cancel),
|
||||||
])),
|
]),
|
||||||
])
|
]
|
||||||
pile.focus_position = 4
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
LineBox(
|
_("Select layout toggle"),
|
||||||
UrwidPadding(
|
widgets,
|
||||||
pile,
|
stretchy_index=0,
|
||||||
left=1, right=1),
|
focus_index=4)
|
||||||
_("Select layout toggle")))
|
|
||||||
|
|
||||||
def ok(self, sender):
|
def ok(self, sender):
|
||||||
self.parent.remove_overlay()
|
self.parent.remove_overlay()
|
||||||
|
@ -411,7 +407,7 @@ class KeyboardView(BaseView):
|
||||||
setting = KeyboardSetting(layout=layout, variant=variant)
|
setting = KeyboardSetting(layout=layout, variant=variant)
|
||||||
new_setting = setting.latinizable()
|
new_setting = setting.latinizable()
|
||||||
if new_setting != setting:
|
if new_setting != setting:
|
||||||
self.show_overlay(ToggleQuestion(self, new_setting), height=('relative', 100))
|
self.show_stretchy_overlay(ToggleQuestion(self, new_setting))
|
||||||
return
|
return
|
||||||
self.really_done(setting)
|
self.really_done(setting)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue