From 0fdca0327021e8eb6610fb001daa915abf4ce7f0 Mon Sep 17 00:00:00 2001 From: Sorgelig Date: Mon, 6 Mar 2023 03:16:02 +0800 Subject: [PATCH] menu: fix scrolling of folders with initial underscore. --- menu.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/menu.cpp b/menu.cpp index ae6557a..0c4f6a4 100644 --- a/menu.cpp +++ b/menu.cpp @@ -6732,15 +6732,20 @@ void ScrollLongName(void) // this function is called periodically when file selection window is displayed // it checks if predefined period of time has elapsed and scrolls the name if necessary - static int len; + int off = 0; int max_len; - len = strlen(flist_SelectedItem()->altname); // get name length + int len = strlen(flist_SelectedItem()->altname); // get name length max_len = 30; // number of file name characters to display (one more required for scrolling) if (flist_SelectedItem()->de.d_type == DT_DIR) { max_len = 23; // number of directory name characters to display + if ((fs_Options & SCANO_CORES) && (flist_SelectedItem()->altname[0] == '_')) + { + off = 1; + len--; + } } if (flist_SelectedItem()->de.d_type != DT_DIR) // if a file @@ -6755,7 +6760,7 @@ void ScrollLongName(void) } } - ScrollText(flist_iSelectedEntry()-flist_iFirstEntry(), flist_SelectedItem()->altname, 0, len, max_len, 1); + ScrollText(flist_iSelectedEntry() - flist_iFirstEntry(), flist_SelectedItem()->altname + off, 0, len, max_len, 1); } // print directory contents