Truncate long TUI window titles
If a TUI window has a long title, it can overflow the title line. This changes the TUI to use just the tail part of the title in this case. gdb/ChangeLog 2019-09-08 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.c (box_win): Truncate long window titles. gdb/testsuite/ChangeLog 2019-09-08 Tom Tromey <tom@tromey.com> * gdb.tui/resize.exp: Remove setup_xfail. * gdb.tui/regs.exp: Remove setup_xfail. * gdb.tui/basic.exp: Remove setup_xfail.
This commit is contained in:
parent
b26b24e027
commit
8634b4628e
@ -1,3 +1,7 @@
|
||||
2019-09-08 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-wingeneral.c (box_win): Truncate long window titles.
|
||||
|
||||
2019-09-07 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* dwarf2read.c (struct dw2_symtab_iterator) <block_index>:
|
||||
|
@ -1,3 +1,9 @@
|
||||
2019-09-08 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* gdb.tui/resize.exp: Remove setup_xfail.
|
||||
* gdb.tui/regs.exp: Remove setup_xfail.
|
||||
* gdb.tui/basic.exp: Remove setup_xfail.
|
||||
|
||||
2019-09-06 David Blaikie <dblaikie@gmail.com>
|
||||
|
||||
* gdb.base/label.exp: un-XFAIL label related tests under Clang.
|
||||
|
@ -35,9 +35,6 @@ gdb_assert {![string match "No Source Available" $text]} \
|
||||
Term::command "list main"
|
||||
Term::check_contents "list main" "21 *return 0"
|
||||
|
||||
# This check fails because the file name in the title overwrites the
|
||||
# box.
|
||||
setup_xfail *-*-*
|
||||
Term::check_box "source box" 0 0 80 15
|
||||
|
||||
Term::command "layout asm"
|
||||
@ -48,8 +45,5 @@ Term::check_box "asm box" 0 0 80 15
|
||||
Term::command "layout split"
|
||||
Term::check_contents "split layout contents" "21 *return 0.*$hex <main>"
|
||||
|
||||
# This check fails because the file name in the title overwrites the
|
||||
# box.
|
||||
setup_xfail *-*-*
|
||||
Term::check_box "source box in split layout" 0 0 80 8
|
||||
Term::check_box "asm box in split layout" 0 7 80 8
|
||||
|
@ -38,9 +38,6 @@ Term::check_contents "source at startup" ">|21 *return 0"
|
||||
|
||||
Term::command "layout regs"
|
||||
Term::check_box "register box" 0 0 80 8
|
||||
# This check fails because the file name in the title overwrites the
|
||||
# box.
|
||||
setup_xfail *-*-*
|
||||
Term::check_box "source box in regs layout" 0 7 80 8
|
||||
|
||||
set text [Term::get_line 1]
|
||||
|
@ -37,6 +37,4 @@ if {![Term::enter_tui]} {
|
||||
Term::check_contents "source at startup" ">|21 *return 0"
|
||||
|
||||
Term::resize 40 90
|
||||
# Resizing seems to be somewhat broken.
|
||||
setup_xfail *-*-*
|
||||
Term::check_box "source box after resize" 0 0 90 23
|
||||
|
@ -74,7 +74,21 @@ box_win (struct tui_win_info *win_info,
|
||||
box (win, tui_border_vline, tui_border_hline);
|
||||
#endif
|
||||
if (!win_info->title.empty ())
|
||||
mvwaddstr (win, 0, 3, win_info->title.c_str ());
|
||||
{
|
||||
/* Emit "+-TITLE-+" -- so 2 characters on the right and 2 on
|
||||
the left. */
|
||||
int max_len = win_info->width - 2 - 2;
|
||||
|
||||
if (win_info->title.size () <= max_len)
|
||||
mvwaddstr (win, 0, 3, win_info->title.c_str ());
|
||||
else
|
||||
{
|
||||
std::string truncated
|
||||
= "..." + win_info->title.substr (win_info->title.size ()
|
||||
- max_len + 3);
|
||||
mvwaddstr (win, 0, 3, truncated.c_str ());
|
||||
}
|
||||
}
|
||||
wattroff (win, attrs);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user