Commit Graph

546 Commits

Author SHA1 Message Date
TheKodeToad
5c913149c8
Merge branch 'PrismLauncher:develop' into modrinth-token 2023-03-02 10:10:46 +00:00
Sefa Eyeoglu
9265c319a9
Merge pull request #788 from flowln/other_resource_downloaders_two
Add resource pack, texture pack and shader pack downloaders
2023-03-02 10:08:45 +00:00
TheKodeToad
cbe6eff2fa Move Modrinth before CurseForge for consistency
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-03-02 09:28:14 +00:00
Sefa Eyeoglu
89255e34bd
fix: change wording of TP/RP download buttons
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-03-02 09:42:28 +01:00
TheKodeToad
a7b8092296 Add link
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-03-01 14:41:16 +00:00
TheKodeToad
1feb630520 Allow custom Modrinth API token
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
2023-03-01 14:24:56 +00:00
Sefa Eyeoglu
4878f1a438
Merge pull request #735 from Scrumplex/import-component 2023-03-01 09:49:47 +01:00
flow
46c6cc2d2b
chore: add my copyright headers
.-.

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
ada5e88eb9
feat(RD): add texture pack downloader
This extends the resource pack downloader, with the custom behavior of
filtering the versions that shows up, to those <= 1.6. As always, Flame
is funky and requires a bit more workarounds than average.

This will also get a nice improvement when the Version parsing and
comparison PR gets merged! :D

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
b724607e31
feat(RD): add shader pack downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:56 -03:00
flow
c3ea303a37
feat(RD): add resource pack downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-02-05 17:02:52 -03:00
flow
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
Sefa Eyeoglu
199a7df807
refactor: add error handling to component import
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-25 10:43:23 +01:00
Sefa Eyeoglu
6e841a3b7e
Merge branch 'develop' into remove-updater
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-24 14:40:17 +01:00
Sefa Eyeoglu
16477a8f6c
Merge pull request #675 from flowln/generalize_mod_model 2023-01-23 23:58:52 +01: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
Tayou
cdc9f93f71
make MainWindow cat update instantly
Signed-off-by: Tayou <tayou@gmx.net>
2023-01-20 15:16:25 +01:00
Sefa Eyeoglu
cd893e18d2
chore: update license headers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-14 17:21:52 +01:00
flow
3de681d2d6
Merge pull request #685 from byteduck/instance-accounts 2023-01-13 17:21:12 -03:00
flow
1919069b12
fix(RD): don't assert search offset on fetchMore() in ResourceModel
This allows the standard QAbstractItemModelTester to work without
shenanigans!

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -03:00
flow
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
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
b3330cb0da
fix(RD): correctly set the strings for the specific resource names
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
563fe8d515
fix(RD): separate search and versions/info tasks
This allows us to check whether a search request is already on-going, in
which case we don't need to make another one (and shouldn't).

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
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
flow
0e207aba6c
feat(RD): add roleNames and Q_PROPERTY to ResourceModel
in preparation for QML interop.

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
39b7ac90d4
refactor(RD): unify download dialogs into a single file
No need for multiple files since the subclasses are so small now

Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:06 -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
b937d33436
Merge pull request #714 from redstrate/cmark 2023-01-13 16:16:00 -03:00
Aaron Sonin
b2f48eaeb8
Merge branch 'PrismLauncher:develop' into instance-accounts 2023-01-12 20:11:46 -08:00
Aaron
160dd09fc2
Fix instance account selector face for offline accounts 2023-01-12 20:03:31 -08:00
Joshua Goins
24a4bd3a1c refactor: replace hoedown markdown parser with cmark
Signed-off-by: Joshua Goins <josh@redstrate.com>
2023-01-12 10:08:52 -05:00
Sefa Eyeoglu
fff52cb247
feat: add button to import component JSONs
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-01-11 13:50:57 +01:00
Tayou
1b80ae0fca
add theme setup wizard
Signed-off-by: Tayou <tayou@gmx.net>
2023-01-10 16:06:01 +01:00
Sefa Eyeoglu
ca9b2525c8
Merge pull request #715 from getchoo/add-teawie 2023-01-09 09:46:31 +01:00
seth
8140f5136d
feat: add teawie
drawn by sympathytea (https://github.com/SympathyTea)

Signed-off-by: seth <getchoo@tuta.io>
2023-01-06 22:28:15 -05:00
Joshua Goins
f04703f09b Strip certain HTML tags when rendering mod pages
Some mod pages use certain tags for centering purposes, but trips up
hoedown.

Signed-off-by: Joshua Goins <josh@redstrate.com>
2023-01-06 15:05:19 -05:00
Aaron
ba81ad1ac3 Reword instance-specific account settings, apply clang-format
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron Sonin
eefb259ddf Remove unecessary delete in InstanceSettingsPage destructor
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Aaron Sonin <10217842+byteduck@users.noreply.github.com>
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron Sonin
9b8add1961 Properly connect signal in instance settings for account selector
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Aaron Sonin <10217842+byteduck@users.noreply.github.com>
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron Sonin
e186523878 Add null check for face in instance account settings selector
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Aaron Sonin <10217842+byteduck@users.noreply.github.com>
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron Sonin
021e6c02d7 Replace unecessary type check with assertion in InstanceSettingsPage
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Aaron Sonin <10217842+byteduck@users.noreply.github.com>
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron
cba3d68063 Fix conflicting layout name in InstanceSettingsPage
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00
Aaron
7e2d78bab5 Allow selecting a default account to use with an instance
Signed-off-by: Aaron <10217842+byteduck@users.noreply.github.com>
2023-01-02 11:17:19 -07:00