Commit Graph

397 Commits

Author SHA1 Message Date
Michael Hudson-Doyle 834b5a1014 a bit better 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 89a30721a2 copy network manager a bit more directly 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 0fdd9721ce tweaks 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 08de48623f more 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 4c9ec9cf5e more 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle 6eb255c2e0 beginnings of an edit network device dialog 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle ad8d6c9086 skeleton of new view 2018-07-06 13:36:53 +12:00
Michael Hudson-Doyle e0eeeadd28 enable/disable a Toggleable via a property not methods 2018-07-04 11:47:44 +12:00
Michael Hudson-Doyle 38eccb8382 use the new variable table padding on filesystem views 2018-06-29 14:00:22 +12:00
Michael Hudson-Doyle 5e621a4780 allow for variable spacing between table columns 2018-06-29 13:40:58 +12:00
Michael Hudson-Doyle dbe07faa5c fix infinite loop in table width calculations 2018-06-29 09:24:12 +12:00
Michael Hudson-Doyle 91247c82c5
Merge pull request #373 from mwhudson/raid-the-fourth
Raid the fourth
2018-06-27 11:06:43 +12:00
Michael Hudson-Doyle 237290bbb3 fix rendering of long labels on guided disk selection screen 2018-06-26 14:20:41 +12:00
Michael Hudson-Doyle 9e4a66b628 add the raid view 2018-06-26 12:22:09 +12:00
Michael Hudson-Doyle edd6769a60 add ReadOnlyField (to be used for the size of a raid) 2018-06-26 12:19:47 +12:00
Michael Hudson-Doyle 1895d98ac4 tweak TableRow.selectable 2018-06-26 11:40:02 +12:00
Michael Hudson-Doyle 48666547f1 convert focusable things on filesystem view to "[ {stuff} ▸ ]" layout 2018-06-26 11:14:37 +12:00
Michael Hudson-Doyle 237611fda6 change " menu >" to "[ menu ▸ ]" 2018-06-26 10:19:57 +12:00
Michael Hudson-Doyle 1ae09926ca change button_pile to use widget_width 2018-06-26 10:12:09 +12:00
Michael Hudson-Doyle 8854e7aaaa move CursorOverride somewhere generic 2018-06-26 10:05:37 +12:00
Michael Hudson-Doyle 22ae45e99b move widget_width() to its own module
also allow our widget subclasses to specify their width
2018-06-26 09:59:48 +12:00
Michael Hudson-Doyle 5f3ce077ac
Merge pull request #372 from mwhudson/selector-tweaks
Selector tweaks
2018-06-26 09:10:46 +12:00
Michael Hudson-Doyle 8bb5621947
Merge pull request #371 from mwhudson/action-menu-tweaks
do not show > in the context menu for actions that do not open a dialog
2018-06-25 23:50:24 +12:00
Michael Hudson-Doyle 4501aee357 rework look of open selector to match 2018-06-25 23:45:21 +12:00
Michael Hudson-Doyle 391b70cdf5 rework the look of the selector widget 2018-06-25 23:45:21 +12:00
Michael Hudson-Doyle 7ab699716d make Selector.options a public interface 2018-06-25 23:45:21 +12:00
Michael Hudson-Doyle 80bec75871 stop assigning to Selector.value emitting the "select" signal
for the avoidance of infinite recursion
2018-06-25 23:45:21 +12:00
Michael Hudson-Doyle f08b6a42e5 make selector a WidgetWrap rather than a decoration 2018-06-25 23:10:39 +12:00
Michael Hudson-Doyle a6f54be22a fix stupid failure of arithmetic in stretchy 2018-06-25 22:57:57 +12:00
Michael Hudson-Doyle 8b9331e5be do not show > in the context menu for actions that do not open a dialog 2018-06-25 22:52:34 +12:00
Michael Hudson-Doyle 90d580a57e remove DummyView 2018-06-22 09:39:33 +12:00
Michael Hudson-Doyle 9cbaac4542 use our custom WidgetWrap everywhere 2018-06-22 09:38:18 +12:00
Michael Hudson-Doyle ea8f97491f delete old ErrorView 2018-06-22 09:34:02 +12:00
Michael Hudson-Doyle 0e2d376ed0 build a form out of tables 2018-06-21 21:07:02 +12:00
Michael Hudson-Doyle 7093006711 fix binding more than two tables 2018-06-21 20:48:08 +12:00
Michael Hudson-Doyle 88e23fce54 fix distribution of space when widening columns to accommodate a colspan>1 column 2018-06-21 16:07:00 +12:00
Michael Hudson-Doyle f09696862a add a column option to allow a column to take available space 2018-06-21 16:07:00 +12:00
Michael Hudson-Doyle 8eb21bce72 split Table into TablePile and TableListBox
and get rid of that confusing container_maker thing
2018-06-21 16:07:00 +12:00
Michael Hudson-Doyle 119f40b72d
Merge pull request #369 from mwhudson/form-simplify
simplify the way forms are turned into widgets
2018-06-21 16:06:47 +12:00
Michael Hudson-Doyle f037ebd586 add lost_focus/gained_focus to our WidgetWrap 2018-06-21 15:39:14 +12:00
Michael Hudson-Doyle 99dd12f870 simplify how forms are built 2018-06-21 15:38:02 +12:00
Michael Hudson-Doyle ed86028dd2 provide a way for a field to opt out of default styling 2018-06-21 15:37:19 +12:00
Michael Hudson-Doyle 19d43c19c7 make field an ABC 2018-06-21 15:37:19 +12:00
Michael Hudson-Doyle ba809a9e97 simplify how form widgets get styled 2018-06-21 15:37:19 +12:00
Michael Hudson-Doyle 59da0e717b make Toggleable simpler and more robust 2018-06-21 15:37:15 +12:00
Michael Hudson-Doyle eee758d382 update STYLE_NAMES to match the styles that are currently defined 2018-06-21 12:09:40 +12:00
Michael Hudson-Doyle 76835c40ab sort STYLE_NAMES constructor 2018-06-21 12:09:40 +12:00
Michael Hudson-Doyle 8680786da3 make inputs on keyboard and welcome page of consistent width 2018-06-20 09:17:49 +12:00
Michael Hudson-Doyle 9e33874a86
Merge pull request #366 from mwhudson/mwhudson/scrollbar-tweaks
make scrollbar less intrusive
2018-06-20 08:47:56 +12:00
Michael Hudson-Doyle 68c49e5135 add some super basic filesystem tests, fix partition tests 2018-06-19 11:43:59 +12:00
Michael Hudson-Doyle de80a06f47 add actionmenu widget 2018-06-18 21:36:35 +12:00
Michael Hudson-Doyle c0d66f5540 make scrollbar less intrusive
also pretty up its implementation a bit while I am here
2018-06-18 21:24:23 +12:00
Michael Hudson-Doyle 14ad092b9d implement _select_first/last_selectable on our Columns 2018-06-15 12:26:02 +12:00
Michael Hudson-Doyle 3a59925265 work around a strange behaviour of Pile when contents is changed 2018-06-15 11:51:40 +12:00
Michael Hudson-Doyle 66578aff79 account for colspan>1 cells in width computations
I ran into that gotcha pretty quickly.
2018-06-15 11:48:19 +12:00
Michael Hudson-Doyle b34ca65aba a slightly over-engineered table widget
that takes column widths from the contens of the cells, unlike
most things in urwid
2018-06-15 11:48:19 +12:00
Michael Hudson-Doyle 2f184ce9a6 fix display of install progress in footer 2018-06-13 14:02:40 +12:00
Michael Hudson-Doyle 1ab495c0a8 fix refreshing network view on network changes 2018-06-13 13:38:03 +12:00
Michael Hudson-Doyle d315751d60 add our own version of WidgetWrap
urwid doesn't know about the _select_first/last_selectable methods our
containers use to make tab-cycling work so its WidgetWrap doesn't
forward them along. So add a WidgetWrap that does, and use it in the one
place that it matters so far (more coming soon!).
2018-06-11 14:13:44 +12:00
Michael Hudson-Doyle 270ba0992a fix selectability in non-scrolling stretchy 2018-06-07 12:50:50 +12:00
Michael Hudson-Doyle eab0f668ff use general machinery a little more 2018-05-31 10:28:29 +12:00
Michael Hudson-Doyle ed5e1d86b5 fix lint 2018-05-25 10:43:55 +12:00
Ryan Harper 4c1b6e6fc9 pep8 fixes for subiquitycore/ui/buttons.py 2018-05-24 16:59:31 -05:00
Ryan Harper 080ac4c245 pep8 fixes for subiquitycore/ui/form.py 2018-05-24 16:59:31 -05:00
Ryan Harper 5b666294e5 pep8 fixes for subiquitycore/ui/utils.py 2018-05-24 16:59:31 -05:00
Ryan Harper 5f233be9b1 pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:54:02 -05:00
Ryan Harper c908115ee0 pep8 fixes for subiquitycore/ui/views/network_configure_manual_interface.py 2018-05-24 16:54:02 -05:00
Ryan Harper 69331754d9 pep8 fixes for subiquitycore/ui/anchors.py 2018-05-24 16:51:51 -05:00
Ryan Harper df5ff9d48e pep8 fixes for subiquitycore/ui/buttons.py 2018-05-24 16:51:51 -05:00
Ryan Harper 860edbc7b5 pep8 fixes for subiquitycore/ui/container.py 2018-05-24 16:51:51 -05:00
Ryan Harper 2d6cca8281 pep8 fixes for subiquitycore/ui/frame.py 2018-05-24 16:51:51 -05:00
Ryan Harper 7cbf8c2b69 pep8 fixes for subiquitycore/ui/form.py 2018-05-24 16:51:51 -05:00
Ryan Harper 4890d306fc pep8 fixes subiquitycore/ui/selector.py 2018-05-24 16:51:51 -05:00
Ryan Harper 762f5f3008 pep8 fixes for subiquitycore/ui/stretchy.py 2018-05-24 16:51:51 -05:00
Ryan Harper 18406b70ef pep8 fixes for subiquitycore/ui/utils.py 2018-05-24 16:51:51 -05:00
Ryan Harper c99941f3c5 pep8 fixes for subiquitycore/ui/views/login.py 2018-05-24 16:51:51 -05:00
Ryan Harper 62ea440b3d pep8 fixes for subiquitycore/ui/views/network.py 2018-05-24 16:51:51 -05:00
Ryan Harper 0fa5dcab28 pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper c8d4c51ddd pep8 fixes 2018-05-24 16:51:51 -05:00
Ryan Harper ae9412159d Don't use __name__ in getLogger 2018-05-24 16:51:51 -05:00
Ryan Harper 13ca352291 pep8 fixes for subiquitycore/ui/views/network_configure_wlan_interface.py 2018-05-24 16:51:51 -05:00
Ryan Harper 591be4ecbc pep8 fixes for subiquitycore.ui.views.network_default_route 2018-05-24 16:51:51 -05:00
Ryan Harper 45fabd78f2 pep8 fixes for subiquitycore.ui.views.tests.test_network_configure_manual_interface 2018-05-24 16:51:51 -05:00
Ryan Harper a0bf68f3c4 pyflakes3 fixes
Add and enable pyflakes3 on console_conf, subiquity, subiquitycore and tests.
Replace NOQA markers with __all__ declarations for module imports.
Replace some obvious deadcode that voilates flake8, separate pass for removing
dead code rather than commenting will be handled later.
2018-05-24 16:51:51 -05:00
Michael Hudson-Doyle bd48ed9b1d remove SimpleList
and the Body widget, both utterly trivial
2018-05-25 09:35:25 +12:00
Michael Hudson-Doyle 0fe1f5145c sprinkle in some more ".base_widget"s 2018-05-23 13:40:14 +12:00
Michael Hudson-Doyle 7441cb6df6 convert ScrollBarListBox to decoration rather than subclass
for all the usual reasons why composition is better than inheritance,
but in particular because I want to have a listbox that has a scrollbar
but not our custom tab behaviour in another branch. decoration in urwid
is not as transparent as it sometimes seems it should be but luckily
there's only one view that does much with its listbox and it was due
for some cleanup anyway.
2018-05-23 13:14:00 +12:00
Michael Hudson-Doyle 626488e988
Merge pull request #334 from CanonicalLtd/mwhudson/move-excerpt-title-to-view
move excerpt, title and footer from controller to view
2018-05-22 22:38:39 +12:00
Michael Hudson-Doyle f6f214125f move TaskSequence somewhere more generic
I want to reuse it in my containerizing branch.

