Activity Viewer
Description
[!WARNING] Draft for now, there are still some mayor decisions that have to made about how tasks are going to be handled.
Displays the Activity Viewer component at the top of the editor based on the latest design by @austincondiff. It contains a basic proposal for how to handle the CodeEdit tasks with a TaskManager class that will handle the execution and the selection of the active task, and a CETask model that will represent a specific task. When executing a task, another model called CETaskRun handles the state of the current run. For now there's only one TestTask that idles for a few seconds and then finishes. Also, the status of the tasks in the dropdown just display the same result since there's no persistence implemented yet.
I had to create a custom DropdownMenu view since the SwiftUI Menu was too limited for the proposed look. The dropdown menu is currently displayed as a popover, similar to how Xcode shows the schemes and devices to save time but it can be easily adjustable.
Related Issues
- #438
Checklist
- [x] I read and understood the contributing guide as well as the code of conduct
- [x] The issues this PR addresses are related to each other
- [ ] My changes generate no new warnings
- [x] My code builds and runs on my machine
- [x] My changes are all related to the related issue above
- [x] I documented my code