浏览代码

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
     sdcard = sdcardio.SDCard(spi, cs)
27
     sdcard = sdcardio.SDCard(spi, cs)
28
     vfs = storage.VfsFat(sdcard)
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
     SD_status = "SD Card Mounted"
31
     SD_status = "SD Card Mounted"
32
 except OSError:
32
 except OSError:
33
     SD_status = "No SD card found"
33
     SD_status = "No SD card found"
52
 intro_text_area.append(text_area)
52
 intro_text_area.append(text_area)
53
 
53
 
54
 filename_text = ""
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
 save_group = label.Label(terminalio.FONT, text=save_text, color="C3B")
56
 save_group = label.Label(terminalio.FONT, text=save_text, color="C3B")
57
 save_group.x = 10
57
 save_group.x = 10
58
 save_group.y = 10
58
 save_group.y = 10
61
 filename_group.y = 60
61
 filename_group.y = 60
62
 save_group.append(filename_group)
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
 open_group.x = 10
67
 open_group.x = 10
67
 open_group.y = 10
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
 while True:
76
 while True:
70
     key = keyb.scan()
77
     key = keyb.scan()
93
     elif key == "CTRLO":
100
     elif key == "CTRLO":
94
         board.DISPLAY.root_group = open_group
101
         board.DISPLAY.root_group = open_group
95
         page="open"
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
     elif key == "ESC":
113
     elif key == "ESC":
98
         if page == "editor":
114
         if page == "editor":
117
 
133
 
118
         ## The save file menu - for typing the filename
134
         ## The save file menu - for typing the filename
119
         elif page == "save":
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
             elif not keyb.is_alphanumeric(key):
145
             elif not keyb.is_alphanumeric(key):
123
                 pass # dont allow special characters to be entered
146
                 pass # dont allow special characters to be entered
124
             else:
147
             else:
125
                 filename_text = filename_text+key
148
                 filename_text = filename_text+key
126
                 filename_group.text=filename_text
149
                 filename_group.text=filename_text
127
-            
150
+
151
+        ## The open file menu - for selecting a file
152
+        elif page == "open":
153
+            pass