From 37ce7bc244925c7c6864b72aa3c83549bd78d904 Mon Sep 17 00:00:00 2001 From: JetSetIlly Date: Wed, 17 Apr 2024 10:16:06 +0100 Subject: [PATCH] cartridge names have file extensions clipped only if the extension is in the list of known/supported file extensions --- cartridgeloader/naming.go | 6 +++++- gui/sdlimgui/win_rom_select.go | 10 ++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cartridgeloader/naming.go b/cartridgeloader/naming.go index ca554ddf..ec25d03c 100644 --- a/cartridgeloader/naming.go +++ b/cartridgeloader/naming.go @@ -17,6 +17,7 @@ package cartridgeloader import ( "path/filepath" + "slices" "strings" ) @@ -40,6 +41,9 @@ func decideOnName(ld Loader) string { // is inconvenient. func NameFromFilename(filename string) string { name := filepath.Base(filename) - name = strings.TrimSuffix(name, filepath.Ext(filename)) + ext := filepath.Ext(filename) + if slices.Contains(FileExtensions, ext) { + name = strings.TrimSuffix(name, filepath.Ext(filename)) + } return name } diff --git a/gui/sdlimgui/win_rom_select.go b/gui/sdlimgui/win_rom_select.go index b146262c..b0ae54b3 100644 --- a/gui/sdlimgui/win_rom_select.go +++ b/gui/sdlimgui/win_rom_select.go @@ -258,7 +258,7 @@ func (win *winSelectROM) draw() { win.selectedName = win.selectedProperties.Name if win.selectedName == "" { win.selectedName = win.path.Base() - win.selectedName = strings.TrimSuffix(win.selectedName, filepath.Ext(win.selectedName)) + win.selectedName = cartridgeloader.NameFromFilename(win.selectedName) } // normalise ROM name for presentation @@ -588,6 +588,11 @@ func (win *winSelectROM) draw() { } } } + + imgui.Spacing() + imgui.Checkbox("Show All", &win.showAllFiles) + imgui.SameLine() + imgui.Checkbox("Show Hidden", &win.showHidden) }) } @@ -622,9 +627,6 @@ func (win *winSelectROM) setPath(path string) error { } func (win *winSelectROM) setSelectedFile(filename string) { - // selected name will be - win.selectedName = "" - // return immediately if the filename is empty if filename == "" { return