From e4cd4877cc055aa3cf4bd412150cdcf6edd1016a Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Sun, 30 Nov 2025 18:35:12 -0800 Subject: [PATCH] Introduce file picker and GUI configuration with enhancements. - Add visual file picker for GUI with toggle support. - Introduce `GUIConfig` class for loading GUI settings from configuration file. - Refactor window initialization to support dynamic sizing based on configuration. - Add macOS-specific handling for fullscreen behavior. - Improve header inclusion order and minor code cleanup. --- .idea/workspace.xml | 77 ++++++++++--- Buffer.cc | 8 +- Buffer.h | 1 + CMakeLists.txt | 14 +++ Command.cc | 34 +++++- Command.h | 2 + Editor.cc | 4 +- Editor.h | 29 +++++ Frontend.h | 2 - GUIConfig.cc | 107 ++++++++++++++++++ GUIConfig.h | 27 +++++ GUIFrontend.cc | 88 +++++++++++++-- GUIFrontend.h | 1 + GUIInputHandler.cc | 3 +- GUIInputHandler.h | 3 +- GUIRenderer.cc | 188 ++++++++++++++++++++++++++++++-- GUIRenderer.h | 2 +- GapBuffer.cc | 5 +- GapBuffer.h | 1 + InputHandler.h | 1 + KKeymap.cc | 7 +- KKeymap.h | 1 + PieceTable.h | 1 + TerminalFrontend.cc | 8 +- TerminalFrontend.h | 3 +- TerminalInputHandler.cc | 4 +- TerminalInputHandler.h | 2 - TerminalRenderer.cc | 12 +- TestFrontend.cc | 3 +- TestInputHandler.h | 7 +- TestRenderer.cc | 1 - TestRenderer.h | 7 +- UndoNode.h | 2 - UndoSystem.cc | 2 +- UndoSystem.h | 3 +- UndoTree.h | 2 +- cmake/Info.plist.in | 4 +- kge.icns | Bin 0 -> 3133111 bytes kge.iconset/icon_128x128.png | Bin 0 -> 33858 bytes kge.iconset/icon_128x128@2x.png | Bin 0 -> 126472 bytes kge.iconset/icon_16x16.png | Bin 0 -> 911 bytes kge.iconset/icon_16x16@2x.png | Bin 0 -> 2610 bytes kge.iconset/icon_256x256.png | Bin 0 -> 126472 bytes kge.iconset/icon_256x256@2x.png | Bin 0 -> 494589 bytes kge.iconset/icon_32x32.png | Bin 0 -> 2610 bytes kge.iconset/icon_32x32@2x.png | Bin 0 -> 9170 bytes kge.iconset/icon_512x512.png | Bin 0 -> 494589 bytes kge.iconset/icon_512x512@2x.png | Bin 0 -> 1841989 bytes kge.png | Bin 0 -> 1798298 bytes main.cc | 13 ++- test_undo.cc | 7 +- 51 files changed, 592 insertions(+), 94 deletions(-) create mode 100644 GUIConfig.cc create mode 100644 GUIConfig.h create mode 100644 kge.icns create mode 100644 kge.iconset/icon_128x128.png create mode 100644 kge.iconset/icon_128x128@2x.png create mode 100644 kge.iconset/icon_16x16.png create mode 100644 kge.iconset/icon_16x16@2x.png create mode 100644 kge.iconset/icon_256x256.png create mode 100644 kge.iconset/icon_256x256@2x.png create mode 100644 kge.iconset/icon_32x32.png create mode 100644 kge.iconset/icon_32x32@2x.png create mode 100644 kge.iconset/icon_512x512.png create mode 100644 kge.iconset/icon_512x512@2x.png create mode 100644 kge.png diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 5f75a5e..a068fd4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -33,12 +33,58 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +