Commit Graph

235 Commits

Author SHA1 Message Date
Michael Hudson-Doyle 59a500c9e5 add more space between form rows, align help to the left 2018-03-14 14:58:58 +13:00
Michael Hudson-Doyle ca953ea01f improve scrolling experience
Before this change, subiquity has lots of ListBoxes that just contain a single
Pile containing all their contents. This is (a) a bit silly (b) make some parts
of the scrolling experience a bit poor, for example urwid tries to scroll all
of a ListBox element into view when it gets focus but this is defeated by
shoving all the elements into a Pile (this causes
https://bugs.launchpad.net/subiquity/+bug/1750058 and a few other strange
bits).

The fix for this is obvious (don't wrap ListBox elements in a Pile) but this
breaks some aspects of tab cycling (when you shift tab back into a listbox you
want the last element of the box to be both selected and scrolled into view,
that sort of thing). Fixing all these bits of broken behaviour required
rewriting the tab cycling implementation to the point of copy/paste/hack-ing
the Pile.keypress method. Rather than doing the same for Columns, I just
prevent the creation of Columns with more than 1 selectable, which as we want
subiquity to be navigable with up/down/return does not seem so bad.

As penitence for all this, I've added a bunch of commentary explaining what is
going on.
2018-03-14 14:35:27 +13:00
Michael Hudson-Doyle c57f0057f3 simplifications 2018-03-14 14:20:53 +13:00
Michael Hudson-Doyle 9ba11aedb5 change how ssh import field works
This is the only place in subiquity today where we have selectable fields side
by side, which contradicts the goal to be able to navigate subiquity with up,
down and enter keys only. Replace the existing fancy widget with two fields,
one to select the import source and one to enter the username.

Also remove the "Ubuntu SSO" option as that has never worked.
2018-03-14 14:07:03 +13:00
Michael Hudson-Doyle 8d8071de8d nicer install progress reporting in the footer to start with 2018-02-28 13:49:24 +13:00
Michael Hudson-Doyle 4a5e3b3815 stop showing >s on network config choices that do not lead to a new screen 2018-02-20 10:32:51 +13:00
Michael Hudson-Doyle 306978ee79 cursor positioning nerdery on network config screen 2018-02-20 10:29:24 +13:00
Michael Hudson-Doyle 923df8d0b2 allow forms to override name of cancel button 2018-01-12 12:56:24 +13:00
Michael Hudson-Doyle 124b4e7f20 make the contents of a selector pop up dialog a listbox
the one for keyboard layout will need to scroll!
2018-01-12 10:27:44 +13:00
Michael Hudson-Doyle c9f3bd3ae0 fix behaviour of "up" on views that have done initially focused
before this, if you press up on e.g. the network view, focus would go to the first nic
not the last as you might expect. this is pretty obscure but oh well. such is urwid.
2018-01-11 11:50:08 +13:00
Michael Hudson-Doyle d77b4148ef expand NetworkConfigureIPv4InterfaceView tests a bit 2017-12-11 09:52:36 +13:00
Michael Hudson-Doyle 67611165df fix network manual view and add super simple test of it 2017-12-08 09:41:51 +13:00
Michael Hudson-Doyle c60d37f275 some testing ideas 2017-11-27 21:51:39 +13:00
Michael Hudson-Doyle ad95cdd4d7
Merge pull request #255 from CanonicalLtd/vorlon/fix-up-tests
fix tests slightly
2017-11-27 09:09:08 +13:00
Michael Hudson-Doyle 54a52015d6 tone down log spam a bit 2017-11-24 12:50:37 +13:00
Michael Hudson-Doyle b5c07497e8 make language and disk selection buttons use the done style 2017-11-24 11:19:01 +13:00
Michael Hudson-Doyle ba8056768e update to use colors from design 2017-11-22 14:10:03 +13:00
Michael Hudson-Doyle c85602527e stop any of the *_btn functions defining a label by default 2017-11-22 13:53:35 +13:00
Michael Hudson-Doyle 4d0d48f2f5 add some comments 2017-10-25 21:52:43 +13:00
Michael Hudson-Doyle c0889dfffc add explicit entries in the palette for scrollbar parts 2017-10-25 21:09:49 +13:00
Michael Hudson-Doyle 3515961ac9 slightly lower level implementation of ScrollBarListBox.render
lower level and less reentrant, which is the main advantage
2017-10-25 21:01:03 +13:00
Michael Hudson-Doyle 0b4ae2b1a5 prevent scrollbox from getting squished to 0 rows 2017-10-25 20:50:53 +13:00
Michael Hudson-Doyle 08e51b87ae move some listboxs inside their padding 2017-10-20 15:51:01 +13:00
Michael Hudson-Doyle 5405abecc3 Add a scrollbar to our custom listbox implementation.
It's pretty ugly for now.
2017-10-20 15:47:32 +13:00
Michael Hudson-Doyle b6a27582c9 redo padding and layout of network views 2017-10-20 14:55:01 +13:00
Michael Hudson-Doyle 1db8a1dc40 get rid of padding after header 2017-10-20 14:06:57 +13:00
Mathieu Trudel-Lapierre 491ca1e1c0 Indicate which network config method is active. 2017-10-12 11:01:33 -04:00
Michael Hudson-Doyle 5507fd0fbc clunky way of indicating which network config method is active 2017-10-11 21:35:10 +13:00
Steve Langasek ae1b8c2e66 Import i18n module before use. 2017-10-09 17:28:21 +00:00
Michael Hudson-Doyle 68b9f6f1be add a way to run console-conf or subiquity with a subset of the screens 2017-10-09 09:24:32 +13:00
Michael Hudson-Doyle f5637a717e a start at a more sophisticated ssh identity widget 2017-10-06 15:39:14 +13:00
Michael Hudson-Doyle b06d1a78c4 improve validation of hostname and username fields
not sure hostname validation makes perfect sense but at least it is a bit
more transparent now
2017-10-05 22:14:44 +13:00
Michael Hudson-Doyle 1bfb42c9b8 allow the same set of characters in realname as accepted by chfn -f 2017-10-05 16:33:26 +13:00
Michael Hudson-Doyle a73b76c7d2 clear any validation error as soon as the field becomes valid
this is why I changed size's validation to be side-effect free in the last
commit...
2017-10-05 16:19:31 +13:00
Michael Hudson-Doyle 876e2dc1b7 change partition size field to only modify user input explicitly on loss of focus 2017-10-05 16:16:31 +13:00
Michael Hudson-Doyle eafd614ce9 simplify things a bit by removing the ability to pass validator= and cleaner= to form fields 2017-10-05 15:45:16 +13:00
Michael Hudson-Doyle 35988f2fd9 change form machinery to always have space for validation error
and display help, if present, there by default
2017-10-05 15:08:10 +13:00
Michael Hudson-Doyle d35a7e08d8 Merge pull request #248 from CanonicalLtd/mwhudson/better-colors
color tweaks
2017-09-28 17:28:42 -04:00
Michael Hudson-Doyle 2c6fb9ed99 hide network error if showing before starting config again 2017-09-28 16:00:35 -04:00
Michael Hudson-Doyle cd85358a1b overwrite more of the console palette 2017-09-28 09:58:09 -04:00
Michael Hudson-Doyle 86ac32905b change the progress bar to show x / y rather than a %age
Also make its progress more automatic.
2017-09-26 09:01:22 -04:00
Michael Hudson-Doyle b60c0d33f5 have enter advance to the next focus item in piles and listboxes 2017-09-21 15:30:50 +12:00
Dimitri John Ledkov 785b4d5568
Fix up more fixed layouts with button_pile(). 2017-09-20 14:01:42 +01:00
Michael Hudson-Doyle 14fa3cd107 use button_pile helper everywhere 2017-09-20 15:20:32 +12:00
Michael Hudson-Doyle f000fc24eb add a helper to pad a pile of buttons just enough 2017-09-20 14:55:02 +12:00
Dimitri John Ledkov 790a1bf213
Fixup the merge due to changes on master. 2017-09-18 17:31:43 +01:00
Michael Hudson-Doyle 9356501aa7
change cancel buttons to back buttons where appropriate
and also some "Done" buttons become "Save" buttons.
2017-09-18 17:19:27 +01:00
Dimitri John Ledkov a6413ed87f
Refresh Button labels upon init. 2017-09-18 14:20:13 +01:00
Dimitri John Ledkov 693f3e7c7d
Barebones i18n setup. 2017-09-18 14:14:39 +01:00
Dimitri John Ledkov 648d7d4086
Buttons 2017-09-18 14:01:11 +01:00
Michael Hudson-Doyle a0fd94c0c4 remove connect_signal wrapper 2017-09-15 11:48:07 +12:00
Michael Hudson-Doyle ef54021b21 convert identity view 2017-09-15 11:04:38 +12:00
Michael Hudson-Doyle 91d57c50f2 a slightly different approach 2017-09-15 10:40:11 +12:00
Michael Hudson-Doyle 183e7f88b7 start process of using more semantic palette names
also make button helpers apply the palette by default
2017-09-14 14:51:56 +12:00
Dimitri John Ledkov 7c5e55e0b2
Update color palette
Create palette for traffic light buttons: green (default), amber and
red. Color-code most buttons.

Make all progressbars orange for the completed part.
2017-09-12 12:05:44 +01:00
Michael Hudson-Doyle e2b0dfa495 Merge branch 'master' into mwhudson/screen-review 2017-09-11 09:37:57 +12:00
Michael Hudson-Doyle 32261c3905 Merge branch 'master' into mwhudson/guided-partitioning
Fixing a few conflicts.
2017-09-11 09:26:09 +12:00
Michael Hudson-Doyle 1b328dbb61 work around urwid crash
see https://github.com/urwid/urwid/issues/253
2017-09-08 12:36:44 +12:00
Michael Hudson-Doyle e0f75ba013 tweaks to network views
1) move the done / cancel buttons (and error display) out of scrolling region
2) focus done by default
3) update footer texts to make sense
4) use a bit more of the horizontal space to show interface information
2017-09-08 09:48:41 +12:00
Michael Hudson-Doyle 977459ea62 pretty up and colorify subiquity a bit 2017-09-07 22:47:56 +12:00
Michael Hudson-Doyle 34f1e67d49 make it possible for subiquity and console_conf to use different colours 2017-09-07 21:37:48 +12:00
Michael Hudson-Doyle 44b9334a28 allow editing partitions
there is some wonky stuff around mount point validation, to be fixed next
2017-09-05 14:25:21 +12:00
Michael Hudson-Doyle 4a54ca9e50 start making the partition form usable in other views 2017-09-05 11:58:49 +12:00
Michael Hudson-Doyle 923044be7e move Selector widget to its own file and create a class for its Options
I wanted this so I can enable/disable options after creating the widget.
2017-09-05 09:43:45 +12:00
Michael Hudson-Doyle 641f437fd7 do not ask guided/manual on re-entering config screen if any configuration has been done 2017-08-29 09:24:29 +12:00
Michael Hudson-Doyle 9afd3cbc5a have escape always remove an overlay view 2017-04-05 15:20:36 +12:00
Michael Hudson-Doyle 395b30451e stop being clever in handling of escape in network screens 2017-04-05 14:36:46 +12:00
Michael Hudson-Doyle c49b810336 have IntegerEditor.value return an integer, fixing broken partition numbers in the curtin config 2017-03-23 09:02:37 +13:00
Michael Hudson-Doyle f8211b56fb clean up wifi config view code a bunch
(this was the first complicated urwid code i wrote)
2017-03-21 14:47:01 +13:00
Michael Hudson-Doyle 62ad81d690 make sure wifi psk is between 8 and 63 characters long 2017-03-21 14:39:23 +13:00
Michael Hudson-Doyle 26c1af8328 allow the gateway to be empty for an interface 2017-03-20 14:51:41 +13:00
Michael Hudson-Doyle 0d48ef1836 avoid wrapping captions in forms 2017-03-13 11:52:19 +13:00
Michael Hudson-Doyle 8cd4b020ee finish formatting/mounting available partitions 2017-03-10 15:46:21 +13:00
Michael Hudson-Doyle 66c1d94a4b consolidate mountpoint validation a bit 2017-03-07 21:10:03 +13:00
Michael Hudson-Doyle ad2a92a67d protection against empty containers when tabbing 2017-03-07 20:37:38 +13:00
Michael Hudson-Doyle ff75b7a7fe fix crash on disappearing network interface
By being more careful about accessing self.focus in FocusTrackingMixin.

