mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2026-01-21 03:02:34 +01:00
Add Download As CBZ support
This commit is contained in:
@@ -48,10 +48,16 @@ class ServerHostPreferences(private val preferenceStore: PreferenceStore) {
|
||||
fun systemTrayEnabled(): Preference<Boolean> {
|
||||
return systemTrayEnabled.preference()
|
||||
}
|
||||
|
||||
// Downloader
|
||||
private val downloadPath = ServerHostPreference.DownloadPath(preferenceStore)
|
||||
fun downloadPath(): Preference<String> {
|
||||
return downloadPath.preference()
|
||||
}
|
||||
private val downloadAsCbz = ServerHostPreference.DownloadAsCbz(preferenceStore)
|
||||
fun downloadAsCbz(): Preference<Boolean> {
|
||||
return downloadAsCbz.preference()
|
||||
}
|
||||
|
||||
// WebUI
|
||||
private val webUIEnabled = ServerHostPreference.WebUIEnabled(preferenceStore)
|
||||
@@ -87,6 +93,7 @@ class ServerHostPreferences(private val preferenceStore: PreferenceStore) {
|
||||
debugLogsEnabled,
|
||||
systemTrayEnabled,
|
||||
downloadPath,
|
||||
downloadAsCbz,
|
||||
webUIEnabled,
|
||||
openInBrowserEnabled,
|
||||
basicAuthEnabled,
|
||||
|
||||
@@ -108,11 +108,18 @@ sealed class ServerHostPreference<T : Any> {
|
||||
false,
|
||||
true
|
||||
)
|
||||
|
||||
// Downloader
|
||||
class DownloadPath(preferenceStore: PreferenceStore) : StringServerHostPreference(
|
||||
preferenceStore,
|
||||
"downloadsPath",
|
||||
""
|
||||
)
|
||||
class DownloadAsCbz(preferenceStore: PreferenceStore) : BooleanServerHostPreference(
|
||||
preferenceStore,
|
||||
"downloadAsCbz",
|
||||
false
|
||||
)
|
||||
|
||||
// WebUI
|
||||
class WebUIEnabled(preferenceStore: PreferenceStore) : BooleanServerHostPreference(
|
||||
|
||||
@@ -300,6 +300,8 @@
|
||||
<string name="host_download_path">Download path</string>
|
||||
<string name="host_download_path_sub">Current download path: %1$s</string>
|
||||
<string name="host_download_path_sub_empty">Using default download path</string>
|
||||
<string name="host_download_as_cbz">Download as CBZ</string>
|
||||
<string name="host_download_as_cbz_sub">Download chapters into CBZ archives</string>
|
||||
<string name="host_webui">Server WebUI</string>
|
||||
<string name="host_webui_sub">Whether the server\'s default WebUI is enabled, makes you able to use Tachidesk in your browser</string>
|
||||
<string name="host_open_in_browser">Open Server WebUI on startup</string>
|
||||
|
||||
@@ -62,6 +62,7 @@ actual fun getServerHostItems(viewModel: @Composable () -> SettingsServerHostVie
|
||||
debugLogsEnabled = serverVm.debugLogsEnabled,
|
||||
systemTrayEnabled = serverVm.systemTrayEnabled,
|
||||
downloadPath = serverVm.downloadPath,
|
||||
downloadAsCbz = serverVm.downloadAsCbz,
|
||||
webUIEnabled = serverVm.webUIEnabled,
|
||||
openInBrowserEnabled = serverVm.openInBrowserEnabled,
|
||||
basicAuthEnabled = serverVm.basicAuthEnabled,
|
||||
@@ -89,7 +90,10 @@ actual class SettingsServerHostViewModel @Inject constructor(
|
||||
// Misc
|
||||
val debugLogsEnabled = serverHostPreferences.debugLogsEnabled().asStateIn(scope)
|
||||
val systemTrayEnabled = serverHostPreferences.systemTrayEnabled().asStateIn(scope)
|
||||
|
||||
// Downloader
|
||||
val downloadPath = serverHostPreferences.downloadPath().asStateIn(scope)
|
||||
val downloadAsCbz = serverHostPreferences.downloadAsCbz().asStateIn(scope)
|
||||
|
||||
// WebUI
|
||||
val webUIEnabled = serverHostPreferences.webUIEnabled().asStateIn(scope)
|
||||
@@ -145,6 +149,7 @@ fun LazyListScope.ServerHostItems(
|
||||
debugLogsEnabled: PreferenceMutableStateFlow<Boolean>,
|
||||
systemTrayEnabled: PreferenceMutableStateFlow<Boolean>,
|
||||
downloadPath: PreferenceMutableStateFlow<String>,
|
||||
downloadAsCbz: PreferenceMutableStateFlow<Boolean>,
|
||||
webUIEnabled: PreferenceMutableStateFlow<Boolean>,
|
||||
openInBrowserEnabled: PreferenceMutableStateFlow<Boolean>,
|
||||
basicAuthEnabled: PreferenceMutableStateFlow<Boolean>,
|
||||
@@ -242,6 +247,14 @@ fun LazyListScope.ServerHostItems(
|
||||
}
|
||||
)
|
||||
}
|
||||
item {
|
||||
SwitchPreference(
|
||||
preference = downloadAsCbz,
|
||||
title = stringResource(MR.strings.host_download_as_cbz),
|
||||
subtitle = stringResource(MR.strings.host_download_as_cbz_sub),
|
||||
changeListener = serverSettingChanged
|
||||
)
|
||||
}
|
||||
item {
|
||||
SwitchPreference(
|
||||
preference = webUIEnabled,
|
||||
|
||||
Reference in New Issue
Block a user