浏览代码

Update 'CARDPUTER CircuitPython/projects/text_editor.py'

cube 9 个月前
父节点
当前提交
dceb058f61
共有 1 个文件被更改,包括 33 次插入7 次删除
  1. 33
    7
      CARDPUTER CircuitPython/projects/text_editor.py

+ 33
- 7
CARDPUTER CircuitPython/projects/text_editor.py 查看文件

@@ -27,7 +27,7 @@ try:
27 27
     sdcard = sdcardio.SDCard(spi, cs)
28 28
     vfs = storage.VfsFat(sdcard)
29 29
 
30
-    storage.mount(vfs, "/sd") # access files on sd card here
30
+    storage.mount(vfs, "/sd", readonly=False) # access files on sd card here
31 31
     SD_status = "SD Card Mounted"
32 32
 except OSError:
33 33
     SD_status = "No SD card found"
@@ -52,7 +52,7 @@ board.DISPLAY.root_group = intro_text_area
52 52
 intro_text_area.append(text_area)
53 53
 
54 54
 filename_text = ""
55
-save_text = "Save File - Enter Filename\nIf file exists, it will be overwritten"
55
+save_text = "Save File - Enter Filename\nOverwriting Enabled"
56 56
 save_group = label.Label(terminalio.FONT, text=save_text, color="C3B")
57 57
 save_group.x = 10
58 58
 save_group.y = 10
@@ -61,10 +61,17 @@ filename_group.x = 0
61 61
 filename_group.y = 60
62 62
 save_group.append(filename_group)
63 63
 
64
-open_text = "open file"
65
-open_group = label.Label(terminalio.FONT, text=open_text)
64
+files_text = ""
65
+open_text = "Open File - Select using arrow keys"
66
+open_group = label.Label(terminalio.FONT, text=open_text, color="C3B")
66 67
 open_group.x = 10
67 68
 open_group.y = 10
69
+files_group = label.Label(terminalio.FONT, text=files_text)
70
+files_group.x = 0
71
+files_group.y = 30
72
+open_group.append(files_group)
73
+
74
+open_cursor = 0
68 75
 
69 76
 while True:
70 77
     key = keyb.scan()
@@ -93,6 +100,15 @@ while True:
93 100
     elif key == "CTRLO":
94 101
         board.DISPLAY.root_group = open_group
95 102
         page="open"
103
+        files_text = ""
104
+        index = 0
105
+        for file in os.listdir("/sd"):
106
+            filename = str(file)
107
+            if index == open_cursor:
108
+                filename = "> " + filename
109
+            files_text = files_text + filename+"\n"
110
+            index += 1
111
+        files_group.text = files_text
96 112
         
97 113
     elif key == "ESC":
98 114
         if page == "editor":
@@ -117,11 +133,21 @@ while True:
117 133
 
118 134
         ## The save file menu - for typing the filename
119 135
         elif page == "save":
120
-            if key == "\n":
121
-                pass # handle saving the file
136
+            if key == "DOWN":
137
+                filename_text = filename_text + "."
138
+                filename_group.text = filename_text
139
+            elif key == "\n":
140
+                with open("/sd/"+filename_text, "w") as f:
141
+                    f.write(text)
142
+                    f.close()
143
+                board.DISPLAY.root_group = intro_text_area
144
+                page = "editor"
122 145
             elif not keyb.is_alphanumeric(key):
123 146
                 pass # dont allow special characters to be entered
124 147
             else:
125 148
                 filename_text = filename_text+key
126 149
                 filename_group.text=filename_text
127
-            
150
+
151
+        ## The open file menu - for selecting a file
152
+        elif page == "open":
153
+            pass