From ae058e25c2a4582499fd22ef9ff4ba60aaca3c9d Mon Sep 17 00:00:00 2001 From: ayn2op Date: Sun, 1 Jan 2023 13:44:36 +0530 Subject: [PATCH] Add more Theme configuration --- config.go | 40 +++++++++++++++++++++++++++++++++------- guilds_tree.go | 5 ++--- message_input.go | 2 +- messages_text.go | 3 +-- 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/config.go b/config.go index 92d7e68..b0f004b 100644 --- a/config.go +++ b/config.go @@ -8,20 +8,33 @@ import ( const name = "discordo" -type ThemeConfig struct { - BorderPadding [4]int +type GuildsTreeThemeConfig struct { + Border bool + Graphics bool } -type GuildsTreeKeysConfig struct { - Graphics bool +type MessagesTextThemeConfig struct { + Border bool +} + +type MessageInputThemeConfig struct { + Border bool +} + +type ThemeConfig struct { + BorderPadding [4]int + + GuildsTree GuildsTreeThemeConfig + MessagesText MessagesTextThemeConfig + MessageInput MessageInputThemeConfig } type MessagesTextKeysConfig struct { SelectPreviousMessage string + SelectNextMessage string } type KeysConfig struct { - GuildsTree GuildsTreeKeysConfig MessagesText MessagesTextKeysConfig } @@ -50,10 +63,23 @@ func newConfig() (*Config, error) { Theme: ThemeConfig{ BorderPadding: [...]int{1, 1, 1, 1}, + + GuildsTree: GuildsTreeThemeConfig{ + Border: true, + Graphics: true, + }, + MessagesText: MessagesTextThemeConfig{ + Border: true, + }, + MessageInput: MessageInputThemeConfig{ + Border: true, + }, }, Keys: KeysConfig{ - GuildsTree: GuildsTreeKeysConfig{Graphics: true}, - MessagesText: MessagesTextKeysConfig{SelectPreviousMessage: "Up"}, + MessagesText: MessagesTextKeysConfig{ + SelectPreviousMessage: "Up", + SelectNextMessage: "Down", + }, }, } path = filepath.Join(path, "config.json") diff --git a/guilds_tree.go b/guilds_tree.go index ad67bd2..df23d1a 100644 --- a/guilds_tree.go +++ b/guilds_tree.go @@ -22,13 +22,12 @@ func newGuildsTree() *GuildsTree { root: tview.NewTreeNode(""), } - gt.SetGraphics(cfg.Keys.GuildsTree.Graphics) + gt.SetGraphics(cfg.Theme.GuildsTree.Graphics) gt.SetRoot(gt.root) gt.SetTopLevel(1) gt.SetSelectedFunc(gt.onSelected) - gt.SetTitle("Guilds") - gt.SetBorder(true) + gt.SetBorder(cfg.Theme.GuildsTree.Border) gt.SetBorderPadding(cfg.BorderPadding()) return gt diff --git a/message_input.go b/message_input.go index 8d33d35..656e3f5 100644 --- a/message_input.go +++ b/message_input.go @@ -13,7 +13,7 @@ func newMessageInput() *MessageInput { InputField: tview.NewInputField(), } - mi.SetBorder(true) + mi.SetBorder(cfg.Theme.MessageInput.Border) mi.SetBorderPadding(cfg.BorderPadding()) return mi diff --git a/messages_text.go b/messages_text.go index be5eb83..e4af360 100644 --- a/messages_text.go +++ b/messages_text.go @@ -23,8 +23,7 @@ func newMessagesText() *MessagesText { mt.SetRegions(true) mt.SetWordWrap(true) - mt.SetTitle("Messages") - mt.SetBorder(true) + mt.SetBorder(cfg.Theme.MessagesText.Border) mt.SetBorderPadding(cfg.BorderPadding()) return mt