aboutsummaryrefslogtreecommitdiff
path: root/launcher/tasks
AgeCommit message (Collapse)Author
2023-08-14chore: reformatSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-07-01chore: fix shadowed member and signed/unsigned mismatchRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: supress unused with [[maybe_unused]] Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: unshadow ^&^& static_cast implicit return Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: deshadow and mark unused in parse task Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: mark unused in folder models Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: deshadow and mark unused with instances Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: more deshadow and unused Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: remove uneeded simicolons Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: mark unused Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> chore: prevent shadow Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-07-01chore: fix propagate mispellingRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-07-01Merge branch 'develop' into chore/add-compiler-warningsRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-06-09Fixed some crashesTrial97
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-06-04chore: clean up after new compiler warningsRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-21fix: memory leak with NetJob and responce not getting cleaned upRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-06refactor: move functions to utils + code-review fixesRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-05Apply suggestions from code reviewRachel Powers
Co-authored-by: flow <flowlnlnln@gmail.com> Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01feat: estimate remining time on downloadsRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01refactor: Qt can handle const& in signals and slotsRachel Powers
While most Qt types cna use implicit data sharing pasing our own structs means copies. const& ensure it's only copied as needed by Qt. Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01fix: no need to loop all sub tasksRachel Powers
pathc by flowin Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> Signed-off-by: flow <flowlnlnln@gmail.com>
2023-05-01refactor: propogate only only one StepProgress at a timeRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01fix: clean up license headers for TasksRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01feat: add `details` signal to `Task`Rachel Powers
feat: add details to mod pack downloading feat: add logging rule sloading form `ligging.ini at data path root feat: add `launcher.task` `launcher.task.net` and `launcher.task.net.[down|up]load` logging categories fix: add new subtask progress to the end of the lay out not the beginning (cuts down on flickering) Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01fix: properly map progress rangeRachel Powers
- doument PCRE used for URL compacting Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01feat: Propogated subtask progressRachel Powers
Oh boy this is big. > TaskStepProgress struct is now QMetaObject compatabile and can be sent through signals > Task now has a method to propogates sub task progress it must be signal bound by each task containing a task wishing to report progress of it's children. > Downloads report speed > Tasks now have UUIDS to track them - use when reporting - use when logging - use when storeing them or objects related to them Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01feat: better task trackingRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-25refactor: make shared_qobject_ptr ctor explicitflow
This turns issues like creating two shared ptrs from a single raw ptr from popping up at runtime, instead making them a compile error. Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-24fix(Tasks): don't try to start more tasks than necessaryflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-18fix: call processEvents() before adding new tasks to the task queueflow
This allows the ongoing task to go off the stack before the next one is started. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-17refactor(Tasks): remove 'm_total_size' from ConcurrentTaskflow
We can use the queues directly instead. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15feat(Tasks): allow adding subtasks while running in ConcurrentTaskflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15feat(Tasks): add ConcurrentTask::clear to allow re-using tasksflow
This way old runs won't pile up in the internal DSs Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-22Change old style cast to C++ castBensuperpc
Change old style cast to C++ cast Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2022-09-20refactor: setAbortStatus -> setAbortableflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat: add canAbort() status change in Taskflow
By now, it's a recurring pattern of wanting to restrict aborting in certain situations. This avoids further code duplication, and adds a signal that external users can hook up to to respond to such change. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-11refactor: restructure testsSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-07fix: start at least one task in ConcurrentTaskflow
This allows us to emit all the necessary stuff when we're finished in the case of starting a task with no subtasks. In particular, this caused the mod updater to not work properly :) Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: make MultipleOptionsTask inherit directly from SequentialTaskflow
It's not a good idea to have multiple concurrent tasks running on a sequential thing like this one. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28feat(test): add more tests to Tasksflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28refactor: make MultipleOptionsTask inherit from ConcurrentTask tooflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28refactor: make SequentialTask inherit from ConcurrentTaskflow
In a way, sequential tasks are just concurrent tasks with only a single task running concurrently, so we can remove LOTS of duplicated logic :) Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: abort logic running subsequent tasks anyways some timesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: 'succeeded while not running' spam in ConcurrentTaskflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: bogus progress update when the total step progress was zeroflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: only try to start tasks that are really thereflow
This fixes an annoying issue where concurrent tasks would try to start multiple tasks even when there was not that many tasks to run in the first place, causing some amount of log spam. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28Merge pull request #1052 from flowln/resource_modelSefa Eyeoglu
2022-08-20feat: make Task a QRunnableflow
This makes it possible to run a task in another thread. I added a variable to toggle debug prints because they seem to trigger an assertion on Qt internals when the task in on another thread. Of course, this isn't awesome, but can wait until we improve our logging. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24fix: pump events and do a queued start for concurrent tasksflow
Heavy workloads can consume a ton of time doing their stuff, and starve the event loop out of events. This adds an event processing call after every concurrent task has been completed, to decrease the event loop stravation on such loads. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add MultipleOptionsTaskflow
This is a variation of a Sequential Task, in which a subtask failing will prompt the next one to execute, and a subtask being successful will stop the task. This way, this can be used for easily managing fallbacks with tasks. :D Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: always update global progress of sequential tasksflow
Previously, it would not update the global counter if the subTask didn't update its progress, even though progress was being made. This also prevents a segmentation fault while aborting the task. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-02Merge pull request #784 from Scrumplex/refactor-cmakeflow
Refactor tests
2022-07-01feat: add ConcurrentTaskflow
This tasks (or rather, meta-task) has the ability to run several other sub tasks concurrently. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-06-14refactor: move away from UnitTest.cmakeSefa Eyeoglu
2022-06-04Merge pull request #426 from flowln/mod_permaSefa Eyeoglu
Add on-disk mod metadata information
2022-05-24fix: better handle corner caseflow
2022-05-23feat(ui): adapt SequentialTask to nested SequentialTasksflow
2022-05-21fix: various issues with ProgressDialog and SequentialTasksflow
- Fix aborting sequential tasks - Fix displaying wrong number of tasks concluded - Fix text cutting when the URL is too big
2022-05-17fix: virtual signal in Task.hflow