Add multi-mod install and conflict resolution support#272
Add multi-mod install and conflict resolution support#272PainnBot wants to merge 1 commit intoLeagueToolkit:masterfrom
Conversation
Implemented batch installation of Fantome/zip/wad mods, including drag-and-drop and multi-file dialog support. Added conflict detection with user prompt to skip or overwrite existing mods. Updated QML and backend to handle new signals, slots, and dialog for conflict resolution.
moonshadow565
left a comment
There was a problem hiding this comment.
I didn't test this but it looks sane to me. Cmake version hack i do not like. It also removes functionality of importing extracted .wads which i would prefer not be removed in case someone is using it.
| FetchContent_GetProperties(miniz) | ||
| if(NOT miniz_POPULATED) | ||
| FetchContent_Populate(miniz) | ||
| # Patch the CMakeLists.txt to use a newer minimum version |
There was a problem hiding this comment.
I'm not sure i like this, something like https://stackoverflow.com/a/73725257 would be more acceptable.
Or alternatively maybe bumping miniz version up if this is also fixed upstream ?
There was a problem hiding this comment.
I'm not quite sure to be very honest, I'm not too professional at this type of coding yet, but will see what I can do.
| const QString filePath = it.next(); | ||
| // If the file is inside a directory named "chromas", skip it. | ||
| // QDirIterator always uses '/', so we only need to check for that separator. | ||
| if (filePath.contains("/chromas/", Qt::CaseInsensitive)) { |
There was a problem hiding this comment.
Bit more information on this. Where is this directory coming from? Why do we need to remove it? Can there be false positives named chromas that should not be removed?
There was a problem hiding this comment.
When doing auto import for a whole folder if you have chromas there then the importing process would take a day or two as in my case I had a folder with so many skin mods and chromas so I preferred to do it part manually, so it just looks for folder that contains chroma in the name and exclude it.
| continue; | ||
| } | ||
|
|
||
| QDirIterator it(path, nameFilters, QDir::Files, QDirIterator::Subdirectories); |
There was a problem hiding this comment.
This is missing handling for .wad.client/.wad directories. Those should not be iterated, they should be treated as files and passed to mod-tools as such.
There was a problem hiding this comment.
I'm sure I haven't removed the wad file handling, will have to take a look sound's like I made a mistake and wouldn't show in my end as I was mainly testing with zips
There was a problem hiding this comment.
Thanks for the inputs will take another look and fix those.
Implemented batch installation of Fantome/zip/wad mods, including drag-and-drop and multi-file dialog support. Added conflict detection with user prompt to skip or overwrite existing mods. Updated QML and backend to handle new signals, slots, and dialog for conflict resolution.