aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui
AgeCommit message (Collapse)Author
2022-08-28refactor: make NetJob inherit from ConcurrentTask as well!flow
Avoids lots of code duplication Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28Merge pull request #1052 from flowln/resource_modelSefa Eyeoglu
2022-08-28Merge pull request #965 from flowln/fat_files_in_memorySefa Eyeoglu
Refactor a bit EnsureMetadataTask and calculate hashes in a incremental manner
2022-08-24fix: fix urls on ftb legacyDioEgizio
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.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-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 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-20refactor: move general info from Mod to Resourceflow
This allows us to create other resources that are not Mods, but can still share a significant portion of code. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix: distinguish CoremodsSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-20Merge pull request #1023 from flowln/better_shared_ptrSefa Eyeoglu
2022-08-20Merge pull request #992 from Scrumplex/refactor-versionSefa Eyeoglu
2022-08-20Merge pull request #1007 from Gingeh/disable-update-buttonSefa Eyeoglu
2022-08-20Merge pull request #919 from kumquat-ir/download-all-blockedSefa Eyeoglu
2022-08-12fix: hide 'More news...' button if the news aren't loaded yetflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-12refactor: switch to new versioning schemeSefa Eyeoglu
The new versioning system is based on the versioning system used by the GNOME Foundation for the GNOME desktop. We are dropping the "major version" as defined by SemVer and move to a version number with a most and least significant number. The most significant number must be incremented, if there are new features or significant changes since last major release. Otherwise, the least significant number must be incremented, if there are only minor changes since the last release. New features or significant changes mustn't be introduced by a bump of the least significant number. If a minor change would introduce small user-facing changes (like a message-box or slight UI changes), it could still be classified as a minor change. At the end of the day, a human shall decide, if a change is minor or significant, as there is no clear line that would separate a "minor" and a "significant" change in a GUI-application. Definitions: feature: New user-facing functionality significant change: Something that changes user-facing behavior minor change: Something that fixes unexpected behavior Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-11Merge pull request #897 from jamierocks/atl-updating-initialtimoreo
2022-08-10Make new title strings translatableRobb
Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-09fix: Make world safety nag title text match the action being performed ↵Robb
instead of always saying 'Copy World' Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-08feat: detect GameMode and MangoHud's presenceSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-08refactor: store current capabilitiesSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-04refactor+fix: use QSharedPointer for shared_qobject_ptrflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-03Move large condition into a new lambdaGingeh
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02Check for running instance when re-opening the mod folder page and when ↵Gingeh
selecting mods Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02Update launcher/ui/pages/instance/ModFolderPage.hGingeh
Co-authored-by: flow <flowlnlnln@gmail.com> Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01fix: prevent segfault due to callbacks into deleted objectsflow
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>
2022-08-01Disable "Check for Updates" and "Download Mods" while the game is runningGingeh
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01Disable "Check for Updates" if all mods are removedGingeh
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01fix(ui): force redraw of mod list when (de)selecting a modflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat(ui): remember mod download dialog's geometryflow
Makes it consistent with other modal dialogs. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: lazy-load CF mod descriptionsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: cache mod versionsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01refactor: use function cb instead of class cb in getVersionsflow
I've discovered even more functional programming! :^) Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: cache extra mod info (like links and body)flow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01refactor: use function cb instead of class cb in getModInfoflow
I've discovered functional programming :^) This makes this route more fit for general use. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat+refactor: clean up ProgressWidget and add progress indicatior toflow
mod downloader Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: add (semi) instant searching in mod downloaderflow
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>
2022-08-01change: preserve search term across different mod providersflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat+refactor: add shortcuts to mod downloader and clean upflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01change: change button names to be more user-friendlyflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: display the 'body' of a MR mod on the mod downloaderflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01feat: create delegate for project item viewsflow
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>
2022-08-01fix(ui): missing tr() in mod download dialog's titleflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-31Merge remote-tracking branch 'origin/develop' into download-all-blockedkumquat-ir
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-30Trash instances instead of deleting (when possible) (#549)Ryan Cao
Squashed because of :pofat: commit history
2022-07-26feat: win32 enable dark titlebar for dark themeDavidoTek
Signed-off-by: DavidoTek <54072917+DavidoTek@users.noreply.github.com>
2022-07-26fix: progress dialog going away even if the task was not abortedflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-26chore: add license headersSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-26feat: implement mod resolving for FTBSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-24feat: add hashing tasks to the sequential task in ModUpdateDialogflow
Signed-off-by: flow <flowlnlnln@gmail.com>