Commit Graph

28 Commits

Author SHA1 Message Date
Dan Bungert 34d40643ad format with black + isort 2023-07-25 15:27:42 -06:00
Olivier Gayot 51b6772175 ui: add a helper to open a confirmation dialog and get the response
The new ConfirmationOverlay object along with the
BaseView.ask_confirmation helper can be used to open a confirmation
dialog and get back the decision from the user.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2023-01-05 09:54:51 +01:00
Olivier Gayot 163e6cfb4a ui: make not_found_ok false by default for overlays and pass it where needed
Attempting to close an overlay that does not exist is pretty much always
a bug in the code. Making not_found_ok true by default will hide obvious
bugs from us ; which is not a good thing. Perhaps more importantly, we
might just remove the wrong overlay.

Instead, we should just pass not_found_ok=True as a workaround when we
know the code is buggy and don't have time to fix the bug cleanly.

This is what happens for SSH keys import. If the import fails, we remove
the loading animation. However for answers-based runs, we do not have a
loading animation so the code bails. Let's add not_found_ok=True in this
context and we can fix the code later.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-12-07 10:31:15 +01:00
Olivier Gayot 4025cbf97f ui: avoid crashing when removing overlay that does not exist
BaseView.remove_overlay() would crash with AttributeError if no overlay
was found. We now add a not_found_ok parameter (defaulting to True) that
makes the function silently return if the overlay could not be found.

Passing not_found_ok=False and catching OverlayNotFoundError can be
helpful in some scenarios to do something different if no overlay was
found.

Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2022-12-07 10:31:05 +01:00
Michael Hudson-Doyle 5dc2895481 add the ability to remove a particular overlay, not just the top one 2020-05-01 12:46:45 +12:00
Michael Hudson-Doyle 9ece5d2222 implement local documentation 2019-10-02 10:51:34 +13:00
Michael Hudson-Doyle a2ccb0cd9e remove all remaining footer-related things 2019-09-30 09:32:23 +13:00
Michael Hudson-Doyle 947f14a0af move stretchy signals from overlay to stretchy itself
Also add overridable opened/closed hooks.
2019-09-12 21:36:40 +12:00
Michael Hudson-Doyle ea258973fc define a 'closed' signal on StretchyOverlay
And return the overlay from show_stretchy_overlay, so you can do things
when the overlay is closed.

Will be used by the help-showing stuff.
2019-09-05 12:30:03 +12:00
Michael Hudson-Doyle 518e52e8e2 move "global" key handling to an unhandled_input handler
The only observable difference here is that ctrl-x now exits in dry-run
mode when a pop up is open.
2019-08-15 13:34:10 +12:00
Michael Hudson-Doyle 7aac188a4b grey out the background widget when an overlay is showing 2018-07-04 15:53:47 +12:00
Michael Hudson-Doyle 9cbaac4542 use our custom WidgetWrap everywhere 2018-06-22 09:38:18 +12:00
Ryan Harper cfc2c9d227 pep8 fixes for subiquitycore/view.py 2018-05-24 16:51:51 -05: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 fdd3fae45a fix crash on escape key 2018-04-19 09:57:11 +12:00
Michael Hudson-Doyle 7eafa420fb add show_stretch_overlay, simplify show_overlay 2018-04-17 12:23:11 +12:00
Michael Hudson-Doyle 9d9c233dc4 bludgeon urwid into some kind of submissoin 2018-03-26 23:49:04 +13:00
Michael Hudson-Doyle f77a861c38 pop up a little dialog while the keyboard config is applying 2018-03-13 20:58:33 +13:00
Michael Hudson-Doyle 0656d2b2bc add a border to all overlays to make them more readable 2018-03-12 14:25:27 +13: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 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 d48a70973e restore escape key behaviour 2016-11-02 12:44:04 +13:00
Michael Hudson-Doyle f9de0818a8 fix C-x 2016-11-02 12:24:06 +13:00
Michael Hudson-Doyle d6cf8e1bcf prevent C-c / C-x from exiting console conf
I've left C-x as a way to get out in dry-run mode as that's useful for
debugging.
2016-08-31 10:58:26 +12:00
Michael Hudson-Doyle 04a6d88ffe rename ViewPolicy to BaseView 2016-07-26 14:21:24 +12:00
Mathieu Trudel-Lapierre e1970b6477 Rename subiquity to subiquitycore -- will serve as base classes for everything
Signed-off-by: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
2016-06-30 14:17:01 -04:00