aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
AgeCommit message (Collapse)Author
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-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-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-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-13refactor: change some ResourceAPI from NetJob to Taskflow
This makes it easier to create resource apis that aren't network-based. Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13refactor: generalize mod models and APIs to resourcesflow
Firstly, this abstract away behavior in the mod download models that can also be applied to other types of resources into a superclass, allowing other resource types to be implemented without so much code duplication. For that, this also generalizes the APIs used (currently, ModrinthAPI and FlameAPI) to be able to make requests to other types of resources. It also does a general cleanup of both of those. In particular, this makes use of std::optional instead of invalid values for errors and, well, optional values :p This is a squash of some commits that were becoming too interlaced together to be cleanly separated. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-29refactor: add an `identify` function to make easy to reuseRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-29refactor: use std::filesystem::rename insted of copy and then moving.Rachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-26fix: cleanup and suggested changesRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-25fix: explicit QFileInfo converison for qt6Rachel Powers
fix: validatePath in validateZIPResouces Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-25feat: support installing worlds during flame pack import.Rachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-24feat: zip resource validation check for flameRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-13fix(Inst.Import): don't set managed pack info from imported ZIPsflow
This prevents the Managed Pack page from showing up even though there's no way for it to work correctly. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-10Merge pull request #32 from flowln/modpack_update_pageflow
Closes https://github.com/PrismLauncher/PrismLauncher/issues/180 Closes https://github.com/PrismLauncher/PrismLauncher/issues/170
2022-12-08fix(blockedmods): Track and use targetFolder for blocked filesRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-07fix: don't try updating Flame instance names when updating versionsflow
Since the exact version string is only available in the manifest, there's no easy way of getting it before commiting to the update, so there's not much of a good way of showing the updated name in the UI, and using the displayName is weird and gives some buggy behavior. We may want to re-enable it in the future if we find a reliable way of showing the correct info on the UI before starting the update. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06fix(ManagedPackPage): only update the current instance exactlyflow
Also carry on the original ID to avoid updating the wrong instance. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06feat+fix: allow forwarding extra info to InstanceImportTaskflow
This allows us to pass to the creation instances their actual pack ID and version ID, that in Flame's case, are only available before starting to create an instance. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06feat: allow skipping the update confirmation dialogflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06refactor: abstract away update confirmation dialogflow
... so that we can avoid code duplication. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-06chore: add license headersSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06chore: reformat codeSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-05fix: don't allocate BlockedsModsDialogSefa Eyeoglu
Fixes temporary memory leak! Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-01fix(FileResolvingTask): Fail instead of crash when there's API errorsflow
Also remove non-used variable (rip). Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-11feat: add list of watched foldersRachel Powers
move explanation text into dialog class and it's own label Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-11properly handle a currently running hashing taskRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-11drag&drop + add folder to watchRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-11add some extra debug logs for CF blocked modsRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01clang_format and code cleanupRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01chore(remove FS::copyFile):Rachel Powers
Now that #333 is merged and FS::copy works on non directory copyFile can be removed. Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01code quality cleanupRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01minor clean up and add some docsRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01copy found mods to instance (FTB and Flame)Rachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-11-01send blocked mod info to dialog & prototype UIRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-09-26huge nit: added const refs, everywheretimoreo
Signed-off-by: timoreo <contact@timoreo.fr>
2022-09-20feat: add dialog to ask whether to chaneg instance's nameflow
This prevents custom names from being lost when updating, by only changing the name if the old instance name constains the old version, so that we can update it if the user whishes to. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: show warning in case there's no old index when updatingflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: setAbortStatus -> setAbortableflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: move file deletion to the end of the instance updateflow
This makes it harder for problems in the updating process to affect the current instance. Network issues, for instance, will no longer put the instance in an invalid state. Still, a possible improvement to this would be passing that logic to InstanceStaging instead, to be handled with the instance commiting directly. However, as it is now, the code would become very spaguetti-y, and given that the override operation in the commiting could also put the instance into an invalid state, it seems to me that, in order to fully error-proof this, we would need to do a copy operation on the whole instance, in order to modify the copy, and only in the end override everything an once with a rename. That also has the possibility of corrupting the instance if done without super care, however, so I think we may need to instead create an automatic backup system, with an undo command of sorts, or something like that. This doesn't seem very trivial though, so it'll probably need to wait until another PR. In the meantime, the user is advised to always backup their instances before doing this kind of action, as always. What a long commit message o.O Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: some abort-related issuesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat(ui): improve info dialog before updating an instanceflow
Adds a 'Cancel' option, and add a note about doing a backup before updating. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: hook up setAbortStatus in instance import tasksflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20fix: correctly set managed pack fields in CF packflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat: add override awareness to CF modpack updatingflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: change the way instance names are handledflow
While working on pack updating, instance naming always gets in the way, since we need both way of respecting the user's name choice, and a standarized way of getting the original pack name / version. This tries to circunvent such problems by abstracting away the naming schema into it's own struct, holding both the original name / version, and the user-defined name, so that everyone can be happy and world peace can be achieved! (at least that's what i'd hope :c). Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20feat: add curseforge modpack updatingflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: move creation of CF file download task to a separate functionflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20refactor: move flame modpack import to separate fileflow
Signed-off-by: flow <flowlnlnln@gmail.com>