Skip to content

feat(gui): show total size in the Downloads and Shared panels - #689

Merged
got3nks merged 1 commit into
amule-org:masterfrom
got3nks:feat/gui-total-size
Jul 29, 2026
Merged

feat(gui): show total size in the Downloads and Shared panels#689
got3nks merged 1 commit into
amule-org:masterfrom
got3nks:feat/gui-total-size

Conversation

@got3nks

@got3nks got3nks commented Jul 29, 2026

Copy link
Copy Markdown

Closes #617.

Adds a running total of file sizes to both panels.

Downloads — a "Total queue size: X" field, right-aligned in the File sources row, summing the files currently visible (selected category + text filter, so it matches exactly what's in the table). Kept live like the existing file count: reset in bulk by RebuildVisibleList(), adjusted by GetFileSize() as ShowFile() adds/removes a row — no per-tick cost.

Shared — the combined size of the visible shared files, shown as "Total size of Shared Files: X" in the statistics box, replacing the "Percent of total files" label. That label was misleading: the three gauges beside it show a session / all-time ratio for the selected file (sharePerMille), not any percentage of files. The gauges stay; only the mislabel goes.

Both auto-scale units via CastItoXBytes and work in amuleGUI too — file sizes are already EC-streamed, so no core/protocol change. One new string ("Total queue size: %s"); the shared side reuses an existing string. Catalogs regenerated.

Built and visually verified on macOS (monolithic + amuleGUI); Windows + Linux builds green.

Closes amule-project#617.

Downloads: a "Total queue size: X" field, right-aligned in the File
sources row, summing the files currently visible (selected category +
text filter). Kept live the same way as the file count -- reset in bulk
by RebuildVisibleList(), adjusted by GetFileSize() as ShowFile() adds or
removes a row -- so there is no per-tick cost.

Shared: the combined size of the visible shared files, shown as "Total
size of Shared Files: X" (reusing the existing string) in the statistics
box, in place of the "Percent of total files" label -- which was
misleading, since the gauges beside it show a session/all-time ratio per
selected file, not a percentage of files. The session/all-time gauges
stay.

Both auto-scale units via CastItoXBytes and work in amuleGUI too: file
sizes are already EC-streamed, so no core/protocol change is needed. The
"Total queue size: %s" string is new; the shared label reuses an existing
one. Catalogs regenerated.
@got3nks
got3nks force-pushed the feat/gui-total-size branch from eec83bc to 996f9f8 Compare July 29, 2026 09:47
@got3nks
got3nks merged commit 8505eb8 into amule-org:master Jul 29, 2026
13 checks passed
@got3nks
got3nks deleted the feat/gui-total-size branch July 29, 2026 09:57
LSalami added a commit to LSalami/amule that referenced this pull request Jul 29, 2026
…d IP

Addresses got3nks's final PR amule-org#683 round:

- SetBitmapMargins() means different things per port: wxOSX stores it
  as the margin around the bitmap (a real gap fix there), but wxMSW
  applies it between bitmap and label only, on top of a font-derived
  default (GetCharWidth()/GetCharHeight()) that already matches native
  Windows button metrics -- overriding it moved the button away from
  platform convention rather than toward it. Now wxOSX-only; wxMSW
  keeps its untouched native default, wxGTK keeps the leading-space
  trick (still the only no-op port for this call).
- ScaledConnButImg's cache is now keyed by the FromDIP-resolved
  physical pixel size, not just the state index, so a window dragged
  to a differently-scaled monitor (per-monitor DPI v2) gets a
  freshly-rescaled bitmap instead of a stale one left over from
  wherever it was first computed.
- The Kad tab's single IP field is now Trim()med before wxSplit, so a
  copy-paste carrying leading/trailing whitespace -- the whole point of
  collapsing four fields into one -- no longer fails as "Invalid ip to
  bootstrap".

Rebased onto current master (resolves the amule-org#689 conflict).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

aMuleGUI: Add field to show total download queue combined file size

1 participant