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()andIsCancelled(); - add something like
SetSource(string)(for instanceSetSource("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.

.