From 68fae30197ee749e0c83fe20629e335d9214fffd Mon Sep 17 00:00:00 2001 From: aro Date: Sat, 14 Jan 2023 22:09:23 +0100 Subject: [PATCH] refactor: global refactor and optimization --- .../xyz/atnrch/wrench/gui/AppBottomBar.kt | 2 +- .../top/TopBar.kt => AppTopBar.kt} | 13 ++++--- .../xyz/atnrch/wrench/gui/WatcherDisplay.kt | 2 +- .../xyz/atnrch/wrench/gui/WrenchScaffold.kt | 15 ++++--- .../wrench/gui/{style => appearance}/Fonts.kt | 10 +---- .../gui/{style => appearance}/UIColors.kt | 3 +- .../component}/ComponentRegistery.kt | 2 +- .../component}/SnackBarDataHolder.kt | 2 +- .../gui/filemanager/FileManagerDisplay.kt | 9 ++--- .../gui/filemanager/bottom/AddOutputButton.kt | 2 +- .../filemanager/bottom/FloatingAddButton.kt | 4 +- .../gui/filemanager/bottom/MoveFilesButton.kt | 2 +- .../filemanager/bottom/RemoveOutputButton.kt | 4 +- .../center/{empty => }/DefaultDisplay.kt | 10 ++--- .../filemanager/center/input/InputEntries.kt | 39 ++++++++----------- .../center/input/InputTextEntry.kt | 6 +-- .../center/output/OutputEntries.kt | 4 +- ...BarButtons.kt => FileManagerTopButtons.kt} | 14 +++---- .../server/center/UnderConstrutrionView.kt | 4 +- .../LayoutStorage.kt} | 8 ++-- .../SerializedWatcherEntry.kt | 2 +- .../xyz/atnrch/wrench/watcher/Watcher.kt | 15 +++---- 22 files changed, 75 insertions(+), 97 deletions(-) rename src/main/kotlin/xyz/atnrch/wrench/gui/{filemanager/top/TopBar.kt => AppTopBar.kt} (78%) rename src/main/kotlin/xyz/atnrch/wrench/gui/{style => appearance}/Fonts.kt (77%) rename src/main/kotlin/xyz/atnrch/wrench/gui/{style => appearance}/UIColors.kt (80%) rename src/main/kotlin/xyz/atnrch/wrench/{registery => gui/component}/ComponentRegistery.kt (89%) rename src/main/kotlin/xyz/atnrch/wrench/{data => gui/component}/SnackBarDataHolder.kt (82%) rename src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/{empty => }/DefaultDisplay.kt (82%) rename src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/{TopBarButtons.kt => FileManagerTopButtons.kt} (77%) rename src/main/kotlin/xyz/atnrch/wrench/{json/JsonLayout.kt => storage/LayoutStorage.kt} (83%) rename src/main/kotlin/xyz/atnrch/wrench/{json => storage}/SerializedWatcherEntry.kt (97%) diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/AppBottomBar.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/AppBottomBar.kt index 3ed4243..d895fd0 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/AppBottomBar.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/AppBottomBar.kt @@ -5,7 +5,7 @@ import androidx.compose.material.BottomAppBar import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import xyz.atnrch.wrench.gui.filemanager.bottom.FileBottomRow -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.watcher.Watcher import xyz.atnrch.wrench.watcher.WatcherManager import java.nio.file.Path diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBar.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/AppTopBar.kt similarity index 78% rename from src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBar.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/AppTopBar.kt index 3eeb911..53a6208 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBar.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/AppTopBar.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.gui.filemanager.top +package xyz.atnrch.wrench.gui import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size @@ -12,14 +12,15 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.Fonts -import xyz.atnrch.wrench.gui.style.UIColors -import xyz.atnrch.wrench.json.JsonLayout +import xyz.atnrch.wrench.gui.appearance.Fonts +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.gui.filemanager.top.FileManagerTopButtons +import xyz.atnrch.wrench.storage.LayoutStorage import xyz.atnrch.wrench.watcher.WatcherEntry @Composable fun TopBar( - jsonLayout: JsonLayout, + layoutStorage: LayoutStorage, tabIndex: Int, values: MutableCollection ) { @@ -42,7 +43,7 @@ fun TopBar( }, actions = { if (tabIndex == 0) { - TopBarButtons(jsonLayout, values) + FileManagerTopButtons(layoutStorage, values) } } ) diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/WatcherDisplay.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/WatcherDisplay.kt index 4fdb7f1..22035f6 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/WatcherDisplay.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/WatcherDisplay.kt @@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color import xyz.atnrch.wrench.gui.filemanager.FileManagerDisplay import xyz.atnrch.wrench.gui.server.ServerManagerDisplay -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.watcher.WatcherManager import java.nio.file.Path diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/WrenchScaffold.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/WrenchScaffold.kt index a191e88..d96d707 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/WrenchScaffold.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/WrenchScaffold.kt @@ -7,11 +7,10 @@ import androidx.compose.material.rememberScaffoldState import androidx.compose.runtime.* import androidx.compose.ui.unit.dp import androidx.compose.ui.window.WindowState -import xyz.atnrch.wrench.data.SnackBarDataHolder -import xyz.atnrch.wrench.gui.filemanager.bottom.FloatingButton -import xyz.atnrch.wrench.gui.filemanager.top.TopBar -import xyz.atnrch.wrench.gui.style.UIColors -import xyz.atnrch.wrench.json.JsonLayout +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.gui.component.SnackBarDataHolder +import xyz.atnrch.wrench.gui.filemanager.bottom.FloatingAddButton +import xyz.atnrch.wrench.storage.LayoutStorage import xyz.atnrch.wrench.watcher.Watcher import xyz.atnrch.wrench.watcher.WatcherEntry import xyz.atnrch.wrench.watcher.WatcherManager @@ -27,7 +26,7 @@ fun WrenchScaffold(state: WindowState) { val watcherManager = remember { WatcherManager(entries) } val watcher = remember { Watcher(watcherManager, snackBarDataHolder) } val tabTitles = listOf("File Manager", "Servers") - val jsonLayout = JsonLayout { + val layoutStorage = LayoutStorage { it.forEach { entry -> watcherManager.addFile(entry.file, entry.outputs) } @@ -43,8 +42,8 @@ fun WrenchScaffold(state: WindowState) { } else { Scaffold( scaffoldState = scaffoldState, - topBar = { TopBar(jsonLayout, tabIndex, entries.values) }, - floatingActionButton = { if (tabIndex == 0) FloatingButton(watcherManager) }, + topBar = { TopBar(layoutStorage, tabIndex, entries.values) }, + floatingActionButton = { if (tabIndex == 0) FloatingAddButton(watcherManager) }, isFloatingActionButtonDocked = true, backgroundColor = UIColors.PRIMARY, bottomBar = { diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/style/Fonts.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/appearance/Fonts.kt similarity index 77% rename from src/main/kotlin/xyz/atnrch/wrench/gui/style/Fonts.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/appearance/Fonts.kt index 3f59cc0..73e1da3 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/style/Fonts.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/appearance/Fonts.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.gui.style +package xyz.atnrch.wrench.gui.appearance import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle @@ -15,14 +15,6 @@ class Fonts { ) ) - val ROBOTO_MEDIUM: FontFamily = FontFamily( - Font( - resource = "font/Roboto-Medium.ttf", - style = FontStyle.Normal, - weight = FontWeight.Medium - ) - ) - val ROBOTO_REGULAR: FontFamily = FontFamily( Font( resource = "font/Roboto-Regular.ttf", diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/style/UIColors.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/appearance/UIColors.kt similarity index 80% rename from src/main/kotlin/xyz/atnrch/wrench/gui/style/UIColors.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/appearance/UIColors.kt index a2a419f..a131933 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/style/UIColors.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/appearance/UIColors.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.gui.style +package xyz.atnrch.wrench.gui.appearance import androidx.compose.ui.graphics.Color @@ -6,7 +6,6 @@ class UIColors { companion object { val PRIMARY = Color(0xFF242424) val DARK_PRIMARY = Color(0XFF1B1B1B) - val LIGHT_PRIMARY = Color(0xFF6D6D6D) val LIGHT_RED = Color(0xFFF44336) diff --git a/src/main/kotlin/xyz/atnrch/wrench/registery/ComponentRegistery.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/component/ComponentRegistery.kt similarity index 89% rename from src/main/kotlin/xyz/atnrch/wrench/registery/ComponentRegistery.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/component/ComponentRegistery.kt index 288c8d2..5b23226 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/registery/ComponentRegistery.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/component/ComponentRegistery.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.registery +package xyz.atnrch.wrench.gui.component import androidx.compose.runtime.Composable diff --git a/src/main/kotlin/xyz/atnrch/wrench/data/SnackBarDataHolder.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/component/SnackBarDataHolder.kt similarity index 82% rename from src/main/kotlin/xyz/atnrch/wrench/data/SnackBarDataHolder.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/component/SnackBarDataHolder.kt index 7ec4024..b0d0e92 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/data/SnackBarDataHolder.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/component/SnackBarDataHolder.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.data +package xyz.atnrch.wrench.gui.component import androidx.compose.material.ScaffoldState import kotlinx.coroutines.CoroutineScope diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/FileManagerDisplay.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/FileManagerDisplay.kt index 7cf3abb..6785e1a 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/FileManagerDisplay.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/FileManagerDisplay.kt @@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.filemanager.center.empty.DefaultDisplay +import xyz.atnrch.wrench.gui.filemanager.center.DefaultDisplay import xyz.atnrch.wrench.gui.filemanager.center.input.InputEntries import xyz.atnrch.wrench.gui.filemanager.center.output.OutputEntries import xyz.atnrch.wrench.watcher.WatcherManager @@ -42,18 +42,17 @@ fun FileManagerDisplay( } @Composable -fun DisplayEntries( - minmode: Boolean, +private fun DisplayEntries( + minMode: Boolean, watcherManager: WatcherManager, currentClick: Int, outputs: MutableList, onEntryClick: (id: Int) -> Unit ) { if (watcherManager.getEntries().isEmpty()) { - //watcherManager.addFile(File("/home/aro/IdeaProjects/Wrench/dummy")) DefaultDisplay() } else { - InputEntries(minmode, watcherManager, onEntryClick) + InputEntries(minMode, watcherManager, onEntryClick) OutputEntries(watcherManager, currentClick, outputs) } } \ No newline at end of file diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/AddOutputButton.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/AddOutputButton.kt index 0872211..403cc80 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/AddOutputButton.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/AddOutputButton.kt @@ -16,9 +16,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.gui.filemanager.center.showDirectoryPicker import xyz.atnrch.wrench.logger.Logger -import xyz.atnrch.wrench.gui.style.UIColors import xyz.atnrch.wrench.watcher.WatcherEntry import xyz.atnrch.wrench.watcher.WatcherManager import java.nio.file.Path diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/FloatingAddButton.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/FloatingAddButton.kt index 638dc86..fd1ac0a 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/FloatingAddButton.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/FloatingAddButton.kt @@ -12,13 +12,13 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.gui.filemanager.center.showFilePicker import xyz.atnrch.wrench.logger.Logger -import xyz.atnrch.wrench.gui.style.UIColors import xyz.atnrch.wrench.watcher.WatcherManager @Composable -fun FloatingButton( +fun FloatingAddButton( watcherManager: WatcherManager ) { FloatingActionButton( diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/MoveFilesButton.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/MoveFilesButton.kt index 02a6a7c..594842e 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/MoveFilesButton.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/MoveFilesButton.kt @@ -16,7 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.watcher.Watcher @Composable diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/RemoveOutputButton.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/RemoveOutputButton.kt index e4e6d0a..ad817fe 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/RemoveOutputButton.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/bottom/RemoveOutputButton.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.registery.ACTIVE_COMPOSABLE -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.gui.component.ACTIVE_COMPOSABLE import xyz.atnrch.wrench.watcher.WatcherManager import java.nio.file.Path diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/empty/DefaultDisplay.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/DefaultDisplay.kt similarity index 82% rename from src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/empty/DefaultDisplay.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/DefaultDisplay.kt index 8ccdab2..32dd2e6 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/empty/DefaultDisplay.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/DefaultDisplay.kt @@ -1,10 +1,10 @@ -package xyz.atnrch.wrench.gui.filemanager.center.empty +package xyz.atnrch.wrench.gui.filemanager.center import androidx.compose.foundation.layout.* import androidx.compose.material.Icon import androidx.compose.material.Text import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.FolderOff +import androidx.compose.material.icons.rounded.CreateNewFolder import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -13,8 +13,8 @@ import androidx.compose.ui.unit.ExperimentalUnitApi import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.Fonts -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.Fonts +import xyz.atnrch.wrench.gui.appearance.UIColors @OptIn(ExperimentalUnitApi::class) @Composable @@ -28,7 +28,7 @@ fun DefaultDisplay() { horizontalAlignment = Alignment.CenterHorizontally ) { Icon( - imageVector = Icons.Rounded.FolderOff, + imageVector = Icons.Rounded.CreateNewFolder, tint = UIColors.ORANGE, contentDescription = "Open Folder", modifier = Modifier.size(58.dp) diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputEntries.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputEntries.kt index 157d6c9..28da935 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputEntries.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputEntries.kt @@ -9,9 +9,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.UIColors -import xyz.atnrch.wrench.registery.ACTIVE_COMPOSABLE -import xyz.atnrch.wrench.registery.RegisterComposable +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.gui.component.ACTIVE_COMPOSABLE +import xyz.atnrch.wrench.gui.component.RegisterComposable import xyz.atnrch.wrench.watcher.WatcherManager @Composable @@ -22,7 +22,7 @@ fun InputEntries( ) { Box( contentAlignment = Alignment.Center, - modifier = getModifier(minMode, onEntryClick) + modifier = getBoxModifier(minMode, onEntryClick) ) { InputTopText() Column( @@ -42,26 +42,21 @@ fun InputEntries( } @Composable -fun getModifier( - minmode: Boolean, +private fun getBoxModifier( + minMode: Boolean, onEntryClick: (id: Int) -> Unit ): Modifier { - return if (minmode) - Modifier + val modifier: Modifier = Modifier.border(BorderStroke(4.dp, UIColors.ORANGE), RectangleShape) + .clickable { + ACTIVE_COMPOSABLE = -1 + onEntryClick.invoke(-1) + } + + return if (minMode) + modifier .fillMaxWidth() .fillMaxHeight(0.5f) - .border(BorderStroke(4.dp, UIColors.ORANGE), RectangleShape) - .clickable { - ACTIVE_COMPOSABLE = -1 - onEntryClick.invoke(-1) - } else { - Modifier - .fillMaxHeight() - .fillMaxWidth(0.5f) - .border(BorderStroke(4.dp, UIColors.ORANGE), RectangleShape) - .clickable { - ACTIVE_COMPOSABLE = -1 - onEntryClick.invoke(-1) - } - } + else modifier + .fillMaxHeight() + .fillMaxWidth(0.5f) } diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputTextEntry.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputTextEntry.kt index 99c5a37..cd9fd7b 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputTextEntry.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/input/InputTextEntry.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.ExperimentalUnitApi import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnitType -import xyz.atnrch.wrench.gui.style.Fonts -import xyz.atnrch.wrench.gui.style.UIColors -import xyz.atnrch.wrench.registery.ACTIVE_COMPOSABLE +import xyz.atnrch.wrench.gui.appearance.Fonts +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.gui.component.ACTIVE_COMPOSABLE import xyz.atnrch.wrench.watcher.WatcherEntry @OptIn(ExperimentalUnitApi::class, ExperimentalFoundationApi::class) diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/output/OutputEntries.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/output/OutputEntries.kt index fd0a08f..595eb16 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/output/OutputEntries.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/center/output/OutputEntries.kt @@ -13,8 +13,8 @@ import androidx.compose.ui.unit.ExperimentalUnitApi import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.Fonts -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.Fonts +import xyz.atnrch.wrench.gui.appearance.UIColors import xyz.atnrch.wrench.watcher.WatcherEntry import xyz.atnrch.wrench.watcher.WatcherManager import java.nio.file.Path diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBarButtons.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/FileManagerTopButtons.kt similarity index 77% rename from src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBarButtons.kt rename to src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/FileManagerTopButtons.kt index bd2de43..2e44a9f 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/TopBarButtons.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/filemanager/top/FileManagerTopButtons.kt @@ -9,21 +9,21 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.UIColors -import xyz.atnrch.wrench.json.JsonLayout -import xyz.atnrch.wrench.json.SerializedWatcherEntry +import xyz.atnrch.wrench.gui.appearance.UIColors +import xyz.atnrch.wrench.storage.LayoutStorage +import xyz.atnrch.wrench.storage.SerializedWatcherEntry import xyz.atnrch.wrench.watcher.WatcherEntry import xyz.atnrch.wrench.watcher.WatcherManager @Composable -fun TopBarButtons( - jsonLayout: JsonLayout, +fun FileManagerTopButtons( + layoutStorage: LayoutStorage, values: MutableCollection ) { Button( colors = ButtonDefaults.buttonColors(UIColors.DARK_GREEN, Color.White), onClick = { - jsonLayout.writeLayout(SerializedWatcherEntry.fromUnserializedEntries(values.toList())) + layoutStorage.storeLayout(SerializedWatcherEntry.fromUnserializedEntries(values.toList())) }) { Text("Save") } @@ -37,7 +37,7 @@ fun TopBarButtons( // for the past 2 hrs // TODO: Make it cleaner maybe? WatcherManager.CURRENT_ID = 0 - jsonLayout.readLayout() + layoutStorage.readLayout() }) { Text("Load") } diff --git a/src/main/kotlin/xyz/atnrch/wrench/gui/server/center/UnderConstrutrionView.kt b/src/main/kotlin/xyz/atnrch/wrench/gui/server/center/UnderConstrutrionView.kt index 515ddc5..b0516d0 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/gui/server/center/UnderConstrutrionView.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/gui/server/center/UnderConstrutrionView.kt @@ -13,8 +13,8 @@ import androidx.compose.ui.unit.ExperimentalUnitApi import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.TextUnitType import androidx.compose.ui.unit.dp -import xyz.atnrch.wrench.gui.style.Fonts -import xyz.atnrch.wrench.gui.style.UIColors +import xyz.atnrch.wrench.gui.appearance.Fonts +import xyz.atnrch.wrench.gui.appearance.UIColors @OptIn(ExperimentalUnitApi::class) @Composable diff --git a/src/main/kotlin/xyz/atnrch/wrench/json/JsonLayout.kt b/src/main/kotlin/xyz/atnrch/wrench/storage/LayoutStorage.kt similarity index 83% rename from src/main/kotlin/xyz/atnrch/wrench/json/JsonLayout.kt rename to src/main/kotlin/xyz/atnrch/wrench/storage/LayoutStorage.kt index 74ce301..a641395 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/json/JsonLayout.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/storage/LayoutStorage.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.json +package xyz.atnrch.wrench.storage import com.google.gson.Gson import com.google.gson.reflect.TypeToken @@ -7,16 +7,14 @@ import java.io.File import java.io.FileReader import java.io.FileWriter -class JsonLayout( - private val onWatcherEntriesUpdate: (List) -> Unit -) { +class LayoutStorage(private val onWatcherEntriesUpdate: (List) -> Unit) { private val entryListType = object : TypeToken>() {}.type private val gson: Gson = Gson().newBuilder() .setPrettyPrinting() .create() private val file = File("layout.json") - fun writeLayout(list: List) { + fun storeLayout(list: List) { val writer = FileWriter(file) gson.toJson(list, writer) writer.flush() diff --git a/src/main/kotlin/xyz/atnrch/wrench/json/SerializedWatcherEntry.kt b/src/main/kotlin/xyz/atnrch/wrench/storage/SerializedWatcherEntry.kt similarity index 97% rename from src/main/kotlin/xyz/atnrch/wrench/json/SerializedWatcherEntry.kt rename to src/main/kotlin/xyz/atnrch/wrench/storage/SerializedWatcherEntry.kt index 4f61c72..f3ef880 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/json/SerializedWatcherEntry.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/storage/SerializedWatcherEntry.kt @@ -1,4 +1,4 @@ -package xyz.atnrch.wrench.json +package xyz.atnrch.wrench.storage import xyz.atnrch.wrench.watcher.WatcherEntry import java.io.File diff --git a/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt b/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt index 6e7c998..55c751a 100644 --- a/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt +++ b/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt @@ -2,7 +2,7 @@ package xyz.atnrch.wrench.watcher import androidx.compose.material.SnackbarDuration import kotlinx.coroutines.launch -import xyz.atnrch.wrench.data.SnackBarDataHolder +import xyz.atnrch.wrench.gui.component.SnackBarDataHolder import xyz.atnrch.wrench.logger.Logger import java.io.IOException import java.nio.file.Files @@ -10,10 +10,7 @@ import java.nio.file.Path import java.nio.file.StandardCopyOption import kotlin.io.path.name -class Watcher( - private val watcherManager: WatcherManager, - private val snackBarDataHolder: SnackBarDataHolder -) { +class Watcher(private val watcherManager: WatcherManager, private val snackBarDataHolder: SnackBarDataHolder) { fun move() { Logger.info("Moving files...") snackBarDataHolder.coroutineScope.launch { @@ -27,15 +24,13 @@ class Watcher( Files.copy(entry.file.toPath(), Path.of(movePath), StandardCopyOption.REPLACE_EXISTING) foldersTotal += 1 } catch (exception: IOException) { - Logger.warn("Failed to move ${it.name} to $movePath! (${exception.message}") + Logger.warn("Failed to move ${it.name} to $movePath! (${exception.message}") } } } - val logMessage: String = if (foldersTotal < 1) { - "No files to move!" - } else { + val logMessage: String = if (foldersTotal < 1) + "No files to move!" else "Successfully moved $filesTotal ${if (filesTotal > 1) "files" else "file"} to $foldersTotal ${if (foldersTotal > 1) "folders" else "folder"}." - } Logger.info(logMessage) Logger.info("Done moving files.") snackBarDataHolder.scaffoldState.snackbarHostState.currentSnackbarData?.dismiss()