Skip to content

Global progress bar

Christoph Fischer requested to merge devel_progress_bar into master

Currently, to show that the application is busy, Met.3D

  • uses the Processing... label when MTasks are running
  • shows a progress bar in a separate window when either a session is loaded, a file is scanned initially, or a session is loaded.

This has the following problems:

  • The Processing... label does not give information on how many tasks are queued, which tasks are running, or if the application gets stuck, which task is responsible.
  • The progress bar windows sometimes hang and don't close properly (see #410). This seems to happen if a progress bar window is opened while one is already open or in quick succession (within a UI render cycle). As we open lots of these windows during session load (compiling shaders for each actor), this happens quite often.

This MR removes the progress bar windows and the processing label and replaces these with a global progress bar displayed in the menu bar. Classes scheduling or starting tasks can register these tasks to the progress bar, and notify the task bar once the tasks are finished. An optional label can be displayed along the progress bar to show the user the task currently running.

Merge request reports

Loading