Update 'CARDPUTER CircuitPython/projects/text_editor.py'

This commit is contained in:
2025-03-07 12:20:46 +00:00
parent 74efe3a9a5
commit dceb058f61

View File

@@ -27,7 +27,7 @@ try:
sdcard = sdcardio.SDCard(spi, cs) sdcard = sdcardio.SDCard(spi, cs)
vfs = storage.VfsFat(sdcard) vfs = storage.VfsFat(sdcard)
storage.mount(vfs, "/sd") # access files on sd card here storage.mount(vfs, "/sd", readonly=False) # access files on sd card here
SD_status = "SD Card Mounted" SD_status = "SD Card Mounted"
except OSError: except OSError:
SD_status = "No SD card found" SD_status = "No SD card found"
@@ -52,7 +52,7 @@ board.DISPLAY.root_group = intro_text_area
intro_text_area.append(text_area) intro_text_area.append(text_area)
filename_text = "" filename_text = ""
save_text = "Save File - Enter Filename\nIf file exists, it will be overwritten" save_text = "Save File - Enter Filename\nOverwriting Enabled"
save_group = label.Label(terminalio.FONT, text=save_text, color="C3B") save_group = label.Label(terminalio.FONT, text=save_text, color="C3B")
save_group.x = 10 save_group.x = 10
save_group.y = 10 save_group.y = 10
@@ -61,10 +61,17 @@ filename_group.x = 0
filename_group.y = 60 filename_group.y = 60
save_group.append(filename_group) save_group.append(filename_group)
open_text = "open file" files_text = ""
open_group = label.Label(terminalio.FONT, text=open_text) open_text = "Open File - Select using arrow keys"
open_group = label.Label(terminalio.FONT, text=open_text, color="C3B")
open_group.x = 10 open_group.x = 10
open_group.y = 10 open_group.y = 10
files_group = label.Label(terminalio.FONT, text=files_text)
files_group.x = 0
files_group.y = 30
open_group.append(files_group)
open_cursor = 0
while True: while True:
key = keyb.scan() key = keyb.scan()
@@ -93,6 +100,15 @@ while True:
elif key == "CTRLO": elif key == "CTRLO":
board.DISPLAY.root_group = open_group board.DISPLAY.root_group = open_group
page="open" page="open"
files_text = ""
index = 0
for file in os.listdir("/sd"):
filename = str(file)
if index == open_cursor:
filename = "> " + filename
files_text = files_text + filename+"\n"
index += 1
files_group.text = files_text
elif key == "ESC": elif key == "ESC":
if page == "editor": if page == "editor":
@@ -117,11 +133,21 @@ while True:
## The save file menu - for typing the filename ## The save file menu - for typing the filename
elif page == "save": elif page == "save":
if key == "\n": if key == "DOWN":
pass # handle saving the file filename_text = filename_text + "."
filename_group.text = filename_text
elif key == "\n":
with open("/sd/"+filename_text, "w") as f:
f.write(text)
f.close()
board.DISPLAY.root_group = intro_text_area
page = "editor"
elif not keyb.is_alphanumeric(key): elif not keyb.is_alphanumeric(key):
pass # dont allow special characters to be entered pass # dont allow special characters to be entered
else: else:
filename_text = filename_text+key filename_text = filename_text+key
filename_group.text=filename_text filename_group.text=filename_text
## The open file menu - for selecting a file
elif page == "open":
pass