From 03b0f1b09b493e0f83708d8a1596eeb4f14543c1 Mon Sep 17 00:00:00 2001 From: comp500 Date: Tue, 16 Feb 2021 16:26:23 +0000 Subject: [PATCH] Fix disable options button always changing to No optional mods... --- .../kotlin/link/infra/packwiz/installer/UpdateManager.kt | 3 ++- .../link/infra/packwiz/installer/ui/IUserInterface.kt | 2 +- .../link/infra/packwiz/installer/ui/gui/GUIHandler.kt | 4 ++-- .../link/infra/packwiz/installer/ui/gui/InstallWindow.kt | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/link/infra/packwiz/installer/UpdateManager.kt b/src/main/kotlin/link/infra/packwiz/installer/UpdateManager.kt index 6c88db2..05f9951 100644 --- a/src/main/kotlin/link/infra/packwiz/installer/UpdateManager.kt +++ b/src/main/kotlin/link/infra/packwiz/installer/UpdateManager.kt @@ -367,7 +367,8 @@ class UpdateManager internal constructor(private val opts: Options, val ui: IUse handleCancellation() } } - ui.disableOptionsButton() + // TODO: keep this enabled? then apply changes after download process? + ui.disableOptionsButton(optionTasks.isNotEmpty()) // TODO: different thread pool type? val threadPool = Executors.newFixedThreadPool(10) diff --git a/src/main/kotlin/link/infra/packwiz/installer/ui/IUserInterface.kt b/src/main/kotlin/link/infra/packwiz/installer/ui/IUserInterface.kt index 4248aa4..7a19aed 100644 --- a/src/main/kotlin/link/infra/packwiz/installer/ui/IUserInterface.kt +++ b/src/main/kotlin/link/infra/packwiz/installer/ui/IUserInterface.kt @@ -19,7 +19,7 @@ interface IUserInterface { fun showOptions(options: List): Boolean fun showExceptions(exceptions: List, numTotal: Int, allowsIgnore: Boolean): ExceptionListResult - fun disableOptionsButton() {} + fun disableOptionsButton(hasOptions: Boolean) {} fun showCancellationDialog(): CancellationResult = CancellationResult.QUIT diff --git a/src/main/kotlin/link/infra/packwiz/installer/ui/gui/GUIHandler.kt b/src/main/kotlin/link/infra/packwiz/installer/ui/gui/GUIHandler.kt index 5ca24cb..ae51df7 100644 --- a/src/main/kotlin/link/infra/packwiz/installer/ui/gui/GUIHandler.kt +++ b/src/main/kotlin/link/infra/packwiz/installer/ui/gui/GUIHandler.kt @@ -131,8 +131,8 @@ class GUIHandler : IUserInterface { return future.get() } - override fun disableOptionsButton() = EventQueue.invokeLater { - frmPackwizlauncher.disableOptionsButton() + override fun disableOptionsButton(hasOptions: Boolean) = EventQueue.invokeLater { + frmPackwizlauncher.disableOptionsButton(hasOptions) } override fun showCancellationDialog(): IUserInterface.CancellationResult { diff --git a/src/main/kotlin/link/infra/packwiz/installer/ui/gui/InstallWindow.kt b/src/main/kotlin/link/infra/packwiz/installer/ui/gui/InstallWindow.kt index 0386b64..0eca323 100644 --- a/src/main/kotlin/link/infra/packwiz/installer/ui/gui/InstallWindow.kt +++ b/src/main/kotlin/link/infra/packwiz/installer/ui/gui/InstallWindow.kt @@ -77,10 +77,10 @@ class InstallWindow(private val handler: GUIHandler) : JFrame() { lblProgresslabel.text = progress.message } - fun disableOptionsButton() { + fun disableOptionsButton(hasOptions: Boolean) { btnOptions.apply { - text = "No optional mods" - isEnabled = false + text = if (hasOptions) { "Optional mods..." } else { "No optional mods" } + isEnabled = false } } } \ No newline at end of file