Age | Commit message (Collapse) | Author |
|
|
|
Add basic resource pack parsing and fix issues
|
|
This takes most expensive operations out of the constructors.
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Some more UI / UX improvements to the mod downloader!
|
|
Reduce code duplication in tasks, fix some bugs and add some tests
|
|
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Avoids lots of code duplication
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
|
|
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
|
|
TIL that zip resource packs, when disabled, actually have the effect of
not showing up in the game at all. Since this can be useful to someone,
I moved the logic for it to the resources.
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
In order to access the ModFolderModel from the ModFolderPage, i created
a new m_model for the correct type, shadowing the m_model of type
ResourceFolderModel. This creates two shared_ptr references to the same object,
but since they will have the same lifetime, it doesn't generate a memory
leak.
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
This aims to continue decoupling other types of resources (e.g. resource
packs, shader packs, etc) from mods, so that we don't have to
continuously watch our backs for changes to one of them affecting the
others.
To do so, this creates a more general list model for resources, based on
the mods one, that allows you to extend it with functionality for other
resources.
I had to do some template and preprocessor stuff to get around the
QObject limitation of not allowing templated classes, so that's sadge :c
On the other hand, I tried cleaning up most general-purpose code in the
mod model, and added some documentation, because it looks nice :D
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
|
|
|
|
Signed-off-by: Robb <computerguy440+gh@gmail.com>
|
|
instead of always saying 'Copy World'
Signed-off-by: Robb <computerguy440+gh@gmail.com>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
|
|
selecting mods
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
|
|
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
|
|
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>
|
|
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
|
|
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
I've discovered even more functional programming! :^)
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
I've discovered functional programming :^)
This makes this route more fit for general use.
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
mod downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
It has a delay of 350ms from the last typed character to search, in
order to cache small changes while typing.
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
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>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
For some reason, using setFilterFixedString() doesn't seem to update the
QRegularExpression object with a new value, instead leaving it empty. It
updates QRegExp just fine, so maybe that's an Qt bug? o.O
Anyway, using regex in the filter is kinda cool actually :D
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
"just woke up after a major release has just been made" coding style
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
|
Qt6 removed Qlist::toStdList() :sob:
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Prevents problems when copying it around!
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Maintains Pre-Updater behaviour
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
Signed-off-by: flow <flowlnlnln@gmail.com>
|
|
|
|
# Conflicts:
# .github/workflows/build.yml
|