fix(virtual_list): Borde completo + centrado texto

- Añadir borde alrededor de toda la lista (siempre visible)
- Mejorar centrado vertical del texto (y+4 → y+3)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
R.Eugenio 2025-12-23 14:41:56 +01:00
parent b2bcdeae1a
commit 7b2ba06035

View file

@ -173,7 +173,10 @@ pub fn virtualListRect(
drawScrollbar(ctx, bounds, header_h, footer_h, list_state, visible_rows, total_rows, &colors); drawScrollbar(ctx, bounds, header_h, footer_h, list_state, visible_rows, total_rows, &colors);
} }
// Draw focus ring // Draw border around the entire list (always visible)
ctx.pushCommand(Command.rectOutline(bounds.x, bounds.y, bounds.w, bounds.h, colors.border));
// Draw focus ring (additional highlight when focused)
if (has_focus) { if (has_focus) {
if (Style.isFancy()) { if (Style.isFancy()) {
ctx.pushCommand(Command.focusRing(bounds.x, bounds.y, bounds.w, bounds.h, 4)); ctx.pushCommand(Command.focusRing(bounds.x, bounds.y, bounds.w, bounds.h, 4));
@ -259,7 +262,7 @@ fn drawHeader(
// Column title // Column title
ctx.pushCommand(Command.text( ctx.pushCommand(Command.text(
x + 4, x + 4,
bounds.y + 4, bounds.y + 3, // Centrado vertical mejorado
col.title, col.title,
colors.text, colors.text,
)); ));
@ -270,7 +273,7 @@ fn drawHeader(
const indicator = list_state.sort_direction.symbol(); const indicator = list_state.sort_direction.symbol();
ctx.pushCommand(Command.text( ctx.pushCommand(Command.text(
x + @as(i32, @intCast(col.width)) - 20, x + @as(i32, @intCast(col.width)) - 20,
bounds.y + 4, bounds.y + 3, // Centrado vertical mejorado
indicator, indicator,
colors.text, colors.text,
)); ));
@ -366,7 +369,7 @@ fn drawRows(
ctx.pushCommand(Command.text( ctx.pushCommand(Command.text(
x + 4, x + 4,
row_y + 4, row_y + 3, // Centrado vertical mejorado
row.values[col_idx], row.values[col_idx],
text_color, text_color,
)); ));