Fixes https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1667829
2017-03-02 21:34:12 +13:00
Michael Hudson-Doyle 404ca627da use evilnick's wording on the network page 2017-03-02 13:52:20 +13:00
Michael Hudson-Doyle 2a1fbcd6fe remove some help leftovers 2017-02-16 12:36:26 +13:00
Michael Hudson-Doyle 693ca3d9bf fix a widget with no selectable widgets losing focus 2017-02-16 11:26:38 +13:00
Michael Hudson-Doyle 308a29c75b move help to an overlay 2017-02-14 16:16:19 +13:00
Michael Hudson-Doyle 65f9d1ef62 move show_overlay to BaseView 2017-02-14 16:16:19 +13:00
Michael Hudson-Doyle b00378304c I simplified RestrictedEditor a bit too much 2017-02-14 16:07:36 +13:00
Michael Hudson-Doyle 69f2b08684 simplify RestrictedEditor a whole bunch more 2017-02-14 15:27:25 +13:00
Michael Hudson-Doyle a6954b49e2 the various editor classes' caption argument is optional now 2017-02-14 15:19:56 +13:00
Michael Hudson-Doyle 906af4d41a simplify forms and edit widgets a bit 2017-02-14 15:16:12 +13:00
Michael Hudson-Doyle 3353c851ee make help appear in same place on identity view as before 2017-02-13 15:50:39 +13:00
Michael Hudson-Doyle a2062aaf57 convert identity view to use new validation stuff
help looks different though
2017-02-13 15:37:29 +13:00
Michael Hudson-Doyle 1e8322b05f remove old validation stuff 2017-02-13 15:14:20 +13:00
Michael Hudson-Doyle e58697a29c simplify api around enabling form fields 2017-02-13 15:12:04 +13:00
Michael Hudson-Doyle 1bd00a843a allow form fields to be enabled or disabled 2017-02-13 14:59:25 +13:00
Michael Hudson-Doyle 00c807dc9e convert add_partition view to new world
no enabling/disabling yet though
2017-02-13 14:48:53 +13:00
Michael Hudson-Doyle ee966f7039 rewrite validation stuff into something like a form library
This is inspired by the sort of design e.g. Django uses for its forms.
2017-02-13 14:21:26 +13:00
Michael Hudson-Doyle 472339a62b fixes for tabbing into/out of list boxes 2017-02-13 13:52:17 +13:00
Michael Hudson-Doyle af2bfc40ef fix mismerge 2017-02-10 15:42:43 +13:00
Michael Hudson-Doyle 9854d5ccce Merge remote-tracking branch 'origin/master' into mwhudson/ipv4-validation 2017-02-08 16:10:36 +13:00
Michael Hudson-Doyle f0eb2cdf70 make Color.button etc apply the corresponding focus map
about 1e6 times more readable
2017-02-08 15:37:18 +13:00
Michael Hudson-Doyle ebddb50483 better validation for manual network view 2017-02-08 13:18:20 +13:00
Michael Hudson-Doyle 0627bfe9f4 start to add validation to manual network view 2017-02-08 13:18:20 +13:00
Michael Hudson-Doyle 50b927fcc2 the start of an excessively general way of validating input 2017-02-07 14:02:07 +13:00
Michael Hudson-Doyle 1a9f0dc5dd make the mount point editing stuff into a single widget
and use it on "format entire disk" page
2017-02-07 10:28:56 +13:00