Improve API and docs a bit while I am looking at it.
2018-05-21 11:52:06 +12:00
Michael Hudson-Doyle cbd5afe2c0 move imports of i18n higher so _ is always installed before tests are imported 2018-05-21 10:14:34 +12:00
Michael Hudson-Doyle ac875751fb fix installprogress 2018-05-18 16:27:05 +12:00
Michael Hudson-Doyle 11708703c9 move titles, footers, excerpts from controller to view
read title and footer from the view instance, make views respsonsible for rendering
the excerpt

adapts infrastructure, welcome, keyboard, network views
2018-05-18 15:55:49 +12:00
Michael Hudson-Doyle 13d7f13c42 fixes for stretchy where stretchy widget is selectable 2018-05-14 10:28:33 +12:00
Michael Hudson-Doyle 960f51ca91 remove view argument to Form.as_rows and friends 2018-05-07 10:57:35 +12:00
Michael Hudson-Doyle fa8f8d32f5 down all network links that have changed config before applying it
this means that if you enter a broken config, it breaks as it should
2018-05-03 12:14:06 +12:00
Michael Hudson-Doyle fe671d8d9b fix rendering of nic info if dhcp failed but has addresses of other family
This bug has been here forever! Oh well.
2018-04-27 14:56:30 +12:00
Michael Hudson-Doyle 7d704f83f0 mark even more strings as translatable 2018-04-19 13:09:00 +12:00
Michael Hudson-Doyle 688a270c17 a round of marking strings as translatable and ensuring translations are actually displayed in the UI 2018-04-19 10:29:08 +12:00
Michael Hudson-Doyle 2d3d500e34 a couple of tweaks to make more translated strings appear 2018-04-18 20:18:15 +12:00
Michael Hudson-Doyle 6396025964
Merge pull request #315 from CanonicalLtd/mwhudson/scollbar-focus
change scrollbar color if focused
2018-04-17 12:57:22 +12:00
Michael Hudson-Doyle ba041718dc
Merge pull request #316 from CanonicalLtd/mwhudson/stretchy-overlay
add an overlay that has nicer resizing behaviour
2018-04-17 12:57:15 +12:00
Michael Hudson-Doyle 6a76f8ad02 add a version of Overlay that copes with small and large screens better
See the docstring for the long version.
2018-04-17 12:22:00 +12:00
Michael Hudson-Doyle e041260e2a change scrollbar color if focused 2018-04-16 23:31:10 +12:00
Michael Hudson-Doyle 5a6ad92239 add some validation to URLEditor 2018-04-12 09:43:02 +12:00
Michael Hudson-Doyle 13eaa5c9dc add a bare-bones proxy model/view/controller 2018-04-09 15:05:46 +12:00
Michael Hudson-Doyle 028914da97 another small helper 2018-04-09 14:37:26 +12:00
Michael Hudson-Doyle a723d25a4c create a helper to create a common screen layout 2018-04-09 14:30:59 +12:00
Michael Hudson-Doyle 0fc83c4bc1 simplify a bunch of views
i am slowly getting better at urwid...
2018-04-09 14:10:36 +12:00
Michael Hudson-Doyle 56c582a0d0 the way subiquity works it is better do consider a Pile selectable if any of its elements are selectable
Without this, if a non-selectable thing ends up focused, the net effect is that
all further input is ignored, which is bad.
2018-03-21 11:18:56 +13:00
Michael Hudson-Doyle 0c071f7b0d form fields should not be validated on entry 2018-03-21 10:39:32 +13:00
Michael Hudson-Doyle 8287d695dc fix live updates of network screen 2018-03-16 15:30:14 +13:00
Michael Hudson-Doyle 1f937090c0 update help text for address 2018-03-14 14:58:58 +13:00
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