Commit Graph

322 Commits

Author SHA1 Message Date
ffcc58cb3e Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-05-14 14:20:24 +03:00
62a402d05a refactor: move functions to utils + code-review fixes
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-06 19:10:58 -07:00
107b470289 Updated required_by as dependency
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-04 23:54:46 +03:00
8b14b946e2 Merge branch 'Fix_Assert' of github.com:Trial97/PrismLauncher into develop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-04 22:35:16 +03:00
f7b912fc9d Fixed comments
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-04 22:25:05 +03:00
9fbec3793f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into develop 2023-05-04 20:29:33 +03:00
42dc3ed03f Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into Fix_Assert 2023-05-03 00:56:26 +03:00
f8bf71e152 Moved the selected resources to one list
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-05-03 00:49:54 +03:00
b6452215c1 feat: add details signal to Task
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-01 10:47:50 -07:00
9d2f0e4dc8 feat: Propogated subtask progress
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-01 10:47:20 -07:00
ff07714e8c chore: remove FTB modpack support
We have been contacted by Feed the Beast to drop support for the FTB
modpack browser from Prism Launcher.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-04-28 11:35:20 +02:00
61a2355618 Removed formated but not used files
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-27 01:41:26 +03:00
248920a221 Removed extra code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-27 01:33:46 +03:00
1d167f8fda Merge branch 'Fix_Assert' of github.com:Trial97/PrismLauncher into develop
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-22 01:32:33 +03:00
75116364c6 Small Cleanup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-22 00:55:11 +03:00
f7931c2ee2 Better version handling
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-22 00:47:51 +03:00
42bc91463e Updated links
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 20:37:17 +03:00
b4fa6e120a Fixed tipo
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
ffaa47bf54 Small cleanup
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
fac33498db Made some copy by reference
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:06 +03:00
7bd26ce468 Semi fixed the Modrinth dependency implementation
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
4fe497cd68 First working version with curseforge mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
5655a33515 Added Dependency API
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-21 18:42:05 +03:00
11f8d25d94 Added missing character
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-12 00:49:50 +03:00
4fbd5abe41 Added task to load dependencies
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-12 00:45:44 +03:00
6d5c629b43 Added dependencies to the APIs
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-04-10 00:04:35 +03:00
430369feb8 fix: explicit conversion to C string to fix MinGW g++ 10 build
Signed-off-by: Kenneth Chew <kenneth.c0@protonmail.com>
2023-03-12 18:33:48 -04:00
b724607e31 feat(RD): add shader pack downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
c3ea303a37 feat(RD): add resource pack downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:52 -03:00
435273e08a fix(Inst.Import): don't allow bad file path in mrpack import
This checks the URL of the path of the file to be downloaded,
ensuring that it always contains the root .minecraft target folder,
following the warning in the mrpack documentation.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-02 17:11:24 -03:00
29f7ea752f refactor: make shared_qobject_ptr ctor explicit
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-25 16:57:51 -03:00
6e841a3b7e Merge branch 'develop' into remove-updater
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-24 14:40:17 +01:00
ea5020e188 fix(license): add/fix my copyright/license headers
*sobbing in messy legal stuff i know nothing about*

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-23 11:12:43 -03:00
c95c81d42f fix(ModUpdater): ensure instead of require icon_url
The spec says that this can be null, and indeed some mods have it set to
null, and should still be considered as valid.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:59:37 -03:00
9407596b12 fix(ModUpdater): fail mods individually when there's errors in the JSON
Prevents a single problematic mod from invalidating all the API
response.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:49:21 -03:00
c294c2d1df refactor(RD): allow setting custom folder target for downloaded resources
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
ba677a8cb7 refactor: change some ResourceAPI from NetJob to Task
This makes it easier to create resource apis that aren't network-based.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
7d128c79a3 fix: CodeQL warnings about the rule of two
shush

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
38e20eb148 fix(RD): pass copy of IndexedPack to callbacks instead of ref.
This prevents a crash in which the pack list gets updated in a search
request meanwhile a versions / extra info request is being processed.
Previously, this situation would cause the reference in the latter
callbacks to be invalidated by an internal relocation of the pack list.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
36571c5e22 refactor(RD): clear up sorting methods
This refactors the sorting methods to join every bit of it into a single
list, easing maintanance. It also removes the weird index contraint on
the list of methods by adding an index field to the DS that holds the
method.

Lastly, it puts the available methods on their respective API, so other
resources on the same API can re-use them later on.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
c8eca4fb85 fix: build with qt5.12 on Linux and pedantic flag
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
45d1319891 refactor(RD): decouple ResourceModels from ResourcePages
This makes it so that we don't need a reference to the parent page in
the model. It will be useful once we change the page from a widget-based
one to a QML page.

It also makes tasks be created in the dialog instead of the page, so
that the dialog can also have the necessary information to mark versions
as selected / deselected easily. It also makes the task pointers into
smart pointers.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:07 -03:00
6a18079953 refactor: generalize mod models and APIs to resources
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>
2023-01-13 16:23:00 -03:00
b937d33436 Merge pull request #714 from redstrate/cmark 2023-01-13 16:16:00 -03:00
807da6a035 fix: Remove extra line breaks for modrinth descriptions
Signed-off-by: Joshua Goins <josh@redstrate.com>
2023-01-12 10:08:52 -05:00
f3f628410d Merge pull request #576 from Ryex/identify-zip-packs
fix https://github.com/PrismLauncher/PrismLauncher/issues/349
2023-01-07 17:33:34 +01:00
2faf8332ee fix: Add 1.16+ Forge library prefix in TechnicPackProcessor.cpp
Signed-off-by: byquanton <32410361+byquanton@users.noreply.github.com>
2023-01-06 02:44:10 +01:00
7f438425aa refactor: add an identify function to make easy to reuse
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-29 19:47:19 -07:00
c470f05abf refactor: use std::filesystem::rename insted of copy and then moving.
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-29 17:21:54 -07:00
3691f3a296 fix: cleanup and suggested changes
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-26 14:50:15 -07:00