Sefa Eyeoglu
61fbc5a791
refactor: replace with new logo
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-19 13:08:23 +02:00
Samisafool
8201d1df02
Rename
...
Signed-off-by: Samisafool <thenerdiestguy@gmail.com>
2022-10-19 15:02:43 +05:30
Cleo John
83ceb26151
Streamline Button changes to improve source readability.
2022-10-18 17:28:23 +02:00
Sefa Eyeoglu
3405fd91c6
Merge pull request #33 from DioEgizio/remove-useless-actions
2022-10-18 15:31:32 +02:00
Sefa Eyeoglu
98963d4cdf
Merge pull request #29 from Scrumplex/feat-clear-metadata
2022-10-18 15:25:56 +02:00
DioEgizio
e05fe77bfe
feat: remove redundant actions from instance toolbar and redundant "instance"s
...
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-10-18 14:43:29 +02:00
Sefa Eyeoglu
3ac398ac49
fix: use display name in code
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-18 09:50:27 +02:00
Sefa Eyeoglu
722194405a
refactor: initial rebrand
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-18 09:37:59 +02:00
flow
dfa220ef02
fix: issues with aborts (again)
...
i hate it
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-13 15:10:35 -03:00
flow
f26be00571
fix: abort search if we're already trying to download a pack
...
Meaning we don't have to wait for the searches to finish in the
background to finally start the modpack download, when we have already
selected it -_-
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-13 13:49:06 -03:00
flow
b2a5d8daf4
fix: don't include opted out versions with the 'Any' filter on the MD
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-12 10:26:14 -03:00
flow
fda3f1352e
feat: add image support for the news reader :^)
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-11 16:11:08 -03:00
flow
d194b02e28
fix: prevent images overriding content when changing pages
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-11 15:51:54 -03:00
Tayou
aaba99dc10
Update launcher/ui/MainWindow.cpp
...
make " Offline" string for profilers translatable
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Tayou <31988415+TayouVR@users.noreply.github.com>
2022-10-11 14:58:34 +02:00
Tayou
93a2e0f777
Merge Launch Buttons
...
Signed-off-by: Tayou <tayou@gmx.net>
2022-10-10 23:23:06 +02:00
Sefa Eyeoglu
71f3c6b461
feat: add clear metadata action
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-10-10 12:48:25 +02:00
Sefa Eyeoglu
fafc9cf9ca
Merge pull request #1033 from Scrumplex/multi-arch-support
2022-10-08 20:12:40 +02:00
flow
28f84902f6
Merge pull request #1185 from DioEgizio/fix-tooltip
...
Fix outdated 'Disable mod metadata' button's warning message.
2022-10-08 14:34:59 -03:00
Trisave
ebee50eedc
Improve default light and dark themes ( #1174 )
2022-10-08 14:33:24 -03:00
flow
d7992ab29d
feat: add image support for FTB packs
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-08 14:12:05 -03:00
flow
60f19f305e
feat: add image support for modrinth modpack pages
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-08 14:12:03 -03:00
flow
d99976f5d7
fix: make mod and modpack caches separate for Modrinth
...
This makes it similar to CF mods / modpacks. The mods cache is
maintained with the same name because it most likely has more data it
in, so this commit will affect existing caches as minimally as possible.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-08 14:11:20 -03:00
flow
db158a5735
feat: add image support for mod pages
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-08 14:11:20 -03:00
flow
ea3be17220
feat: add widget for a text browser with image support
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-10-08 14:11:20 -03:00
DioEgizio
f26049009e
fix: mod updating isn't upcoming anymore :p
...
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-10-08 16:20:46 +02:00
Sefa Eyeoglu
787234a53a
Merge pull request #1163 from flowln/fix_list_icons
2022-10-08 12:12:38 +02:00
Sefa Eyeoglu
fc3a64056c
Merge pull request #1154 from Scrumplex/epic-formatting-codes
2022-10-08 12:12:26 +02:00
Sefa Eyeoglu
7ccafdc993
fix: add missing includes to fix Qt 6.4 build
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-30 19:56:01 +02:00
flow
370c3aa598
Merge pull request #894 from flowln/update_from_external_source
...
epic PR
2022-09-26 08:25:12 -03:00
timoreo
9ff364b0d3
huge nit: added const refs, everywhere
...
Signed-off-by: timoreo <contact@timoreo.fr>
2022-09-26 11:50:31 +02:00
ErogigGit
8a4f1c66f8
Allow double clicking to mark for dowload
...
Signed-off-by: Erogig <erogigabyte@gmail.com>
2022-09-24 22:37:51 +02:00
flow
e7380e70a3
fix: use placeholder icon when the project has no icon in MR
...
Projects with no icon return a null icon URL in Modrinth's API.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 18:05:58 -03:00
flow
3df8594f19
feat: change project item delegate for modrinth modpacks
...
more info! \ ^-^/
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 16:59:40 -03:00
flow
ee4a829293
fix: remove manual icon resize in ModModel
...
THis fixes a FIXME, now that we fixed the issue :o
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 16:59:40 -03:00
flow
1862f3c124
fix: set icon sizes correctly in ProjectItemDelegate
...
no more dumb hacks with icons!!
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-23 16:59:40 -03:00
Sefa Eyeoglu
777ab3416f
feat: also format resource/texture pack names
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-21 15:00:28 +02:00
Sefa Eyeoglu
ecf5ab75e7
feat: support more formatting codes
...
also fix some crashes
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-21 14:59:01 +02:00
flow
68facd6b93
fix(ui): hook up abort status signal in ProgressDialog
...
Now we have a visual indication on when tasks are abortable!
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
flow
6541570969
fix: simplify abort handling and add missing emits
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:09 -03:00
flow
6131346e2f
refactor: change the way instance names are handled
...
While working on pack updating, instance naming always gets in the way,
since we need both way of respecting the user's name choice, and a
standarized way of getting the original pack name / version.
This tries to circunvent such problems by abstracting away the naming
schema into it's own struct, holding both the original name / version,
and the user-defined name, so that everyone can be happy and world peace
can be achieved! (at least that's what i'd hope :c).
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:36:08 -03:00
flow
941d75824a
refactor: add instance creation abstraction and move vanilla
...
This is so that 1. Code is more cleanly separated, and 2. Allows to more
easily add instance updating :)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-20 18:32:36 -03:00
Sefa Eyeoglu
09e85e948c
refactor: introduce RuntimeContext
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 15:59:43 +02:00
Sefa Eyeoglu
ebbcc9f6da
fix: actually render color codes for texture packs
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:26:15 +02:00
Sefa Eyeoglu
07dcefabcb
feat: add texture pack parsing
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-09-20 10:26:15 +02:00
flow
81e326571b
fix: enable demo launch only on supported instances
...
e.g. >= 1.3.1 instances
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-15 19:27:42 -03:00
flow
11216d200c
change: move demo action to "Play offline" menu
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-15 18:44:18 -03:00
jopejoe1
777be6a48d
Add 'Ctrl+Alt+O' Shortcut to launch demo instance.
...
Signed-off-by: jopejoe1 <johannes@joens.email>
2022-09-15 18:44:18 -03:00
jopejoe1
29dcb9d274
Added Launch Demo button.
...
Signed-off-by: jopejoe1 <johannes@joens.email>
2022-09-15 18:44:18 -03:00
Sefa Eyeoglu
1ca2be0039
Merge pull request #982 from DavidoTek/windarkmode2
2022-09-14 13:17:17 +02:00
flow
f65d506f26
Merge pull request #997 from flowln/fix_major_version_filter
2022-09-07 10:34:50 -03:00
flow
333dbca01e
Merge pull request #1105 from flowln/better_resource_packs
...
Add basic resource pack parsing and fix issues
2022-09-07 08:30:36 -03:00
flow
42eb265624
refactor: create mod pages and filter widget by factory methods
...
This takes most expensive operations out of the constructors.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-07 08:29:58 -03:00
flow
8a65726e9d
fix: use more robust method of finding matches for major version
...
This uses the proper version list to find all MC versions matching the
major number (_don't say anything about SemVer_ 🔫 ).
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-07 08:27:53 -03:00
flow
1b0ca47682
Merge pull request #939 from flowln/mod_downloader_improve
...
Some more UI / UX improvements to the mod downloader!
2022-09-07 08:27:11 -03:00
flow
8e3f5c3305
Merge pull request #966 from flowln/refactor_tasks
...
Reduce code duplication in tasks, fix some bugs and add some tests
2022-09-07 08:26:28 -03:00
Sefa Eyeoglu
25d1e0c4e6
Merge pull request #1107 from DioEgizio/smaller-about
2022-09-05 17:52:16 +02:00
Sefa Eyeoglu
8e3356f11a
Merge pull request #1034 from Scrumplex/detect-performance-features
2022-09-05 17:45:17 +02:00
DioEgizio
d5583f0f02
make the about dialog smaller
...
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-09-04 14:32:33 +02:00
flow
43a7af3f44
fix: removing mods with their metadata as well
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:23 -03:00
flow
3b13e692d2
feat: move resource pack images to QPixmapCache
...
This takes care of evicting entries when the cache gets too big for us,
so we can add new entries without much worries.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:22 -03:00
flow
dd9e30b24a
feat: add resource icon to InfoFrame
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
afa1a5e932
feat: modify InfoFrame and ResourcePackPage to show ResourcePack info
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03 13:37:21 -03:00
flow
7b6d269904
refactor: make NetJob inherit from ConcurrentTask as well!
...
Avoids lots of code duplication
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28 16:29:01 -03:00
Sefa Eyeoglu
f371ec210c
Merge pull request #1052 from flowln/resource_model
2022-08-28 16:52:53 +02:00
Sefa Eyeoglu
afcd669d2f
Merge pull request #965 from flowln/fat_files_in_memory
...
Refactor a bit EnsureMetadataTask and calculate hashes in a incremental manner
2022-08-28 11:03:12 +02:00
DioEgizio
13184eb8e9
fix: fix urls on ftb legacy
...
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-08-24 12:31:38 +02:00
flow
e2ab2aea32
change: add enable/disable to resources
...
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-20 10:49:54 -03:00
flow
92aa24ae34
fix: don't give shared pointer to obj. external to the model
...
It causes some weird problems and adds refcounting overhead.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20 10:48:00 -03:00
flow
97a74d5c1f
refactor: adapt rest of the codebase to the new resource model
...
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-20 10:47:58 -03:00
flow
ec62d8e973
refactor: move general code from mod model to its own model
...
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-20 10:45:01 -03:00
flow
3225f514f6
refactor: move general info from Mod to Resource
...
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-20 10:41:59 -03:00
Sefa Eyeoglu
afb9ebcd99
fix: distinguish Coremods
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-20 12:53:13 +02:00
Sefa Eyeoglu
a517f442ea
Merge pull request #1023 from flowln/better_shared_ptr
2022-08-20 12:50:50 +02:00
Sefa Eyeoglu
6e086eb808
Merge pull request #992 from Scrumplex/refactor-version
2022-08-20 12:50:25 +02:00
Sefa Eyeoglu
7e8644430c
Merge pull request #1007 from Gingeh/disable-update-button
2022-08-20 12:50:19 +02:00
Sefa Eyeoglu
70a8f6743a
Merge pull request #919 from kumquat-ir/download-all-blocked
2022-08-20 12:50:01 +02:00
flow
93507a263b
fix: hide 'More news...' button if the news aren't loaded yet
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-12 17:41:11 -03:00
Sefa Eyeoglu
1175461030
refactor: switch to new versioning scheme
...
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-12 14:22:24 +02:00
timoreo
c375e7b4df
Merge pull request #897 from jamierocks/atl-updating-initial
2022-08-11 08:50:05 +02:00
Robb
cebac3c10e
Make new title strings translatable
...
Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-10 12:07:24 -05:00
Robb
cd30f75173
fix: Make world safety nag title text match the action being performed instead of always saying 'Copy World'
...
Signed-off-by: Robb <computerguy440+gh@gmail.com>
2022-08-09 16:01:21 -05:00
Sefa Eyeoglu
68f3f98bc3
feat: detect GameMode and MangoHud's presence
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-08 21:16:37 +02:00
Sefa Eyeoglu
f873cd5b1a
refactor: store current capabilities
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-08 21:16:37 +02:00
flow
362ecdb583
refactor+fix: use QSharedPointer for shared_qobject_ptr
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-04 15:33:51 -03:00
Gingeh
a8aa862919
Move large condition into a new lambda
...
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-03 16:39:30 +10:00
Gingeh
f33b31e048
Check for running instance when re-opening the mod folder page and when selecting mods
...
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02 14:14:45 +10:00
Gingeh
0d10ebb7ca
Update launcher/ui/pages/instance/ModFolderPage.h
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-02 12:50:25 +10:00
flow
4a8abc948e
fix: prevent segfault due to callbacks into deleted objects
...
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-01 18:34:15 -03:00
Gingeh
77b640b76b
Disable "Check for Updates" and "Download Mods" while the game is running
...
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01 20:56:05 +10:00
Gingeh
a8dfe98b1a
Disable "Check for Updates" if all mods are removed
...
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-08-01 20:56:05 +10:00
flow
cee41b87f7
fix(ui): force redraw of mod list when (de)selecting a mod
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:31 -03:00
flow
7a95314e42
feat(ui): remember mod download dialog's geometry
...
Makes it consistent with other modal dialogs.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:31 -03:00
flow
6aaf1f4f21
feat: lazy-load CF mod descriptions
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
0808a10b7b
feat: cache mod versions
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
6f052baa94
refactor: use function cb instead of class cb in getVersions
...
I've discovered even more functional programming! :^)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
5bc67d3f6b
feat: cache extra mod info (like links and body)
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
74c6c5cfbc
refactor: use function cb instead of class cb in getModInfo
...
I've discovered functional programming :^)
This makes this route more fit for general use.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
158b7fd166
feat+refactor: clean up ProgressWidget and add progress indicatior to
...
mod downloader
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:30 -03:00
flow
c3f647dc96
feat: add (semi) instant searching in mod downloader
...
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-01 07:33:30 -03:00
flow
5936c7b65c
change: preserve search term across different mod providers
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
a8bcd85c93
feat+refactor: add shortcuts to mod downloader and clean up
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
127b558f95
change: change button names to be more user-friendly
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
6e9a27f40f
feat: display the 'body' of a MR mod on the mod downloader
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
flow
4a13dbe3bb
feat: create delegate for project item views
...
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-01 07:33:29 -03:00
flow
0f61f5ba03
fix(ui): missing tr() in mod download dialog's title
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-01 07:33:29 -03:00
kumquat-ir
579582740e
Merge remote-tracking branch 'origin/develop' into download-all-blocked
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-31 14:54:50 -04:00
Ryan Cao
b15544c163
Trash instances instead of deleting (when possible) ( #549 )
...
Squashed because of :pofat: commit history
2022-07-30 14:42:33 -03:00
DavidoTek
b4e8abd0ad
feat: win32 enable dark titlebar for dark theme
...
Signed-off-by: DavidoTek <54072917+DavidoTek@users.noreply.github.com>
2022-07-26 23:25:17 +02:00
flow
1ce0f0e7a5
fix: progress dialog going away even if the task was not aborted
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-26 20:33:33 +02:00
Sefa Eyeoglu
fb289c6b17
chore: add license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-26 20:33:29 +02:00
Sefa Eyeoglu
75a7ea55d4
feat: implement mod resolving for FTB
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-26 20:33:10 +02:00
flow
00520b6a0e
feat: add hashing tasks to the sequential task in ModUpdateDialog
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-24 17:46:54 -03:00
flow
3aa2003951
fix: filter in external resource pages not working
...
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-23 23:50:56 -03:00
flow
813dfbd2d3
fix: hide the entire performance tab on instance settings in non-Linux
...
"just woke up after a major release has just been made" coding style
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-23 13:29:39 -03:00
Sefa Eyeoglu
9cc1773fa7
fix: move HTML code outside of translation
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-20 10:15:21 +02:00
Sefa Eyeoglu
28ae5d710e
fix: fix translations for mod updater
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-19 18:03:45 +02:00
kumquat-ir
20b1723e78
merge origin/develop
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-18 14:05:23 -04:00
kumquat-ir
be78afeee5
qtcreator moment
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-18 14:03:06 -04:00
flow
0cb47cf7d7
fix: dark placeholder text in dark background on dark theme
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-18 14:25:00 -03:00
flow
de9e304236
fix: std::list -> QList
...
Qt6 removed Qlist::toStdList() 😭
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:45 -03:00
flow
47bdcb6050
feat: make second metadata pass concurrent
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
58dc3e93d3
fix: clean up execWithTask in Progress Dialog
...
This prevents weird problems, such as dialogs being non-modal when they
should be!
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
79b0a16f7a
fix: try finding a good height for short changelogs
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
2b65ee433f
fix: changelogs with too much space between lines
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
c4316e81e6
change: make Mod a QObject used as a pointer
...
Prevents problems when copying it around!
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
fac63541a4
fix: work around HoeDown bug(?) in changelog line breaks
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
dfd6cb29be
feat: improve changelog and sort updatable mods
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:44 -03:00
flow
5f75e531e6
fix: handling around disabled mods
...
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-17 11:33:43 -03:00
flow
4e6978ff6f
feat: improve metadata gen. networking and performance
...
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-17 11:33:43 -03:00
flow
9a07ede615
fix: filter out opted-out mods in mod downloader
...
Maintains Pre-Updater behaviour
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:43 -03:00
flow
1709b47bb7
fix: don't double add mods in mod downloader/updater
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:42 -03:00
flow
2d10c246a8
feat: add update mods to the ui / mod model
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:42 -03:00
flow
6e2869834f
feat: add mod update dialog
...
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>
2022-07-17 11:33:42 -03:00
flow
dd6aabf9ab
feat: add ChooseProviderDialog
...
Allows you to prompt the user for choosing a (mod) provider. This should
be fairly independent of the mod updater logic, so it can be used for
other ends later down the road :^)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:41 -03:00
flow
032ceefa1d
feat: add some helping methods to WideBar
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-17 11:33:41 -03:00
kumquat-ir
6a1d611fd1
Restore ScrollMessageBox
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-17 02:40:27 -04:00
kumquat-ir
33e34ebb83
Add "Open All" button to blocked mods dialog
...
Signed-off-by: kumquat-ir <66188216+kumquat-ir@users.noreply.github.com>
2022-07-16 19:14:54 -04:00
Gingeh
4dfc01899a
Make skin upload optional
...
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
2022-07-15 12:23:11 +10:00
Sefa Eyeoglu
8f4d7ac655
Merge pull request #678 from Scrumplex/improvements-around-proprietary-services
2022-07-11 14:56:09 +02:00
Sefa Eyeoglu
b3b76d5d56
Merge branch 'develop' into feature/sparkle-mac
...
# Conflicts:
# .github/workflows/build.yml
2022-07-10 19:38:30 +02:00
Sefa Eyeoglu
eb33a87ff5
fix: remove TODOs
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 18:11:13 +02:00
Jamie Mansfield
bf560f4594
ATLauncher: Move the UI support implementation into it's own class
...
This will allow it to be used in multiple locations.
2022-07-10 11:27:42 +01:00
Sefa Eyeoglu
3b4539de79
chore: update license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:15 +02:00
Sefa Eyeoglu
15c5bbcf22
fix: fix slots for Qt 6
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:15 +02:00
Sefa Eyeoglu
c363423718
refactor: fix deprecation up to Qt 6
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:19:15 +02:00
Sefa Eyeoglu
ff2cd50bfa
refactor: replace QRegExp with QRegularExpression
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:17:52 +02:00
Sefa Eyeoglu
984692dc62
refactor: fix deprecation up to Qt 5.15
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-10 12:17:52 +02:00
dada513
3b187b5246
Merge pull request #876 from Scrumplex/revert-updater-stuff
...
Revert "fix: remove updater if it is not used"
2022-07-10 10:50:03 +02:00
flow
35a698ef72
Merge pull request #884 from jopejoe1/ftbuifixed
...
Updated FTB Classic layout
2022-07-08 16:19:14 -03:00
Sefa Eyeoglu
08989bde5e
Merge pull request #839 from flowln/modrinth_packs_bug_hunt
2022-07-08 16:25:35 +02:00
Sefa Eyeoglu
87cbff391c
fix: disable MSA login if it is NOT supported
...
Co-authored-by: flow <flowlnlnln@gmail.com>
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
Sefa Eyeoglu
962923bbce
chore: add missing license headers
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
Sefa Eyeoglu
311b081e60
feat: add validation for Flame key and MSA client ID
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
Sefa Eyeoglu
4103948132
feat: track capabilities of application
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
Sefa Eyeoglu
906f26698b
fix: spelling of CF
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
Sefa Eyeoglu
8a1a583afe
refactor: rename references to CurseForge to Flame
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-08 16:25:03 +02:00
jopejoe1
9e19b73ce6
Updated FTB Classic layout
...
Signed-off-by: jopejoe1 <johannes@joens.email>
2022-07-07 23:18:13 +02:00
Sefa Eyeoglu
e210a4b244
Revert "fix: remove updater if it is not used"
...
This reverts commit 2ff0aa09e3
.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-06 18:13:51 +02:00
Sefa Eyeoglu
f1902a4471
Merge pull request #794 from Scrumplex/resolve-jars-dynamically
2022-07-06 17:40:09 +02:00
Sefa Eyeoglu
04b865adae
Merge pull request #707 from Jan200101/PR/gamemode
...
Add Performance related settings
2022-07-06 17:11:43 +02:00
Jan200101
cad581388f
Add Performance related settings
...
Integrates support for Feral Gamemode, discrete GPU support for Mesa and the proprietary Nvidia driver and MangoHud support
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
2022-07-06 09:34:14 +02:00
flow
e5f6dc1b14
fix: aborts when using a Qt build with assertions enabled
...
Preventing undefined behaviour hooray! :D
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:44:19 -03:00
flow
145da82cd8
fix: show invalid version even when there's none
...
Having a blank instead of _anything_ is bad UX. Instead, even when
there's not a valid version (most likely disabled redistribution), we
show a message in the UI, to differentiate from the loading state.
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:05 -03:00
flow
64776d6bac
feat+fix: cache Flame modpack versions
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:05 -03:00
flow
64d123f524
fix: use better naming for Modrinth pack versions
...
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:04 -03:00
flow
0ec4ade683
feat+fix: cache versions and extra info in Modrinth packs
...
When you change a copy thinking you're changing the original data smh
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:04 -03:00
flow
4232b1cedb
fix: don't use uniform sizes in Modrinth modpack viewer
...
Apparently, when Qt sees an icon with the height smaller than the rest,
with this option set, it will change the height of all other items to be
that one, causing #828 .
While we do lose some performance changing this option, the issue is
gone, so :|
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-03 12:43:00 -03:00
Sefa Eyeoglu
474d77ac57
feat: resolve JARs dynamically
...
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-03 17:31:01 +02:00
Sefa Eyeoglu
278d2169da
fix: initialize accountIsOnline to fix build
...
CMAKE_BUILD_TYPE=Release makes the build fail otherwise.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-07-03 14:32:31 +02:00
Sefa Eyeoglu
5599b5a337
Merge pull request #855 from Gingeh/account-list
2022-07-03 12:55:36 +02:00
Ezekiel Smith
7aba7b6064
Merge pull request #818 from flowln/tiny_mod_icons
...
Always scale mod icons to the right size
2022-07-03 01:49:09 +10:00
timoreo
fe2e1d931f
Merge pull request #786 from flowln/concurrent_tasks_slimmed
2022-07-01 20:09:18 +02:00
timoreo
2e17e78052
Merge pull request #845 from flowln/news_in_launcher
2022-07-01 20:04:06 +02:00
flow
02201631e7
feat: use ConcurrentTask for mod downloads
...
Way faster :)
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-07-01 08:34:17 -03:00
Sefa Eyeoglu
63dfc0633f
Merge pull request #652 from flowln/mod_page
2022-07-01 10:00:36 +02:00
Gingeh
dbb63b97bd
Merge branch 'PolyMC:develop' into account-list
2022-07-01 10:43:41 +10:00
flow
5f951e8f21
change: better regex for removing 'The' when sorting mods
...
Teh :|
Co-authored-by: timoreo22 <timo.oreo34@gmail.com>
2022-06-30 07:04:47 -03:00
Sefa Eyeoglu
286f82cc99
Merge pull request #826 from kthchew/fix/kill-menubar
2022-06-30 11:50:43 +02:00
timoreo22
ed5415aeb8
Merge pull request #837 from DioEgizio/fix-sort-mr
2022-06-30 08:24:51 +02:00
Gingeh
bef79df6bb
Disable the refresh button for offline accounts
2022-06-30 09:08:53 +10:00
Gingeh
d6f4ff26b5
Disable skin buttons for offline accounts
2022-06-29 18:46:39 +10:00
Gingeh
b606a2e040
Make the profile and account name columns use all available space
2022-06-29 18:45:36 +10:00
Ezekiel Smith
774ed044fc
Merge pull request #827 from kthchew/fix/menubar-separator
...
Workaround Qt bug to fix menu bar separators on macOS
2022-06-27 01:14:15 +10:00
Ezekiel Smith
9cc235cde0
Merge pull request #811 from jn64/fix/window-title
...
Fix duplicate name in window title
2022-06-27 01:13:58 +10:00
flow
9ef38171e2
fix: use clicked
instead of pressed
signal for button clicks
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-06-26 08:10:52 -03:00
flow
455e4de6f3
feat: add news reader dialog
...
Makes it easier to read about new blog posts! Yay :D
2022-06-25 20:15:16 -03:00
DioEgizio
04e8780dd0
fix(modrinth): fix sorting
2022-06-24 10:47:02 +02:00
DioEgizio
0fe4384067
Update launcher/ui/pages/modplatform/flame/FlamePage.ui
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-06-23 17:58:54 +02:00
DioEgizio
bdfcd0b99e
chore(flame): reword warning
2022-06-23 17:06:49 +02:00
Kenneth Chew
c31fce3621
Workaround Qt bug to fix menu bar separators on macOS
2022-06-22 00:34:04 -04:00
Kenneth Chew
5c05cf2206
Disable launch actions in menu bar when last instance is deleted
...
This caused a crash when the action was selected!
2022-06-21 19:19:55 -04:00
Kenneth Chew
d4e544c62c
Separate the kill and launch instance actions
2022-06-21 19:19:55 -04:00
flow
a135c06bcf
fix: scale mod icons to the right size
2022-06-21 06:41:56 -03:00
jn64
fa6829a6a1
Set beam cursor on selectable labels
2022-06-20 14:28:38 +08:00
jn64
5335540c33
Rename main window
2022-06-20 13:45:36 +08:00
jn64
0afa2e92d5
Make GitHub link focusable by keyboard
2022-06-18 22:20:38 +08:00
jn64
6d1b166ad7
Make labels selectable
...
User can copy version/build info easily.
2022-06-18 22:19:23 +08:00
Ezekiel Smith
3e8d450741
Merge pull request #665 from jamierocks/h-managed-packs
...
PackPlatforms: Record where packs come from
2022-06-14 23:54:44 +10:00
Ezekiel Smith
27239b2dde
Merge pull request #634 from flowln/donate_links
...
More links for CF / Modrinth mods / modpacks
2022-06-14 23:52:00 +10:00
Sefa Eyeoglu
e25cdd9d12
refector: move download action to ExternalResourcesPage
2022-06-14 07:04:31 -03:00
flow
d394235ee0
refactor: Create a more clear hierarchy for some instance pages
...
Previously, the Shaders, Texture packs and Resource packs tabs had as
parent the ModFolderPage, making it so that making changes only to the
Mods page would require checking the id of the page for the correct one.
This was hackish and error-prone.
Now, those pages all inherit from a single class, ExternalResourcesPage,
that handles the basic behaviour of all of them, while allowing for
individual modification in code.
This is still not a clear separation, since internally, all those
resources are derived from Mods, so for now there's still some awkward
common code :/
2022-06-14 07:04:31 -03:00
Sefa Eyeoglu
a4ef0940ed
chore: add license headers
2022-06-12 13:50:58 +02:00
Sefa Eyeoglu
2ff0aa09e3
fix: remove updater if it is not used
2022-06-12 13:39:47 +02:00
Sefa Eyeoglu
8856c8cd62
refactor(test): fix loading mod metadata setting
2022-06-12 13:33:17 +02:00
dada513
2bd8e7dca4
Merge pull request #780 from flowln/guo_ext_2
2022-06-11 19:45:51 +02:00
dada513
d75571ffa1
Merge pull request #773 from vancez/fix-launch-button
2022-06-11 19:41:02 +02:00
dada513
2ee4b6768d
Merge pull request #770 from flowln/technic_links
2022-06-11 19:34:59 +02:00
Sefa Eyeoglu
81daffe68e
fix: remove file filter from translation
2022-06-11 14:10:42 +02:00
flow
2ea20a8b29
fix: allow discovering mrpacks in languages without dot
2022-06-11 07:12:59 -03:00
Sefa Eyeoglu
2257c875f5
Merge pull request #708 from ryanccn/custom-user-agent
2022-06-11 10:53:58 +02:00
Vance
fa5b1d9978
change slot name
2022-06-10 15:48:18 +08:00
Vance
4a261cac1a
fix: update toolbar when instance state changes
2022-06-10 10:25:13 +08:00
flow
1b1f728c58
fix: allow opening external links in technic modpack page
2022-06-09 18:46:19 -03:00
Sefa Eyeoglu
7a3acc3249
refactor(ui): use tabs for APIPage
2022-06-04 22:04:36 +02:00
Ryan Cao
4cecba8787
make $LAUNCHER_VER actually work
2022-06-04 22:59:57 +08:00
Ryan Cao
5930acc418
change UI to scroll
...
let me just say, this does not look right
2022-06-04 22:54:05 +08:00
Sefa Eyeoglu
1ab00ca8b2
Merge pull request #426 from flowln/mod_perma
...
Add on-disk mod metadata information
2022-06-04 13:23:38 +02:00
Ryan Cao
25ab121e42
feat: custom user-agent
2022-06-04 15:33:17 +08:00
Sefa Eyeoglu
9054ee18a1
Merge pull request #505 from flowln/improve_download_ux
2022-05-30 13:41:02 +02:00
Sefa Eyeoglu
adf1e1982a
fix: remove unnecessary translation ( #674 )
2022-05-29 16:14:01 +02:00
Sefa Eyeoglu
f5405e835e
Merge pull request #624 from ryanccn/global-jvm-args
...
Make global JVM arguments multi-line
2022-05-29 16:10:55 +02:00
Ryan Cao
20832682ef
Update launcher/ui/pages/global/JavaPage.cpp
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-05-29 20:35:57 +08:00
Sefa Eyeoglu
8e6c592ad9
fix: add version to Legacy FTB packs
2022-05-29 14:28:54 +02:00
Ryan Cao
d4c1d62781
Update launcher/ui/pages/global/JavaPage.cpp
...
Co-authored-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2022-05-29 12:15:20 +08:00
Jamie Mansfield
febdb85f96
ModpacksCH: Use ModpacksCH rather than FTB in error messages
2022-05-29 00:04:28 +01:00
Jamie Mansfield
a98b6663e1
ATLauncher: Pass the full pack name through to the install task
2022-05-29 00:04:27 +01:00
timoreo22
699ad316f0
Rework curseforge download ( #611 )
...
* Use the bulk endpoint on mod resolution for faster download
* Search on modrinth for api blocked mods
* Display a dialog for manually downloading blocked mods
2022-05-28 21:53:12 +02:00
Ryan Cao
2be8100e7c
Merge branch 'develop' into global-jvm-args
2022-05-28 21:15:00 +08:00
Sefa Eyeoglu
6fb5bb6a5e
fix: fix mnemonics in APIPage
2022-05-27 14:50:06 +02:00
Ryan Cao
e50ec31351
fix
2022-05-25 14:44:47 +08:00
Ryan Cao
8a1ba03bcb
show default metaserver
2022-05-25 11:46:15 +08:00
flow
e644380160
feat: add links to curseforge modpacks
2022-05-24 12:27:32 -03:00
flow
ae2ef324f2
feat: add remaining links to modrinth mods
2022-05-24 11:58:11 -03:00
flow
d0337da8ea
feat: add remaining links to modrinth modpacks
2022-05-24 11:52:27 -03:00
flow
5e17d53c7f
fix: missing tr() and update donate message
2022-05-24 11:11:40 -03:00
flow
22e0527502
feat: add donate info to modrinth modpacks
2022-05-24 09:46:58 -03:00
flow
ca3c6c5e8a
feat: add donate links for modrinth mods
2022-05-24 09:38:48 -03:00
flow
e17b6804a7
fix: implement PR suggestions
...
Some stylistic changes, and get hashes from the mod providers when
building the metadata.
2022-05-23 14:43:09 -03:00
flow
4439666e67
feat: allow disabling mod metadata usage
2022-05-23 14:42:28 -03:00
flow
e9fb566c07
refactor: remove unused mod info and organize some stuff
2022-05-23 14:42:27 -03:00
flow
c86c719e1a
feat: add mod index updating to ModDownloadTask
...
This makes ModDownloadTask into a SequentialTask with 2 subtasks:
Downloading the mod files and updating the index with the new
information.
The index updating is done first so that, in the future, we
can prompt the user before download if, for instance, we discover
there's another version already installed.
2022-05-23 14:42:27 -03:00
Ryan Cao
6d0ea13f97
make JVM args PlainTextEdit
2022-05-23 16:52:12 +08:00
flow
ac4497a1f2
Merge pull request #605 from jamierocks/h-atl-improv
...
ATLauncher: Various work to improve the platform support
2022-05-22 20:09:13 -03:00
Sefa Eyeoglu
f2e2053134
feat: add trailing slash to meta URL if it is missing
2022-05-22 21:36:31 +02:00
Sefa Eyeoglu
b181f4bc30
fix: improve spacing in APIPage
2022-05-22 21:36:30 +02:00
dada513
f00dbdc215
Make Metaserver changable in settings
...
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Co-authored-by: flow <flowlnlnln@gmail.com>
2022-05-22 21:35:20 +02:00
Sefa Eyeoglu
7d91db607f
Merge pull request #554 from PolyMC/more_paste_services
2022-05-22 20:49:11 +02:00
Sefa Eyeoglu
b191291737
Merge pull request #577 from PolyMC/fix/toolbar_ 🦀 _fix
2022-05-22 18:11:00 +02:00
Sefa Eyeoglu
29ef1e2c4b
Merge pull request #597 from Scrumplex/refactor-modloader-modapi
2022-05-22 13:17:53 +02:00
Lenny McLennington
e2ad3b0183
Add migration wizard, fix migration from custom paste instance
...
- Very basic wizard just to allow the user to choose whether to keep
their old paste settings or use the new default settings.
- People who used custom 0x0 instances would just be kept on those
settings and won't see the wizard.
2022-05-21 17:30:19 +01:00