Browse Source

SD Menu patches

Scott Lahteine 7 years ago
parent
commit
5a1f1305f0
3 changed files with 8 additions and 6 deletions
  1. 4
    3
      Marlin/cardreader.cpp
  2. 1
    1
      Marlin/cardreader.h
  3. 3
    2
      Marlin/ultralcd.cpp

+ 4
- 3
Marlin/cardreader.cpp View File

626
   }
626
   }
627
 }
627
 }
628
 
628
 
629
-void CardReader::updir() {
630
-  if (workDirDepth > 0) {                                           // At least 1 dir has been saved
631
-    workDir = --workDirDepth ? workDirParents[workDirDepth] : root; // Use parent, or root if none
629
+int8_t CardReader::updir() {
630
+  if (workDirDepth > 0) {                                               // At least 1 dir has been saved
631
+    workDir = --workDirDepth ? workDirParents[workDirDepth - 1] : root; // Use parent, or root if none
632
     #if ENABLED(SDCARD_SORT_ALPHA)
632
     #if ENABLED(SDCARD_SORT_ALPHA)
633
       presort();
633
       presort();
634
     #endif
634
     #endif
635
   }
635
   }
636
+  return workDirDepth;
636
 }
637
 }
637
 
638
 
638
 #if ENABLED(SDCARD_SORT_ALPHA)
639
 #if ENABLED(SDCARD_SORT_ALPHA)

+ 1
- 1
Marlin/cardreader.h View File

67
 
67
 
68
   void ls();
68
   void ls();
69
   void chdir(const char *relpath);
69
   void chdir(const char *relpath);
70
-  void updir();
70
+  int8_t updir();
71
   void setroot();
71
   void setroot();
72
 
72
 
73
   uint16_t get_num_Files();
73
   uint16_t get_num_Files();

+ 3
- 2
Marlin/ultralcd.cpp View File

3758
     #endif
3758
     #endif
3759
 
3759
 
3760
     void lcd_sd_updir() {
3760
     void lcd_sd_updir() {
3761
-      card.updir();
3761
+      encoderPosition = card.updir() ? ENCODER_STEPS_PER_MENU_ITEM : 0;
3762
       encoderTopLine = 0;
3762
       encoderTopLine = 0;
3763
       screen_changed = true;
3763
       screen_changed = true;
3764
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
3764
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4457
     void menu_action_sddirectory(const char* filename, char* longFilename) {
4457
     void menu_action_sddirectory(const char* filename, char* longFilename) {
4458
       UNUSED(longFilename);
4458
       UNUSED(longFilename);
4459
       card.chdir(filename);
4459
       card.chdir(filename);
4460
-      encoderPosition = 0;
4460
+      encoderTopLine = 0;
4461
+      encoderPosition = 2 * ENCODER_STEPS_PER_MENU_ITEM;
4461
       screen_changed = true;
4462
       screen_changed = true;
4462
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4463
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4463
     }
4464
     }

Loading…
Cancel
Save