From 89f2081e307cfe6a6d78ebd9d73c7f98d5a2989a Mon Sep 17 00:00:00 2001 From: Adam Stokes Date: Thu, 27 Aug 2015 10:28:48 -0400 Subject: [PATCH] Cleanup identity view Signed-off-by: Adam Stokes --- subiquity/models/identity.py | 4 +++- subiquity/palette.py | 7 +++++- subiquity/ui/interactive.py | 2 +- subiquity/ui/views/identity.py | 43 ++++++++++++++++++++++++++-------- 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/subiquity/models/identity.py b/subiquity/models/identity.py index 2d3ac415..93968b79 100644 --- a/subiquity/models/identity.py +++ b/subiquity/models/identity.py @@ -24,7 +24,9 @@ class IdentityModel(ModelPolicy): """ Model representing user identity """ # TODO: Set to installer progress output view - prev_signal = None + prev_signal = ('Back to filesystem view', + 'filesystem:show', + 'filesystem') signals = [ ("Identity view", diff --git a/subiquity/palette.py b/subiquity/palette.py index cc4451cc..62a43fd9 100644 --- a/subiquity/palette.py +++ b/subiquity/palette.py @@ -52,9 +52,14 @@ STYLES = [ ('button focus', '', '', '', Palette.black, Palette.dark_green), ('info_minor', '', '', '', - Palette.dark_gray, '') + Palette.dark_gray, ''), + ('string_input', '', '', '', + Palette.black, Palette.light_gray), + ('string_input focus', '', '', '', + Palette.white, Palette.dark_gray) ] + STYLES_MONO = [('frame_header', Palette.white, Palette.black, '', '', ''), ('frame_footer', Palette.white, Palette.black, diff --git a/subiquity/ui/interactive.py b/subiquity/ui/interactive.py index a620f2ed..d4a1dbfa 100644 --- a/subiquity/ui/interactive.py +++ b/subiquity/ui/interactive.py @@ -39,7 +39,7 @@ class StringEditor(WidgetWrap): @value.setter # NOQA def value(self, value): self._edit.set_edit_text(value) - + class PasswordEditor(StringEditor): """ Password input prompt with masking diff --git a/subiquity/ui/views/identity.py b/subiquity/ui/views/identity.py index 3663b64a..76a5d7ae 100644 --- a/subiquity/ui/views/identity.py +++ b/subiquity/ui/views/identity.py @@ -19,8 +19,7 @@ Welcome provides user with language selection """ import logging -from urwid import (Pile, emit_signal) -from subiquity.ui.widgets import Box +from urwid import (Pile, emit_signal, Columns, Text, ListBox) from subiquity.ui.buttons import done_btn, cancel_btn from subiquity.ui.interactive import StringEditor, PasswordEditor from subiquity.ui.utils import Padding, Color @@ -34,16 +33,16 @@ class IdentityView(ViewPolicy): self.model = model self.signal = signal self.items = [] - self.username = StringEditor(caption="Username: ") - self.password = PasswordEditor(caption="Password: ") - self.confirm_password = PasswordEditor(caption="Confirm Password: ") + self.username = StringEditor(caption="") + self.password = PasswordEditor(caption="") + self.confirm_password = PasswordEditor(caption="") body = [ - Padding.center_79(self._build_model_inputs()), + Padding.center_50(self._build_model_inputs()), Padding.line_break(""), Padding.center_15(self._build_buttons()), ] - super().__init__(Box(body)) + super().__init__(ListBox(body)) def _build_buttons(self): cancel = cancel_btn(on_press=self.cancel) @@ -57,9 +56,33 @@ class IdentityView(ViewPolicy): def _build_model_inputs(self): sl = [ - self.username, - self.password, - self.confirm_password + Columns( + [ + ("weight", 0.2, Text("Username", align="right")), + ("weight", 0.3, + Color.string_input(self.username, + focus_map="string_input focus")) + ], + dividechars=4 + ), + Columns( + [ + ("weight", 0.2, Text("Password", align="right")), + ("weight", 0.3, + Color.string_input(self.password, + focus_map="string_input focus")) + ], + dividechars=4 + ), + Columns( + [ + ("weight", 0.2, Text("Confirm Password", align="right")), + ("weight", 0.3, + Color.string_input(self.confirm_password, + focus_map="string_input focus")) + ], + dividechars=4 + ) ] return Pile(sl)