From e7f1b110e81048684c17454970bcc9a09edb03ac Mon Sep 17 00:00:00 2001 From: Guransh Khurana <guranshkhurana@Guranshs-MacBook-Pro.local> Date: Thu, 23 Mar 2023 19:07:31 -0400 Subject: [PATCH] created a toggleDarkMode function and implemented action for menu bar items dark and light --- .../notes/multi/utilities/NoteTextWindow.kt | 15 +++++++++++ .../kotlin/notes/multi/utilities/Themes.kt | 26 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 utilities/src/main/kotlin/notes/multi/utilities/Themes.kt diff --git a/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt b/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt index b7cbae1..f8b59c2 100644 --- a/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt +++ b/utilities/src/main/kotlin/notes/multi/utilities/NoteTextWindow.kt @@ -44,6 +44,7 @@ class TextWindow(): Application() { private var newname = true private var curfile = Note() + var isDarkMode = false private fun notesname() : MutableList<String> { val retlist = mutableListOf<String>() @@ -256,6 +257,8 @@ class TextWindow(): Application() { } } + + filemenu.items.addAll(open, save, delete) modechange.items.addAll(dark, light) menubar.menus.addAll(filemenu, modechange) @@ -265,6 +268,18 @@ class TextWindow(): Application() { stage.scene = Scene(box, 300.0, 300.0) + dark.setOnAction { + if (!isDarkMode) { + toggleDarkMode(stage.scene, isDarkMode) + } + } + + light.setOnAction { + if (isDarkMode) { + toggleDarkMode(stage.scene, isDarkMode) + } + } + /** * Logic for key presses: * - Save: Ctrl + S diff --git a/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt b/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt new file mode 100644 index 0000000..4f39f17 --- /dev/null +++ b/utilities/src/main/kotlin/notes/multi/utilities/Themes.kt @@ -0,0 +1,26 @@ +package notes.multi.utilities + +import javafx.application.Application +import javafx.scene.Scene +import javafx.stage.Stage +import javafx.geometry.Pos +import javafx.scene.control.Button +import javafx.scene.control.Label +import javafx.scene.layout.StackPane +import javafx.scene.layout.VBox +import javafx.scene.paint.Color +import javafx.scene.text.Font +import javax.swing.text.html.StyleSheet + +fun toggleDarkMode(scene: Scene, isDarkMode: Boolean) { + //val darktheme: StyleSheet = StyleSheet(false, "notes/multi/utilities/darktheme.css") + + if (isDarkMode) { + //note.text.toString(). = Color.WHITE + scene.root.style = "-fx-background-color: ${Color.BLACK.toString().replace("0x", "#")}; -fx-text-fill: ${Color.WHITE.toString().replace("0x", "#")}" + } else { + //note.text = Color.BLACK + scene.root.style = "-fx-background-color: ${Color.WHITE.toString().replace("0x", "#")}; -fx-text-fill: ${Color.BLACK.toString().replace("0x", "#")}" + } + //isDarkMode = !isDarkMode +} \ No newline at end of file -- GitLab