aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/mod/ModFolderModel.cpp
AgeCommit message (Collapse)Author
2023-03-20fix: typosRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-03-20feat: warnings when instance resources are linkedRachel Powers
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
2023-02-22review fixeskumquat-ir
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2023-02-13do not create nilmods folderkumquat-ir
"it cant be that easy" - me, clueless Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-12-29refactor(Mods): make provider() return a std::optionalflow
This makes it easier to check if a mod has a provider or not, without having to do a string comparison. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-12-15feat: add a provider column to the mods pageleo78913
Signed-off-by: leo78913 <leo3758@riseup.net>
2022-11-14Check parent in rowCount/columnCount/canFetchMoreTheLastRar
Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
2022-09-20fix: ensure all resource folders existSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-16fix: prevent container detaching in ResourceFolderModelflow
and use const accessors whenever we can! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: race condition on ResourceFolderModel testsflow
This (hopefully) fixes the race contiditions that sometimes got triggered in tests. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: add basic resource pack parsing of pack.mcmetaflow
This parses the pack format ID and the description from the local file, from both a ZIP and a folder, and hooks it into the model. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20change: add enable/disable to resourcesflow
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>
2022-08-20refactor+fix: add new tests for Resource models and fix issuesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: simplify Mod structureflow
No need to keep track of pointers left and right. A single one already gives enough headaches! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix: don't give shared pointer to obj. external to the modelflow
It causes some weird problems and adds refcounting overhead. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: adapt rest of the codebase to the new resource modelflow
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>
2022-08-20refactor: move more tied logic to model and move logic to the resourcesflow
This moves the QSortFilterProxyModel to the resource model files, acessible via a factory method, and moves the sorting and filtering to the objects themselves, decoupling the code a bit. This also adds a basic implementation of methods in the ResourceFolderModel, simplifying the process of constructing a new model from it. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move things around in the mod modelflow
Makes the method order in the cpp file the same as in the header file. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move general code from mod model to its own modelflow
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>
2022-08-11fix: only remove orphaned metadata on first openingflow
This avoids deleting the metadata while one is updating their mods. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: raw-pointers and leaks in ModFolderLoadTaskflow
Co-authored-by: timoreo <contact@timoreo.fr> Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: std::list -> QListflow
Qt6 removed Qlist::toStdList() :sob: Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17change: make Mod a QObject used as a pointerflow
Prevents problems when copying it around! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17change: mod metadata improvementsflow
- Use slug instead of name - Keep temporary status before having local details Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: remove existing mod when updating/redownloading itflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: add update mods to the ui / mod modelflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-10refactor: fix deprecation up to Qt 6Sefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10refactor: fix deprecation up to Qt 5.15Sefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-03fix: aborts when using a Qt build with assertions enabledflow
Preventing undefined behaviour hooray! :D Signed-off-by: flow <flowlnlnln@gmail.com>
2022-06-12chore: add license headersSefa Eyeoglu
2022-06-12refactor(test): fix loading mod metadata settingSefa Eyeoglu
2022-05-23fix: don't try to delete mods multiple timesflow
Shows a more helpful message if there's a parsing error when reading the index file. Also fixes a clazy warning with using the `.data()` method in a temporary QByteArray object.
2022-05-23refactor: abstract metadata handling and clarify namesflow
2022-05-23refactor: remove unused mod info and organize some stuffflow
2022-05-23refactor: move mod tasks to their own subfolderflow
Makes the launcher/minecraft/mod/ folder a little more organized.
2022-05-23feat: use mod metadata for getting mod informationflow
For now this doesn't mean much, but it will help when we need data exclusive from the metadata, such as addon id and mod provider. Also removes the metadata when the mod is deleted, and make the Mod.h file a little more pleasing to look at :)
2021-09-09NOISSUE enable listing symlinks in mod/world listsPetr Mrázek
2021-07-25NOISSUE Flatten gui and logic libraries into MultiMCPetr Mrázek