Commit Graph

228 Commits

Author SHA1 Message Date
Rachel Powers
f1028fa66d fix: properly map progress range
- doument PCRE used for URL compacting

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:47:31 -07:00
Rachel Powers
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
Rachel Powers
f997529cd4 feat: better task tracking
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-05-01 10:45:34 -07:00
Sefa Eyeoglu
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
Rachel Powers
a02f67ed0e refactor: rename watch_subdirectories -> watch_recurisve (prevent confusion of behavior)
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-12 11:30:02 -07:00
Rachel Powers
2321d9c065 fix: canonical*File*Path()
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-07 18:36:35 -07:00
Rachel Powers
62c59820cf fix: harden watchPath. NO DUPLICATES! >:(
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-03 15:26:26 -07:00
Rachel Powers
5ce7874280 fix: no loops in watch paths! >:(
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-04-02 18:55:21 -07:00
Rachel Powers
df17f5e899 fix: use QDir::Filter::NoDotAndDotDot
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-27 19:11:26 -07:00
Rachel Powers
a0045ece07 feat: add setting to watch recursively
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-27 19:01:53 -07:00
Rachel Powers
ef50e5595e fix: don't try to watch the entier filesystem by watching parent links
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-21 12:17:01 -07:00
Rachel Powers
02bf086c09 feat: watch sub directories for mods
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-21 11:07:20 -07:00
Janrupf
c17f6e37e5 feat: Add setting for downloads directory
Closes #641

Signed-off-by: Janrupf <business.janrupf@gmail.com>
2023-03-13 21:58:22 +01: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
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
Sefa Eyeoglu
1a35fec134
Merge pull request #696 from Ryex/import-all-the-things
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/581
Fixes https://github.com/PrismLauncher/PrismLauncher/issues/700
2023-01-16 10:04:09 +01:00
flow
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
flow
bd36f8e220
fix(RD): set resource strings for ReviewMessageBox too
Signed-off-by: flow <flowlnlnln@gmail.com>
2023-01-13 16:23:09 -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
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
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
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
Rachel Powers
574af2c795 chore: cleanup review suggestions
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-09 17:18:08 -07:00
Rachel Powers
03b75bf2a9 feat: Import all the things!
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-01-07 15:04:22 -07:00
flow
0516055b31
Merge pull request #630 from leo78913/yeet-scrollbars 2022-12-17 08:02:41 -08:00
leo78913
c8d8dda79a fix: only show scrollbars when needed
Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-15 16:34:52 -03:00
Sefa Eyeoglu
849b92665e
Merge branch 'develop' into remove-updater 2022-12-14 23:22:27 +01:00
Sefa Eyeoglu
d193ed9eeb
Merge pull request #561 from leo78913/iconpicker-stuff
closes https://github.com/PrismLauncher/PrismLauncher/issues/494
2022-12-14 23:15:21 +01:00
Rachel Powers
8f30237765 fix: prevent potental crash if droping non local files
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-09 17:21:40 -07:00
Rachel Powers
0f48e0fc06 fix(blockedmods): Track and use targetFolder for blocked files
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2022-12-08 18:42:51 -07:00
leo78913
ab2f3bb5bc make removeButton a member of IconPickerDialog
Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-08 11:13:53 -03:00
leo78913
8c99edd3c5 feat+refactor: trash instance icons
also refactor IconList::deleteIcon

Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-06 20:25:42 -03:00
leo78913
8036272e87 fix: disable remove icon button for default icons
pressing this button in the icon picker dialog when a default icon is selected does nothing so why not disable it

Signed-off-by: leo78913 <leo3758@riseup.net>
2022-12-06 20:10:30 -03:00
Sefa Eyeoglu
746f6945da
fix: remove rogue notr
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:52:32 +01:00
Sefa Eyeoglu
5cab4d8864
chore: reformat code
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:52:31 +01:00
Sefa Eyeoglu
5cedfcbfaf
chore: add license headers
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:52:14 +01:00
Sefa Eyeoglu
c06abd9b6b
refactor: replace Open All with Open Missing
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:52:13 +01:00
Sefa Eyeoglu
e08d97825d
feat: implement lax filename match in BlockedModsDialog
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:51:18 +01:00
Sefa Eyeoglu
d61323aa6d
fix: improve resize behavior of BlockedModsDialog
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 20:51:18 +01:00
Sefa Eyeoglu
85bddbed86
chore: reformat code
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-06 13:16:27 +01:00
Sefa Eyeoglu
2fd7338cd3
dix: disable FS watcher after closing BlockedModsDialog
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-12-05 21:39:24 +01:00
flow
bae0a0530b
fix(RPImportDialog): allow changing item size to accomodate wrapped text
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-11-25 11:51:08 -03:00
Ryan Cao
f916ce8752
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into import-resource-pack-dialog-uwu 2022-11-21 23:19:50 +08:00