Commit Graph

555 Commits

Author SHA1 Message Date
Kenneth Chew
75fddd0052
Create menubar prototype
Some stuff still needs to be fixed:

- The close window option always closes the main window, even if it is not the currently active window (only applicable on systems with native menu bar)
- None of the (text) editing actions are enabled
- Actions related to instances should only be active when an instance is selected
- The open wiki option ("PolyMC Help") needs to be implemented
- Delete instance keyboard shortcut does not seem to work on my system. Test further
- It would be nice if the profiles menu had all of the logged in accounts, and if they could be selected from that menu (preferably with keyboard shortcuts, probably Ctrl + 1, Ctrl + 2, ...)
2022-04-08 15:39:30 -04:00
dada513
8a2c5f5b0d
Merge pull request #407 from DioEgizio/upstream-cherrypick 2022-04-08 16:18:28 +02:00
DioEgizio
66caac0bbc
Update launcher/JavaCommon.cpp
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-04-08 11:16:00 +02:00
DioEgizio
3024dbcf2c
Apply suggestion
Co-authored-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
2022-04-08 08:50:32 +02:00
flow
eeae3eca67
test: add new test to Task test
Also adds one more check to setStatus test
2022-04-07 19:42:26 -03:00
flow
d0cda6d605
test: add basic Task unit test
Only only two tests for now. We can iterate on this later :^)

