zwischenstand

This commit is contained in:
Hartmut Bauer committed 2026-02-05 13:53:49 +01:00
1 parent e89bb29070
commit 231132dd9e
12 files changed
+191 -13

No files matched your search

@@ -0,0 +1,27 @@
package net.keinekekse.app.config
interface Settings {
fun get(key: String): String?
fun get(key: String, default: String): String = get(key) ?: default
fun getInt(key: String): Int? = get(key)?.toIntOrNull()
fun getInt(key: String, default: Int): Int = getInt(key) ?: default
fun getLong(key: String): Long? = get(key)?.toLongOrNull()
fun getLong(key: String, default: Long): Long = getLong(key) ?: default
fun getFloat(key: String): Float? = get(key)?.toFloatOrNull()
fun getFloat(key: String, default: Float): Float = getFloat(key) ?: default
fun getBoolean(key: String): Boolean? = get(key)?.toBooleanStrictOrNull()
fun getBoolean(key: String, default: Boolean): Boolean = getBoolean(key) ?: default
fun put(key: String, value: String)
fun putInt(key: String, value: Int)
fun putLong(key: String, value: Long)
fun putFloat(key: String, value: Float)
fun putBoolean(key: String, value: Boolean)
fun hasKey(key: String): Boolean = get(key) != null
fun remove(key: String)
fun clear()
fun size(): Int
fun keys(): Set<String>
}
@@ -10,6 +10,8 @@ import androidx.compose.ui.draw.drawBehind
import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.unit.dp
// TODO (ProgressIndicator.() -> Unit) --> { animationSize = ....
@Composable
fun ProgressIndicator(animationSize: Int = 48, paddingTop: Int = 16, strokeWidth: Int = 5) {
val primaryColor = MaterialTheme.colorScheme.primary
@@ -0,0 +1,55 @@
package net.keinekekse.app.config
import java.util.prefs.Preferences
class JvmSettings(clazz: Class<*>? = null) : Settings {
private val preferences: Preferences
init {
if (clazz != null) {
preferences = Preferences.userNodeForPackage(clazz)
} else {
preferences = Preferences.userRoot()
}
}
override fun get(key: String): String? {
return preferences.get(key, null)
}
override fun put(key: String, value: String) {
preferences.put(key, value)
}
override fun putInt(key: String, value: Int) {
preferences.putInt(key, value)
}
override fun putLong(key: String, value: Long) {
preferences.putLong(key, value)
}
override fun putFloat(key: String, value: Float) {
preferences.putFloat(key, value)
}
override fun putBoolean(key: String, value: Boolean) {
preferences.putBoolean(key, value)
}
override fun remove(key: String) {
preferences.remove(key)
}
override fun clear() {
preferences.clear()
}
override fun size(): Int {
return preferences.keys().size
}
override fun keys(): Set<String> {
return preferences.keys().toSet()
}
}