1. `Columns` widget use FIXED pack method for items
if they declare sizing as fixed.
2. `Columns` are implicitly declared as FIXED
if all contents sizes are known or can be calculated without external size information.
3. `Text` is explicitly FIXED and FLOW widget
(widget knows its size from contents).
Fix: explicit declare that widgets are FLOW-only
Change-Id: Ic0de5957ed47fadf2f0f02b235178eb03ecd1b04
1. Mentioned PR was merged > 8 years ago.
2. Issue with widget focusing on keypress is invalid:
arrow keys should point on widgets as it positioned
(if button at the next row - "right" button is ignored).
Change-Id: I6fecae34576196b63074a4b0db438aab3da3fd65
All of our selectable widgets should have a cursor; if we use
SelectableIcon instead of a plain Text widget as the basis for
the TextButton, we will have one.
Change-Id: I490c7317a2d43727700066918b0b486d1a9cdc6b
The gertty-specific hypertext widget did not handle cursor positioning,
so selectable text did not behave like buttons. This is an inconsistent
UI and causes problems for screen readers.
Change-Id: Iede3f663775fc169a757751acc1fe752dc00f544
Gertty uses WidgetWraps around the LineBox widget for popup widgets. Add
LineBoxTitlePropertyMixin which adds property and setter for title attribute,
accessing the underlying title_widget on the wrapped LineBox widget.
We use the popup method in the controller to display these dialogs. It uses an
Overlay widget to display our dialog widget on top of the current view. If the
widget to be displayed by the Overlay widget has title attribute, copy it to
the Overlay widget.
Change-Id: I4c6ecbc7ed87867cd67cd93c1125384dd5d4b9af
When a foreground sync is happening (because of a search for
a specific change number, including via "gertty --open") display
a message telling the user what's going on.
Change-Id: I4c12c73ec92cba8a8b3f3d69f036d1442323787e
Add a simple interactive search to the diff view. This is bound
to C-s by default. It highlights text, but does not yet navigate.
Change-Id: Ic795bb5d18911590237b6595f812e10fd4baa1ce
Create a global app kill ring and a custom edit widget that can
kill and yank from it. Also, add Emacs beginning/end of line
keys to the default keymap.
Change-Id: I18d8d47694c89ede4dcec7eaf5d3fb2210ef4438
When there are more rows than will fit in a ButtonDialog Linebox,
having them wrapped within a ListBox makes it possible to scroll
through them rather than merely displaying the last lines.
Change-Id: Id38fb999e2eceda03bc15d0928765acb936dd8c8
To facilitate escaping from a deep stack of screens, add a key
to clear the history and return to the main project list. Bind
this to meta-home by default.
Change-Id: Ic98e47d7a3a17271bf21230ec4bac184f691ced3
This feature detects when Gertty is about to upload a review with
a positive vote after someone else has left a negative vote while
Gertty was offline. This prevents a situation where it appears
a user is ignoring negative feedback from others. The local user
is alerted and has the option to re-evaluate their review before
proceeding.
Change-Id: I838acaae6d12a2f8557bfd5a16837784c97c031a
Multiple keymaps may be added in either Gertty itself or in config
files, individual keys may be overriden in the standard map, and
the map can be selected via config file or command line option
just as palettes are.
Change the help text to be dynamically generated based on the
current keymap.
Change-Id: I5f8e63897fab3aa14493465256b5d4516cf47dcd
Add an option to commentlinks to indicate they are test results
and use that to collect results and display them at the top of the
change view. The value of 'test-results' is used as the job key
when creating the table (so that only the most recent result for
a given job run on the latest patchset is included). This is
particularly effective along with the hide-comment system to hide
the results from the comment stream.
Change-Id: I54a787914aab18ad2a2a5ca4cc79dd66add2c588
When viewing a change, map the key 'u' to return to the most recent
list of changes. Normally this is the same as ESC, however, if
the user has followed a series of dependent changes, this will
pop the stack all the way back to the the list of changes to review.
Change-Id: I49f4f41f4b476e25f1bb83e92601597024c8c659
The name of the initial focus method in the hypertext widget
changed from focusItemLeft to focusFirstItem. This would cause
a crash if the mouse was clicked in the change screen when an
item in the hypertext widget was not already focused.
Change-Id: I046115f43bdd41640ebdaf45198ff3ae4770bb97
The "Open change" dialog now supports the full search syntax (which
is still just a placeholder). It is also slightly more robust
about dealing with non-local changes when offline. The same checks
are now applied to inter-change links.
Change-Id: I3edf6dd66dc95b60eb7507ece813376f08815f80
Gertty would crash if the screen was narrower than the widest column
in a table. This corrects that.
Change-Id: Ie0a2c6fae16c7c484edb6724fa5dd5f79065e94f
Add a 'link' commentlink substitution type that is a hyperlink
which will open the link in the user's web browser. A built-in
configuration will apply this automaticlly to most http(s)?://
links (using a very simple and not entirely correct regex).
My current commentlink section in my config is as follows:
commentlinks:
- match: "^- (?P<job>.*?) (?P<url>.*?) : (?P<result>.*?) (?P<rest>.*)$"
replacements:
- link:
text: "{job:<42}"
url: "{url}"
- text:
color: "test-{result}"
text: "{result} "
- text: "{rest}"
In order to support the Zuul commentlink syntax.
Change-Id: Ifceee547c116fdcc15b50a2f73a0ddfe2e98af84
Add a dialog that prompts for a change number and syncs that change
if needed then immediately opens the change.
Change-Id: Ic2d4f41ad9bd944c2540e8d71bdd3e730bb96117
Gertty maps the <F1> key to show the help dialog. In gnome-terminal
<F1> maps to the terminals help, capturing the <F1> before it
gets to gertty.
This change adds an additional help key <?> which will also display
the help dialog.
Change-Id: I97396c517f21774f0f5c94645169c83b76af2157
Make sure that the revision row is updated with the current comment
count when after leaving the diff view. Also, don't include draft
comments in the comment count (they are displayed separately).
When exiting the diff view with the esc key while inside of a comment
box, be sure to save that comment before leaving.
Change-Id: I16fe96dc37101d97317b19fdcc38be6729bed551
Rather than 'selected' or 'reversed' which includes an assumption
about exactly how the text will be displayed.
Change-Id: I91606492494b2f7f7d5028be9e2e8782bb55c5a5
Remove the contextlib pipe close feature -- file descriptors are
closed on program exit anyway. Letting that happen normally
actually makes exiting with CTRL-C nicer (fewer race conditions).
Map "CTRL-Q" to the quit command, but pop up a yes/no dialog.
Refactor the MessageDialog into a ButtonDialog base class that
can serve MessageDialog and YesNoDialog.
Add global help text that is prepended to each screen's help text
to deal with the growing number of global commands.
Change-Id: I455344cb20fb19032a3964d602fc886e19f256e5