Skip to content

Commit e8edfb6

Browse files
committed
use filename instead of index
because we just have it and because folder can change.
1 parent afc47a9 commit e8edfb6

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

examples/SDCard/SDCard/SDCard.ino

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ 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) {
29-
switch(event) {
30-
case enterCmd:
29+
// switch(event) {//for now events are filtered only for enter, so we dont need this checking
30+
// case enterCmd:
3131
if (nav.root->navFocus==&sdFolderMenu) {
3232
Serial.println();
3333
Serial.print("selected file:");
3434
Serial.println(sdFolderMenu.selectedFile);
3535
Serial.print("from folder:");
3636
Serial.println(sdFolderMenu.folderName);
3737
}
38-
break;
39-
}
38+
// break;
39+
// }
4040
return proceed;
4141
}
4242

src/plugin/SDMenu.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ using namespace Menu;
2424
class SDMenu:public menuNode {
2525
public:
2626
SDC& SD;
27-
idx_t selIdx=0;//preserve selection context, because we preserve folder ctx too
27+
//idx_t selIdx=0;//preserve selection context, because we preserve folder ctx too
28+
//we should use filename instead!
29+
2830
String folderName="/";//set this to other folder when needed
2931
String selectedFile="";
3032
// using menuNode::menuNode;//do not use default constructors as we wont allocate for data
@@ -55,7 +57,7 @@ using namespace Menu;
5557
switch(event) {
5658
case enterEvent:
5759
if (nav.root->navFocus!=nav.target) {//on sd card entry
58-
nav.sel=((SDMenu*)(&item))->selIdx;//restore context
60+
nav.sel=((SDMenu*)(&item))->entryIdx(((SDMenu*)(&item))->selectedFile);//restore context
5961
}
6062
}
6163
return proceed;
@@ -73,7 +75,6 @@ using namespace Menu;
7375
dirty=true;//redraw menu
7476
nav.sel=0;
7577
} else {
76-
selIdx=nav.sel;
7778
//Serial.print("\nFile selected:");
7879
//select a file and return
7980
selectedFile=selFile;
@@ -93,11 +94,9 @@ using namespace Menu;
9394
dirty=true;//redraw menu
9495
nav.sel=entryIdx(fn);
9596
}
96-
selIdx=nav.sel;
9797
return;
9898
}
9999
menuNode::doNav(nav,cmd);
100-
selIdx=nav.sel;
101100
}
102101

103102
template<typename SDC>

0 commit comments

Comments
 (0)