fix(progress): rework transfer progress panel (#424)

Migrate the transfer progress UI to tuirealm 4, where the stdlib
`ProgressBar` widget was dropped, by rebuilding the dual-bar panel on
top of `Gauge`.

- Restore the unified two-bar look: the full bar (top) and partial bar
  (bottom) draw joined borders so they read as a single panel; a single
  file shows one fully-bordered bar.
- Redraw on every file boundary in the send/recv queue loops so the
  full bar's (N/total) counter advances even for small files that finish
  within one in-loop redraw interval.
- Track progress with a single `TransferProgress` (exact file count from
  the pre-scan, lazy partial/full computation) and consolidate the theme
  progress-bar fields.
This commit is contained in:
Christian Visintin
2026-06-08 14:46:07 +02:00
parent f066d6a387
commit 1dafc76850
26 changed files with 943 additions and 632 deletions

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "#c6d0f5"
transfer_local_explorer_highlighted = "#e5c890"
transfer_log_background = "#303446"
transfer_log_window = "#e5c890"
transfer_progress_bar = "##a6d189"
transfer_progress_bar_full = "##a6d189"
transfer_progress_bar_partial = "##a6d189"
transfer_remote_explorer_background = "#303446"
transfer_remote_explorer_foreground = "#c6d0f5"
transfer_remote_explorer_highlighted = "#99d1db"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "#4c4f69"
transfer_local_explorer_highlighted = "#fe640b"
transfer_log_background = "#eff1f5"
transfer_log_window = "#179299"
transfer_progress_bar = "#40a02b"
transfer_progress_bar_full = "#40a02b"
transfer_progress_bar_partial = "#40a02b"
transfer_remote_explorer_background = "#eff1f5"
transfer_remote_explorer_foreground = "#4c4f69"
transfer_remote_explorer_highlighted = "#1e66f5"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "#cad3f5"
transfer_local_explorer_highlighted = "#f5a97f"
transfer_log_background = "#cad3f5"
transfer_log_window = "#a6da95"
transfer_progress_bar = "#a6da95"
transfer_progress_bar_full = "#a6da95"
transfer_progress_bar_partial = "#a6da95"
transfer_remote_explorer_background = "#24273a"
transfer_remote_explorer_foreground = "#cad3f5"
transfer_remote_explorer_highlighted = "#8aadf4"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "#cdd6f4"
transfer_local_explorer_highlighted = "#fab387"
transfer_log_background = "#1e1e2e"
transfer_log_window = "#a6e3a1"
transfer_progress_bar = "#a6e3a1"
transfer_progress_bar_full = "#a6e3a1"
transfer_progress_bar_partial = "#a6e3a1"
transfer_remote_explorer_background = "#1e1e2e"
transfer_remote_explorer_foreground = "#cdd6f4"
transfer_remote_explorer_highlighted = "#89b4fa"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "Yellow"
transfer_log_background = "Default"
transfer_log_window = "LightGreen"
transfer_progress_bar = "Green"
transfer_progress_bar_full = "Green"
transfer_progress_bar_partial = "Green"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "LightBlue"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "aquamarine"
transfer_log_background = "Default"
transfer_log_window = "#c43bff"
transfer_progress_bar = "deeppink"
transfer_progress_bar_full = "deeppink"
transfer_progress_bar_partial = "turquoise"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "greenyellow"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "lightcoral"
transfer_local_explorer_highlighted = "coral"
transfer_log_background = "Default"
transfer_log_window = "royalblue"
transfer_progress_bar = "hotpink"
transfer_progress_bar_full = "hotpink"
transfer_progress_bar_partial = "deeppink"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "lightsalmon"
transfer_remote_explorer_highlighted = "salmon"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "#bbbbbb"
transfer_log_background = "Default"
transfer_log_window = "black"
transfer_progress_bar = "black"
transfer_progress_bar_full = "black"
transfer_progress_bar_partial = "black"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "#bbbbbb"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "white"
transfer_log_background = "Default"
transfer_log_window = "white"
transfer_progress_bar = "white"
transfer_progress_bar_full = "white"
transfer_progress_bar_partial = "white"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "white"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "pink"
transfer_local_explorer_highlighted = "hotpink"
transfer_log_background = "Default"
transfer_log_window = "palevioletred"
transfer_progress_bar = "hotpink"
transfer_progress_bar_full = "hotpink"
transfer_progress_bar_partial = "deeppink"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "plum"
transfer_remote_explorer_highlighted = "violet"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "Yellow"
transfer_log_background = "Default"
transfer_log_window = "lawngreen"
transfer_progress_bar = "lawngreen"
transfer_progress_bar_full = "lawngreen"
transfer_progress_bar_partial = "lawngreen"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "turquoise"

View File

@@ -17,7 +17,8 @@ transfer_local_explorer_foreground = "Default"
transfer_local_explorer_highlighted = "orange"
transfer_log_background = "Default"
transfer_log_window = "limegreen"
transfer_progress_bar = "lawngreen"
transfer_progress_bar_full = "lawngreen"
transfer_progress_bar_partial = "limegreen"
transfer_remote_explorer_background = "Default"
transfer_remote_explorer_foreground = "Default"
transfer_remote_explorer_highlighted = "turquoise"