From b2479abb0903cea9ed51d6d85d7329b0257a8955 Mon Sep 17 00:00:00 2001 From: aro Date: Thu, 5 Jan 2023 12:58:22 +0100 Subject: [PATCH] feat: json layout saving --- build.gradle.kts | 2 +- saved.yml | 0 .../bottom/BottomBar.kt => AppBottomBar.kt} | 3 ++- .../xyz/atnrch/wrench/config/WrenchConfig.kt | 4 ---- .../xyz/atnrch/wrench/json/JsonConfig.kt | 22 +++++++++++++++++++ 5 files changed, 25 insertions(+), 6 deletions(-) delete mode 100644 saved.yml rename src/main/kotlin/xyz/atnrch/wrench/components/{filemanager/bottom/BottomBar.kt => AppBottomBar.kt} (88%) delete mode 100644 src/main/kotlin/xyz/atnrch/wrench/config/WrenchConfig.kt create mode 100644 src/main/kotlin/xyz/atnrch/wrench/json/JsonConfig.kt diff --git a/build.gradle.kts b/build.gradle.kts index 5c392ed..a1385d4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,3 @@ - import org.jetbrains.compose.ExperimentalComposeLibrary import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.kotlin.gradle.tasks.KotlinCompile @@ -23,6 +22,7 @@ dependencies { implementation(compose.materialIconsExtended) implementation(compose.material3) implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.6.4") + implementation("com.google.code.gson:gson:2.10") } tasks.withType { diff --git a/saved.yml b/saved.yml deleted file mode 100644 index e69de29..0000000 diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/bottom/BottomBar.kt b/src/main/kotlin/xyz/atnrch/wrench/components/AppBottomBar.kt similarity index 88% rename from src/main/kotlin/xyz/atnrch/wrench/components/filemanager/bottom/BottomBar.kt rename to src/main/kotlin/xyz/atnrch/wrench/components/AppBottomBar.kt index bfdbefb..2d075cb 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/components/filemanager/bottom/BottomBar.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/components/AppBottomBar.kt @@ -1,10 +1,11 @@ -package xyz.atnrch.wrench.components.filemanager.bottom +package xyz.atnrch.wrench.components import androidx.compose.foundation.shape.CornerSize import androidx.compose.material.BottomAppBar import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.window.WindowState +import xyz.atnrch.wrench.components.filemanager.bottom.BottomRowNew import xyz.atnrch.wrench.ui.UIColors import xyz.atnrch.wrench.watcher.Watcher import xyz.atnrch.wrench.watcher.WatcherManager diff --git a/src/main/kotlin/xyz/atnrch/wrench/config/WrenchConfig.kt b/src/main/kotlin/xyz/atnrch/wrench/config/WrenchConfig.kt deleted file mode 100644 index 91d51b2..0000000 --- a/src/main/kotlin/xyz/atnrch/wrench/config/WrenchConfig.kt +++ /dev/null @@ -1,4 +0,0 @@ -package xyz.atnrch.wrench.config - -class WrenchConfig { -} \ No newline at end of file diff --git a/src/main/kotlin/xyz/atnrch/wrench/json/JsonConfig.kt b/src/main/kotlin/xyz/atnrch/wrench/json/JsonConfig.kt new file mode 100644 index 0000000..ed86b6a --- /dev/null +++ b/src/main/kotlin/xyz/atnrch/wrench/json/JsonConfig.kt @@ -0,0 +1,22 @@ +package xyz.atnrch.wrench.json + +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken +import xyz.atnrch.wrench.watcher.WatcherEntry +import java.io.File +import java.io.FileReader +import java.io.FileWriter + +class JsonConfig { + private val gson: Gson = Gson().newBuilder().serializeNulls().setPrettyPrinting().create() + private val file = File("layout.json") + private val watcherEntryType = object : TypeToken>() {}.type + + fun writeLayout(list: List) { + gson.toJson(list, FileWriter(file)) + } + + fun readLayout() { + gson.fromJson>(FileReader(file), watcherEntryType) + } +} \ No newline at end of file