Files
vripper-project/vripper-gui/src/main/kotlin/me/vripper/gui/controller/SettingsController.kt
T

77 lines
2.8 KiB
Kotlin
Raw Normal View History

2023-11-14 00:38:43 +01:00
package me.vripper.gui.controller
2022-07-23 16:42:52 +01:00
2023-11-14 00:38:43 +01:00
import me.vripper.gui.model.settings.ConnectionSettingsModel
import me.vripper.gui.model.settings.DownloadSettingsModel
import me.vripper.gui.model.settings.SystemSettingsModel
import me.vripper.gui.model.settings.ViperSettingsModel
import me.vripper.model.*
import me.vripper.services.SettingsService
2024-02-22 21:13:24 +01:00
import tornadofx.*
2022-07-23 16:42:52 +01:00
class SettingsController : Controller() {
private val settingsService: SettingsService by di()
fun findDownloadSettings(): DownloadSettings {
return settingsService.settings.downloadSettings
}
fun findConnectionSettings(): ConnectionSettings {
return settingsService.settings.connectionSettings
}
fun findViperGirlsSettings(): ViperSettings {
return settingsService.settings.viperSettings
}
2023-11-14 00:38:43 +01:00
fun findSystemSettings(): SystemSettings {
return settingsService.settings.systemSettings
2023-05-21 15:52:15 +01:00
}
2022-07-23 16:42:52 +01:00
fun saveNewSettings(
downloadSettingsModel: DownloadSettingsModel,
connectionSettingsModel: ConnectionSettingsModel,
2023-05-21 15:52:15 +01:00
viperSettingsModel: ViperSettingsModel,
2023-11-14 00:38:43 +01:00
systemSettingsModel: SystemSettingsModel
2022-07-23 16:42:52 +01:00
) {
2024-02-22 21:13:24 +01:00
settingsService.newSettings(
Settings(
downloadSettings = DownloadSettings(
downloadSettingsModel.downloadPath,
downloadSettingsModel.autoStart,
downloadSettingsModel.autoQueueThreshold,
downloadSettingsModel.forceOrder,
downloadSettingsModel.forumSubfolder,
downloadSettingsModel.threadSubLocation,
downloadSettingsModel.clearCompleted,
downloadSettingsModel.appendPostId
),
connectionSettings = ConnectionSettings(
connectionSettingsModel.maxThreads,
connectionSettingsModel.maxTotalThreads,
connectionSettingsModel.timeout,
connectionSettingsModel.maxAttempts,
),
viperSettings = ViperSettings(
viperSettingsModel.login,
viperSettingsModel.username,
viperSettingsModel.password,
viperSettingsModel.thanks,
viperSettingsModel.host,
),
systemSettings =
2023-11-14 00:38:43 +01:00
SystemSettings(
systemSettingsModel.tempPath,
systemSettingsModel.cachePath,
systemSettingsModel.enable,
if (systemSettingsModel.pollingRate.isBlank()) 500 else systemSettingsModel.pollingRate.toInt(),
systemSettingsModel.logEntries.toInt()
2022-07-23 16:42:52 +01:00
)
2024-02-22 21:13:24 +01:00
)
)
2022-07-23 16:42:52 +01:00
}
fun getProxies(): List<String> {
return settingsService.getProxies()
}
}