aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui
AgeCommit message (Collapse)Author
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>
2022-07-23fix: filter in external resource pages not workingflow
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>
2022-07-23fix: hide the entire performance tab on instance settings in non-Linuxflow
"just woke up after a major release has just been made" coding style Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-20fix: move HTML code outside of translationSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-19fix: fix translations for mod updaterSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-18merge origin/developkumquat-ir
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-18qtcreator momentkumquat-ir
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-18fix: dark placeholder text in dark background on dark themeflow
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-17feat: make second metadata pass concurrentflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: clean up execWithTask in Progress Dialogflow
This prevents weird problems, such as dialogs being non-modal when they should be! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: try finding a good height for short changelogsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: changelogs with too much space between linesflow
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-17fix: work around HoeDown bug(?) in changelog line breaksflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: improve changelog and sort updatable modsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: handling around disabled modsflow
Don't update disabled mods to prevent mod duplication. Also, chop filename in the metadata with a '.disabled'. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17feat: improve metadata gen. networking and performanceflow
This makes the metadata generation code a lot messier and harder to use, but there's not really much else that can be done about it while preserving all it's capabilities :( At least we now have speed Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: filter out opted-out mods in mod downloaderflow
Maintains Pre-Updater behaviour Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17fix: don't double add mods in mod downloader/updaterflow
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-17feat: add mod update dialogflow
This subclasses the Review mods dialog to make a "Update review" one. Also, all the necessary components built until now are put together in a coherent unity that checks and generates metadata on-the-fly and checks for mod updates, while giving and receiving feedback to the user. Signed-off-by: flow <flowlnlnln@gmail.com>