RFC: Activity feature #57

issue fanquake openend this issue on August 14, 2020
  1. fanquake commented at 10:08 am on August 14, 2020: member

    Moved from https://github.com/bitcoin/bitcoin/issues/11826.

    This is a RFC regarding adding a new Activity window in the UI, which allows to:

    • have activity history (truncated, etc);
    • pause or cancel tasks if supported individually;
    • have multiple progresses concurrently.

    In terms of patch, ShowProgress() signal is removed everywhere and a RAII class is added along with some UI classes:

    0class Activity
    1{
    2    std::shared_ptr<ActivityData> const d;
    3public:
    4    Activity(const std::string& title);
    5    ~Activity();
    6
    7    void SetTitle(const std::string& title);
    8    void SetProgress(int progress);
    9};
    

    Consider this the minimal interface for an activity. Some other ideas:

    • custom progress range (so the caller doesn’t have to calculate percentage)
    • add something like SetPause(bool), IsPaused();
    • also Cancel() and IsCancelled();
    • add something like SetSource(string) (for instance SetSource("wallet1")).

    The current implementation is thread safe. For now, I’ve also added a new menu item Window where I think we could add Console too (another discussion thou).

    Please see the capture below.

    dec-05-2017 02-01-28

  2. fanquake added the label Brainstorming on Aug 14, 2020
  3. fanquake added the label Feature on Aug 14, 2020
  4. Sjors commented at 1:01 pm on August 28, 2020: member
    I would prefer to add this as a tab in the Debug Window. Alternatively it could be inside the console tab.
  5. jonasschnelli commented at 1:37 pm on August 28, 2020: contributor
    Nice. Concept ACK. I think an independent window makes most sense (its also how other app handle “activities”). Clutching everything into the debug window is one possibility, though I prefer the flexible multi-window approach.
  6. fanquake referenced this in commit 9b49ed656f on Oct 20, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-03 17:20 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me