* Implement ViewModel for VanillaPacksTab using RxJava
Helps handle architecture in a better way.
Previous attempt using Kotlin caused numerous issues.
This is a rewrite of that, back into Java using RxJava.
There are a few issues with this commit.
A following commit will fix those.
* Fix broken loop in VanillaPacksTab
* Implement RxSwing into VanillaPacksViewModel
This fixes some computation issues with async.
Although, the only issue that remains is inconsistent version selection.
* Resolve selection mechanic issue in VanillaPacksTab
* Sort Quilt Before Fabric in VanillaPacksTab
Matching pattern with forge & legacy forge.
Newer -> Older, Left -> Right
* VanillaPacksViewModel: Fix quilt button being disabled on start
* VanillaPacksTab: Move quilt button to last
* VanillaPacksViewModel: Return empty instead of singleton for no loader
* VanillaPacksViewModel: Fix initial loaderType not being set
* VanillaPacksViewModel: Fix type column value
* VanillaPacksViewModel: Fix loader list accumulation
Caused by an improper Kotlin->Java conversion.
* VanillaPacksViewModel: Remove debug log from setName
* VanillaPacksTab: Fix text editing
This introduces cursor reset issues
* VanillaPacksTab: Fix text editing 2
* VanillaPacksTab: Fix quilt ordering
* PreservingCaretTextSetter: Fix out of bounds crashes
* VanillaPacksTab: Implement StatefulTextKeyAdapter for complex typing
I noticed that I could not use the arrow keys to select a range.
This fixes that.
* VanillaPacksTab: Expand StatefulTextKeyAdapter ignored keys
* VanillaPacksViewModel: Fix default field name/desc flashing
Essentially, two different threads were competing to set the values.
This commit solves the issue by relegating the task to the second task,
and then deduping the codebase.
* VanillaPacksViewModel: set loaderVersions to empty when none is selected
* Use double quotations instead of single in gradle
* Use register task syntax
* Use parenthesis instead of implied correlation
* Convert settings.gradle to kts
* Convert legacy-launcher build.gradle to kts
* Convert main build.gradle to kts
I dropped jitpack from plugins as upstream gettext
has all patches in. Also, because ben-manes versions does too.
* Organize build.gradle.kts
* Update CHANGELOG.md
* Rebase onto master
* Commmit-work
* Use Kotlin Flow instead of RXJava
I wanted to maintain the code as java as much as possible, but RXJava
is a pain to use. Now that it is in Kotlin, it is much nicer to
write.
* Update CHANGELOG
* Rename .java to .kt
* Rewrite VanillaPacksTab with Kotlin & ViewModel
* Add localization
* Reimplement legacy fabric
* Fix misedited string
* Use apollo coroutines support in VanillaPacksViewModel
* FIx legacy fabric set function
* Add logs to VanillaPacksViewModel
* Fix minecraft version selection mechanic
* Fix version type selection mechanic
* Add way to sync selectedMinecraftVersion with GUI
* Format VanillaPacksViewModel.kt
* Readd logs & Simplify loader loading
* Fix mod loader auto selection
* Update CHANGELOG.md
* Update CHANGELOG.md
* Back to mainline
* Back to mainline
* Move MCVersionRow to data directory
* Update documentation in IVanillaPacksViewModel
* Attach visibility control to loader button UI
* Fix showLegacyFabricOption loader not using correct key
* Remove reset TODO from VanillaPacksViewModel