Commit Graph

67 Commits

Author SHA1 Message Date
Trial97
a97c15d0fb fix modrinth environments filter
fixes #4630
reversed the conditions to check for side because somewhere the mod side
is no initilized(easier to check one line than search where it is not
initialized)

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2026-01-09 12:07:03 +02:00
Trial97
31cdca77df fix mod select
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-11-05 14:24:38 +02:00
Trial97
29cff14fd6 removed some duplicate code
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-09-15 18:25:07 +03:00
Trial97
9a51cd55df make universal resource type
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-07-18 16:17:22 +03:00
Trial97
be963764ea propagate side as enum instead of Qstring
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2025-06-02 13:26:42 +03:00
TheKodeToad
900579eea6 Handle checkbox toggle
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2025-03-19 01:17:25 +00:00
Trial97
935b2e8fb2 add open source filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-27 11:56:48 +02:00
Trial97
6e5f616ced move checkMcVersions to Filter struct
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-07 00:21:28 +03:00
Trial97
859fac604b add modrinth modpack filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-10-04 17:06:47 +03:00
Trial97
c01f3107a4 Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into change_version
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2024-06-16 00:18:11 +03:00
Trial97
f4e098f7f5 Formated file
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-25 09:36:55 +02:00
Trial97
1a0fd5f993 Added mod reinstall dialog
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-11-25 00:18:10 +02:00
Trial97
41c9ca4f8a Added categories filter
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 22:15:07 +03:00
Trial97
9e85297f7a Connected filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-21 18:28:33 +03:00
Trial97
fea4c4eba8 Updated filters
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-10-18 09:00:45 +03:00
Trial97
e6ba2f4970 Added loaders check on versions load
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-08-23 12:52:51 +03:00
Trial97
ae9e8dbafd Removed const specification
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-06-10 22:04:08 +03:00
Trial97
f96b135ef7 Higlight installed mods
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
2023-06-08 20:26:09 +03:00
Rachel Powers
aae892dfd1 fix(memory leak): IndexedPack too large to live inside a qlist without pointers ()
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-26 19:21:07 -07:00
flow
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
flow
e62e1d9701 refactor(RD): move BaseInstance dep. to subclasses of ResourceModel
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
3cff23dae2 refactor(RD): move success callbacks from ModModel to ResourceModel
While implementing the resource pack downloader in another branch, I
noticed that most of the code in the success callback was identical in
both cases, safe for a few minute differences in strings. So, this tries
to make it easier to share this piece of code.

However, it still leaves the possibility of extending the methods in
ResourceModel to accomodate for cases where this similarity may not
hold.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
c3f0139f76 refactor(RD): add helper in ResourceModel to find current sorting
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:08 -03:00
flow
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
flow
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
flow
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
flow
433a802c6e refactor: put resource downloading classes in common namespace
Puts them all inside the 'ResourceDownload' namespace, so that it's a
bit clearer from the outside that those belong to the same 'module'.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:06 -03:00
flow
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
flow
b638a6ae95 fix: retry mod search job after aborting it
This way, we don't get stuck with an aborted job in our way! :o

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-24 09:09:24 -03:00
Sefa Eyeoglu
3ac398ac49 fix: use display name in code
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-18 09:50:27 +02:00
flow
e7380e70a3 fix: use placeholder icon when the project has no icon in MR
Projects with no icon return a null icon URL in Modrinth's API.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 18:05:58 -03:00
flow
ee4a829293 fix: remove manual icon resize in ModModel
THis fixes a FIXME, now that we fixed the issue :o

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 16:59:40 -03:00
flow
1b0ca47682 Merge pull request #939 from flowln/mod_downloader_improve
Some more UI / UX improvements to the mod downloader!
2022-09-07 08:27:11 -03:00
flow
7b6d269904 refactor: make NetJob inherit from ConcurrentTask as well!
Avoids lots of code duplication

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
flow
4a8abc948e fix: prevent segfault due to callbacks into deleted objects
Since network requests are, for the most part, asynchronous, there's a
chance a request only comes through after the request sender has already
been deleted.

This adds a global (read static) hash table relating models for the mod
downloader to their status (true = alive, false = destroyed). It is a
bit of a hack, but I couldn't come up with a better way of doing this.

To reproduce the issue before this commit: scroll really quickly through
CF mods, to trigger network requests for their versions and description.
Then, in the middle of it close the mod downloader. Sometimes this will
create a crash.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 18:34:15 -03:00
flow
0808a10b7b feat: cache mod versions
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
6f052baa94 refactor: use function cb instead of class cb in getVersions
I've discovered even more functional programming! :^)

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
5bc67d3f6b feat: cache extra mod info (like links and body)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
74c6c5cfbc refactor: use function cb instead of class cb in getModInfo
I've discovered functional programming :^)
This makes this route more fit for general use.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
a8bcd85c93 feat+refactor: add shortcuts to mod downloader and clean up
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
4a13dbe3bb feat: create delegate for project item views
This allows us to define custom painting for list view items. In
particular, this is applied to the mod downloader, in order to allow
displaying both the mod name and mod description, and settings their
effects (like bold or underline) independent of each other.

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
e5f6dc1b14 fix: aborts when using a Qt build with assertions enabled
Preventing undefined behaviour hooray! :D

Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:44:19 -03:00
flow
a135c06bcf fix: scale mod icons to the right size 2022-06-21 06:41:56 -03:00
Ezekiel Smith
27239b2dde Merge pull request #634 from flowln/donate_links
More links for CF / Modrinth mods / modpacks
2022-06-14 23:52:00 +10:00
Sefa Eyeoglu
9054ee18a1 Merge pull request #505 from flowln/improve_download_ux 2022-05-30 13:41:02 +02:00
flow
ca3c6c5e8a feat: add donate links for modrinth mods 2022-05-24 09:38:48 -03:00
flow
8f2c485c92 feat(ui): make selected mods in downloader bold with underline
Makes it easier to find which mods are selected in case you want to
change those.
2022-05-21 08:04:26 -03:00
Sefa Eyeoglu
943090db98 refactor: allow tracking multiple mod loaders 2022-05-19 08:49:27 +02:00
Ryan Cao
22f5128e39 adopt changes from #497 remapped 2022-05-08 15:22:50 +08:00
Sefa Eyeoglu
ac77997a7a fix: handle network errors when downloading modlist 2022-04-18 14:36:36 +02:00