This is to try to avoid breaking things again!
2022-04-07 19:08:01 -03:00
flow
167e32a69f
fix: allow aborting CF modpack importing 2022-04-07 18:56:34 -03:00
flow
be2512bb4b
fix: issue with status of non-sequencial tasks 2022-04-07 18:41:32 -03:00
Sefa Eyeoglu
35cfb41a9c
fix: check for Quilt as Fabric-compatible loader 2022-04-07 18:46:09 +02:00
Sefa Eyeoglu
74cdf5350d
fix: restrict quilt-mappings versions to MC version 2022-04-07 18:46:00 +02:00
Sefa Eyeoglu
9349232bd4
refactor: dynamically get best version for intermediary mappings 2022-04-07 18:46:00 +02:00
Vladislav Laetansky
1811302deb NOISSUE save custom offline player name 2022-04-07 18:29:15 +02:00
Petr Mrázek
e6564aa69f NOISSUE fix error string for Xbox authorization failures 2022-04-07 18:29:10 +02:00
Petr Mrázek
566a83b245 NOISSUE prevent -version being passed to the JRE
We want specific JREs, always, not something that is magically resolved.
This counteracts some really bad advice recently being spread on reddit.
2022-04-07 18:28:27 +02:00
Sefa Eyeoglu
9eb9ddc668
feat: initial Quilt support 2022-04-07 18:11:40 +02:00
Ezekiel Smith
cc5261051f
Merge pull request #364 from Scrumplex/fix-i18n2
Fix translatable strings 2
2022-04-07 23:20:54 +10:00
Sefa Eyeoglu
fa870bc026
Merge pull request #380 from flowln/task-progress 2022-04-06 10:52:38 +02:00
Sefa Eyeoglu
99d569ed0e
Merge pull request #384 from jamierocks/technic-improvements 2022-04-06 10:52:27 +02:00
Sefa Eyeoglu
a1a7b9c151
Merge pull request #397 from DioEgizio/manymc-detect-aarch64 2022-04-06 10:52:15 +02:00
Una
dc6340bf38
Allow components to specify Java agents and JVM arguments (#175) 2022-04-06 08:22:24 +02:00
dada513
8732bea99b
Merge pull request #395 from HarryPeach/develop 2022-04-05 18:01:00 +02:00
Sefa Eyeoglu
5fb096d7b9
Merge pull request #345 from Scrumplex/handle-incompatible-java 2022-04-04 21:01:49 +02:00
Victor
cf8680f1ab fix: properly detect arm64 2022-04-04 16:41:23 +02:00
Harry Peach
bd8b61651a
Check for empty slug before setting pack url 2022-04-03 23:12:46 +01:00
Ezekiel Smith
d33d5b847d
Merge pull request #387 from Scrumplex/fix-world-size
fix: calculate world sizes individually
2022-04-03 20:45:23 +10:00
Jamie Mansfield
b6e722a048
BuildConfig: Make Technic API base URL and build constants 2022-04-02 13:53:44 +01:00
Jamie Mansfield
7f2615b2a5
Technic: Verify checksums for pack build mods 2022-04-02 13:53:44 +01:00
Jamie Mansfield
a232c2d509
Technic: Display available versions for Solder packs 2022-04-02 13:53:44 +01:00
Jamie Mansfield
c8205fda9f
Technic: Replace inline parsing code with API models 2022-04-02 13:53:44 +01:00
Jamie Mansfield
8df88e7fbb
Technic: Add API models for Solder packs 2022-04-02 13:53:44 +01:00
Jamie Mansfield
c8092269ba
Technic: Match CurseForge pack description format 2022-04-02 13:53:44 +01:00
Jamie Mansfield
9d88f07955
Technic: Include the modpack version in instance title 2022-04-02 13:53:43 +01:00
Jamie Mansfield
f267375ac2
Technic: Prevent potential HTML injection 2022-04-02 13:53:43 +01:00
Jamie Mansfield
d44fa416ca
Technic: Allow pack API urls to be used in search
This mimics the behaviour that the Technic launcher has, and their
website displays API URLs for.

The big benefit of this, is to be able to install private packs now :)
2022-04-02 13:53:43 +01:00
Sefa Eyeoglu
41d7b27d43
fix: calculate world sizes individually 2022-04-02 13:29:37 +02:00
Sefa Eyeoglu
333f7cc320
Merge pull request #373 from Scrumplex/feat-world-size 2022-04-02 00:59:15 +02:00
Sefa Eyeoglu
9180c751d8
fix(launch/VerifyJava): reword log output 2022-04-02 00:54:48 +02:00
Sefa Eyeoglu
e8697068fb
fix: codestyle 2022-04-01 15:00:05 +02:00
Ezekiel Smith
269c1bbf58
Merge pull request #370 from embeddedt/develop
Make launcher icon grayscale for pe_light theme
2022-04-01 22:58:54 +10:00
flow
9b8493c304
feat: Use a single progress dialog when doing multiple tasks
This puts all mod downloading tasks inside a SequentialTask, which is,
for more than one task, a multi step task. This is handled by the
ProgressDialog by showing both the global progress of tasks executed,
and the individual progress of each of them.
2022-04-01 09:32:00 -03:00
Sefa Eyeoglu
c389a711ed
fix: remove redundant include 2022-04-01 13:14:04 +02:00
Ezekiel Smith
382548e0a7
Merge pull request #355 from dada513/flatpak_properly
Fix flatpak properly
2022-04-01 21:03:14 +10:00
dada513
48a6380e31
Fix modrinth usable URL in mod downloader 2022-03-31 20:39:10 +02:00
Sefa Eyeoglu
64ca96f470
feat: track and display world size 2022-03-31 18:45:17 +02:00
dada513
59b3e30821
Scrumplex moment 2022-03-31 16:11:04 +02:00
embeddedt
92e5e0e95b
Make launcher icon grayscale for pe_light theme 2022-03-30 10:51:37 -04:00
Sefa Eyeoglu
9202996c62
fix(i18n): remove brand names from translations 2022-03-29 15:25:21 +02:00
Sefa Eyeoglu
e22d54abd3
Merge pull request #344 from oynqr/build/allow-disabling-tests 2022-03-29 14:42:49 +02:00
dada513
b53ba12fa2
Merge pull request #360 from FayneAldan/patch-2 2022-03-29 14:34:14 +02:00
Sefa Eyeoglu
306df9e17f
Merge pull request #352 from Scrumplex/fix-name
Update Credits and Branding
2022-03-29 11:24:48 +02:00
Sefa Eyeoglu
5f2e768376
Merge pull request #356 from flowln/version_optimize
Improve mod versions request to Modrinth
2022-03-29 11:24:12 +02:00
Fayne Aldan
4d8bf0b621
Convert \s in Windows POLYMC_JAVA_PATHS
Allows you to use either `\` or `/` on Windows
2022-03-28 15:55:54 -06:00
dada513
341eb16a4c
Merge branch 'develop' of https://github.com/PolyMC/PolyMC into flatpak_properly 2022-03-28 20:55:06 +02:00
dada513
3a7eeff135
Fix 2022-03-28 20:55:03 +02:00
Fayne Aldan
659f93b1de
Fix POLYMC_JAVA_PATHS env not working on Windows 2022-03-27 17:21:34 -06:00
Sefa Eyeoglu
ea60e48d9d
chore: add license header
chore: add license header
2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
6054abaffb
fix(credits): wrap UTF-8 text with QString 2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
3a1feed723
fix: update credits 2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
85f3fc9944
fix: remove "PolyMC" from strings 2022-03-27 20:59:51 +02:00
Sefa Eyeoglu
87cf38a377
Merge pull request #341 from dada513/develop 2022-03-27 20:56:04 +02:00
dada513
424f4a72ff
Inform user about possible issues when using a Portal as instance folder 2022-03-27 16:08:11 +02:00
dada513
ec6409914d
newline more like waste 2022-03-27 14:51:48 +02:00
dada513
6a25cacc3e
Merge branch 'develop' of https://github.com/PolyMC/PolyMC into develop 2022-03-27 14:51:02 +02:00
dada513
b1af689546
Add quit launcher after game stops option (Steam Deck)
lecense
2022-03-27 14:50:47 +02:00
dada513
0a5dfeb3d7
fix newline (scrumplex nitpick not allowed) 2022-03-27 14:44:40 +02:00
dada513
6a180f495f
more flatpak fixes 2022-03-27 14:42:02 +02:00
dada513
3672dbc5af
Fix flatpak properly 2022-03-27 12:43:49 +02:00
flow
d00c320c00
optimize: Improve mod versions request to Modrinth
This uses more arguments in the GET request for mod versions on the
Modrinth API, filtering what versions can be returned, decreasing load
on Modrinth servers and improving a little the time it takes for the versions to be
available to the user.

This also removes the now unneeded check on correct modloaders in
ModrinthPackIndex, since it is now filtered by the Modrinth server.

Lastly, this adds a couple of helper functions in ModModel.
2022-03-24 19:31:11 -03:00
flow
e13ca94061
chore: resolve conflicts and merge upstream 2022-03-24 18:24:51 -03:00
Sefa Eyeoglu
e02369ba6b
chore: add license header 2022-03-24 16:10:43 +01:00
Sefa Eyeoglu
82c35f2746
feat: block launch if Java is incompatible
Keep track of compatible Java versions from meta. Launch-step
VerifyJavaInstall will check if current instance's Java version is
compatible.
Also add override option both globally and per-instance in-case the user
doesn't care about the requirement.
2022-03-24 16:10:39 +01:00
Philipp David
a89cbf116d
Allow disabling building of tests 2022-03-23 19:48:03 +01:00
flow
f3a244e90a
fix: fix skipping one on file counting in mod version parse 2022-03-22 19:45:31 -03:00
Sefa Eyeoglu
64399dd8d6
Merge pull request #322 from oynqr/build/static-rainbow
Build with static rainbow
2022-03-21 16:58:37 +01:00
Sefa Eyeoglu
062fc79286
Merge pull request #298 from Scrumplex/fix-i18n
Fix translatable strings
2022-03-21 14:21:06 +01:00
Ezekiel Smith
2da565f5d4
Merge pull request #323 from Scrumplex/retranslate-pages
Retranslate all settings pages
2022-03-22 00:06:16 +11:00
Philipp David
e8373bbf65
Build with static rainbow 2022-03-21 12:47:42 +01:00
Philipp David
26acc836d9
Revert "fix: use our own prefix for rainbow lib"
This reverts commit 61db1c46be.
2022-03-21 09:40:20 +01:00
Ezekiel Smith
9c22af9685
Merge pull request #315 from txtsd/display_scaling
Allow fractional DPI scaling
2022-03-21 11:21:21 +11:00
Sefa Eyeoglu
75d0078a38
fix: retranslate CustomCommands 2022-03-20 21:51:36 +01:00
Sefa Eyeoglu
536b1a23fc
fix: retranslate mod download pages 2022-03-20 21:51:23 +01:00
Sefa Eyeoglu
cafff5e504
chore: add license header 2022-03-20 21:40:49 +01:00
Jamie Mansfield
dd5c4b6864
App: Retranslate all pages when the language is changed 2022-03-20 20:48:12 +01:00
Jamie Mansfield
a2c85a8531
App: Retranslate page header titles
This fixes a bug that is only practically effects the title of the
language page not updating the header when changing the language.
2022-03-20 20:02:21 +01:00
txtsd
de4d757650
Merge pull request #311 from DioEgizio/patch-2
fix webp
2022-03-20 22:20:02 +05:30
Sefa Eyeoglu
702a1da0ac
fix: disable "Install Forge" button when needed 2022-03-20 15:35:35 +01:00
Sefa Eyeoglu
768007d980
fix: disable "Download mods" button when needed
Fixes #271
2022-03-20 15:34:13 +01:00
txtsd
2e40ab6244
(fix): Allow fractional DPI scaling 2022-03-20 20:02:24 +05:30
Ezekiel Smith
8bc6cdf55c
Merge pull request #306 from Scrumplex/limit-instance-lengths
Limit instance names to 128 chars
2022-03-21 01:04:40 +11:00
DioEgizio
6c0b101fed
Merge branch 'PolyMC:develop' into patch-2 2022-03-20 15:02:04 +01:00
Sefa Eyeoglu
c8fec556c0
Merge pull request #305 from flowln/gui_changes 2022-03-20 13:39:12 +01:00
DioEgizio
b7f2959353
fix 2022-03-20 13:15:56 +01:00
Sefa Eyeoglu
4899d3c458
Merge pull request #200 from Scrumplex/scrumplex-license-header 2022-03-20 12:04:39 +01:00
Sefa Eyeoglu
c311dba465
fix: limit instance names to 128 chars 2022-03-19 23:23:08 +01:00
flow
75ec4256e2
feat(ui): allow users to move toolbars to different places 2022-03-19 17:59:00 -03:00
DioEgizio
bb5a91c179
Update CMakeLists.txt 2022-03-19 19:01:51 +01:00
Sefa Eyeoglu
8225f1ac92
Merge pull request #292 from lack/offline_username_limits
Limit offline username to 16 characters with override
2022-03-19 16:02:28 +01:00
Jim Ramsay
90780818ca Limit offline username to 16 characters with override
Offline usernames longer than 16 characters won't be able to connect to
LAN games or offline-mode servers, so just don't let it happen.

Add a checkbox to allow people to unrestrict usernames if they want.

Signed-off-by: Jim Ramsay <i.am@jimramsay.com>
2022-03-19 10:12:07 -04:00
Sefa Eyeoglu
a160bd0062
chore: add license header to files I modified 2022-03-19 12:46:56 +01:00
Sefa Eyeoglu
7e0312493b
fix(i18n): improve social platform actions 2022-03-19 12:36:04 +01:00
Sefa Eyeoglu
ccfd06ad21
fix(i18n): remove brand names from translations 2022-03-19 12:35:15 +01:00
Sefa Eyeoglu
48c2146a42
fix(i18n): fix translatable strings 2022-03-19 12:29:46 +01:00
Ezekiel Smith
abb9fa8cbd
Merge pull request #296 from flowln/right_file
Use primary file for mod downloading on Modrinth
2022-03-19 11:41:36 +11:00
flow
ec66c8fd3d
fix(ui): remove paste.polymc.org 2022-03-18 14:21:42 -03:00
flow
fa5fa53592
fix: Use primary file for mod download on Modrinth 2022-03-18 10:52:47 -03:00
flow
da43ed8ce1 fix silly mistakes and merge upstream 2022-03-18 07:54:47 -03:00
Sefa Eyeoglu
aedb513c9e
Merge pull request #265 from Scrumplex/fix-javacheck-appimage
Define JARs path relative to application root
2022-03-14 23:31:38 +01:00
flow
8409aa2571
tidy: Fix clang-tidy issues on files changed in this PR
The checks used are roughly the same as the ones proposed in the
clang-tidy PR (except perhaps that I used modernize-* instead of listing
them individually,though I don't think this caused any readability
detriments).

In ModrinthModel.cpp and FlameModModel.cpp I ignored the
modernize-avoid-c-arrays one, mostly because making the sorts array an
std::array would most likely increase the code complexity because of the
virtual function. Aside from that, the static_cast warning from
Application.h was not dealt with, since it's not in this PR's scope.
2022-03-14 17:43:36 -03:00
Ezekiel Smith
5b8003cbe5
Merge pull request #188 from PolyMC/removal/notifications
remove notifications
2022-03-15 00:51:28 +11:00
flow
f1e44291cc
add translation string 2022-03-13 13:11:35 -03:00
flow
b3b613d8b4
feat(ui): make a better "Mod download confirmation dialog" 2022-03-13 11:50:18 -03:00
Sefa Eyeoglu
bb2b344d33
fix: define jars path relative to application root
Fixes #117
2022-03-13 12:48:24 +01:00
flow
a3d7ad731d
fix missing translation strings
my mistake, sorry! ToT
2022-03-11 18:43:17 -03:00
Ezekiel Smith
07e4c4d189
Merge pull request #242 from deadmeu/develop
Fix missing space in "No Accounts" message
2022-03-11 14:53:05 +11:00
dada513
d814e21f0d
add matrix button 2022-03-08 18:41:23 +01:00
deadmeu
49d122a2c4 Fix missing space in "No Accounts" message 2022-03-08 23:24:11 +10:00
flow
b3c2a56ece
fix: delete semicolons at the end of .cpp file's functions
my lsp is weird sometimes
2022-03-07 19:55:20 -03:00
flow
9c57b54a81
refactor: move things around so that related things are close together
This also adds some comments around ModModel.cpp and ModPage.cpp to add
some ease of reading the code.

Also move some things from headers to cpp files.
2022-03-07 19:32:28 -03:00
flow
b131d3b2ec
refactor: move more common code to base class
Also removes unused imports and organize the ModModel header
2022-03-07 18:28:24 -03:00
flow
16bfafa29e
refactor: de-duplicate common code in network mod APIs 2022-03-07 17:45:28 -03:00
flow
f714adf6d2
refactor: move NetJob away from ModModel to ModAPI
This is done so that 1. ModAPI behaves more like an actual API instead
of just a helper, and 2. Allows for more easily creating other mod
providers that may or may not use network tasks (foreshadowing lol)
2022-03-07 16:22:57 -03:00
Ezekiel Smith
dc9e250868
Merge pull request #232 from Scrumplex/fix-help-links
Switch to polymc.org wiki
2022-03-08 01:22:34 +11:00
Ezekiel Smith
b6cf0359fa
Merge pull request #230 from Scrumplex/fix-iconthemes
Reorganize icon themes
2022-03-08 01:20:35 +11:00
flow
39bd04f06f
refactor: use Enum instead of raw int for ModLoaderType 2022-03-06 16:45:39 -03:00
flow
d755174bee
clarify some method names and comments 2022-03-06 16:04:24 -03:00
flow
1229e90817
merge upstream 2022-03-06 15:28:18 -03:00
flow
5a638fa977
refactor: move "get versions" task from page to model
This seems more reasonable
2022-03-06 15:23:00 -03:00
flow
5e9d49a910
refactor: use only a single unique_ptr for the api 2022-03-06 13:54:55 -03:00
Sefa Eyeoglu
6545d250e8
refactor: move help URL into buildconfig 2022-03-06 11:31:50 +01:00
Sefa Eyeoglu
b162351ff4
fix: switch to polymc.org wiki 2022-03-05 21:49:13 +01:00
Sefa Eyeoglu
3697d70b48
fix: reorganize icon themes
Rename MultiMC to Legacy
Simple (Colored) is now the first icon theme
Custom is now the last icon theme, which also fixes a loading issue when
Legacy was selected
Fix loading of Legacy theme
2022-03-05 20:29:54 +01:00
flow
e0c025b162
fix extra spacing in resource packs and shader packs, and move button up
hopefully now its finally ok
2022-03-03 09:51:46 -03:00
flow
9e443faba3
hack: hide 'Download Mods' button when not in the mods tab 2022-03-03 04:02:22 -03:00
flow
f95cebaf06
change 'Install Mods' -> 'Download Mods' and change position 2022-03-03 01:10:10 -03:00
flow
9a8599e4ba
fix windows compilation 2022-03-03 00:06:37 -03:00
flow
2d68308d49
refactor: move url creation for mods to modplatform/
Moves all things related to creating the URLs of the mod platforms
that go to network tasks to a single place, so that:

1. Maintaining and fixing eventual issues is more straightforward.
2. Makes it possible to factor out more common code between the
   different modplatform pages
2022-03-02 23:13:04 -03:00
flow
0dd1c26cf3
refactor: extract common code in mod pages and model
This creates a hierarchy in which ModPage and ModModel are the parents
of every mod provider, providing the basic functionality common to all
of them.

It also imposes a unique .ui file (they were already equal before, just
duplicated basically) on all mod providers.
2022-03-02 21:52:44 -03:00
flow
881b2f2b38
refactor: Use a single indexed pack for mods
Since there's little difference between them, let's remove duplication
and merge them.
2022-03-02 18:49:19 -03:00
timoreo22
8bdd2befe9
Merge pull request #205 from timoreo22/fix-version-select
Fixed wrong version info
2022-03-01 16:56:10 +01:00
Ezekiel Smith
e1f28be151
Merge pull request #163 from txtsd/windows_data_dir
Replace build layouts with Launcher_PORTABLE cmake flag
2022-03-02 00:03:31 +11:00
flow
4e8f075ff3
fix: Do not loop when its not a fabric mod on Flame version validation
Since there's no validation for forge mods since the start, we were just
looping with no porpuse in this situation.
2022-02-27 22:02:43 -03:00
flow
075d900d45
fix: Always tell Flame API which modloader we are using
Fixes #206 partially. Although we don't list mods that have no
compatibility with the mod loader we are using, mods that have support
for both loaders still show up, and the versions for both the loaders
are still shown.

Also simplifies a little the logic in
FlameModIndex::loadIndexedPackVersions
2022-02-27 16:07:45 -03:00
txtsd
5d1ca33b84
Apply suggestions from code review
Co-authored-by: LennyMcLennington <lenny@sneed.church>
2022-02-27 08:35:47 -08:00
timoreo
ccc493cb2b
Cleanly free NetJob in flame modpack 2022-02-27 13:14:12 +01:00
timoreo
2745325ae0
Fixed wrong version info 2022-02-27 11:55:24 +01:00
Sefa Eyeoglu
88fc1e32ee
Merge pull request #201 from Scrumplex/fix-instancetype-reregistration 2022-02-26 14:37:27 +01:00
Sefa Eyeoglu
c9bf7f9896
fix: load instances no matter their instance type 2022-02-26 00:31:37 +01:00
flow
c4f4e9e620 merge upstream and resolve conflicts 2022-02-25 13:43:27 -03:00
Ezekiel Smith
f2b850ad20
Merge pull request #183 from timoreo22/fix-versions-segfault
Fixed segfault in mod download
2022-02-26 01:55:11 +11:00
Ezekiel Smith
ccc27d1b7c
Merge pull request #192 from Scrumplex/refactor-remove-legacy-instances
Drop legacy instances
2022-02-26 01:54:15 +11:00