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 16:02:27 +02:00
parent f066d6a387
commit 1dafc76850
26 changed files with 943 additions and 632 deletions
+6 -3
View File
@@ -104,7 +104,8 @@ pub enum IdTheme {
MiscSave,
MiscTitle,
MiscWarn,
ProgBar,
ProgBarFull,
ProgBarPartial,
StatusHidden,
StatusSorting,
StatusSync,
@@ -225,8 +226,10 @@ pub enum ThemeMsg {
MiscSaveBlurUp,
MiscWarnBlurDown,
MiscWarnBlurUp,
ProgBarBlurDown,
ProgBarBlurUp,
ProgBarFullBlurDown,
ProgBarFullBlurUp,
ProgBarPartialBlurDown,
ProgBarPartialBlurUp,
StatusHiddenBlurDown,
StatusHiddenBlurUp,
StatusSortingBlurDown,