Skip to content

Commit afc47a9

Browse files
committed
print file name on sd card file picker
either show default title or filename when selected
1 parent 7fb464f commit afc47a9

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

examples/SDCard/SDCard/SDCard.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ using namespace Menu;
2222
// and we also need to refer to `sdFolder` inside the function
2323
result sdFolder(eventMask event, navNode& nav, prompt &item);
2424

25-
SDMenu<typeof(SD)> sdFolderMenu(SD,"SD Card","/",sdFolder,enterEvent);
25+
SDMenu<decltype(SD)> sdFolderMenu(SD,"SD Card","/",sdFolder,enterEvent);
2626

2727
//implementing the handler here after sdFolder is defined...
2828
result sdFolder(eventMask event, navNode& nav, prompt &item) {

src/plugin/SDMenu.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ using namespace Menu;
2323
template<typename SDC>
2424
class SDMenu:public menuNode {
2525
public:
26-
SDC SD;
26+
SDC& SD;
2727
idx_t selIdx=0;//preserve selection context, because we preserve folder ctx too
2828
String folderName="/";//set this to other folder when needed
2929
String selectedFile="";
@@ -165,8 +165,11 @@ using namespace Menu;
165165
template<typename SDC>
166166
Used SDMenu<SDC>::printTo(navRoot &root,bool sel,menuOut& out, idx_t idx,idx_t len,idx_t pn) {
167167
((menuNodeShadow*)shadow)->sz=count();
168-
if(root.navFocus!=this) //show given title
169-
return menuNode::printTo(root,sel,out,idx,len,pn);
168+
if(root.navFocus!=this) {//show given title or filename if selected
169+
return selectedFile==""?
170+
menuNode::printTo(root,sel,out,idx,len,pn):
171+
out.printRaw(selectedFile.c_str(),len);
172+
}
170173
else if(idx==-1)//when menu open (show folder name)
171174
return out.printRaw(folderName.c_str(),len);
172175
//drawing options

0 commit comments

Comments
 (0)