diff --git a/CARDPUTER CircuitPython/projects/text_editor.py b/CARDPUTER CircuitPython/projects/text_editor.py index ebfd5d6..934436f 100644 --- a/CARDPUTER CircuitPython/projects/text_editor.py +++ b/CARDPUTER CircuitPython/projects/text_editor.py @@ -27,7 +27,7 @@ try: sdcard = sdcardio.SDCard(spi, cs) 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" except OSError: SD_status = "No SD card found" @@ -52,7 +52,7 @@ board.DISPLAY.root_group = intro_text_area intro_text_area.append(text_area) 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.x = 10 save_group.y = 10 @@ -61,10 +61,17 @@ filename_group.x = 0 filename_group.y = 60 save_group.append(filename_group) -open_text = "open file" -open_group = label.Label(terminalio.FONT, text=open_text) +files_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.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: key = keyb.scan() @@ -93,6 +100,15 @@ while True: elif key == "CTRLO": board.DISPLAY.root_group = open_group 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": if page == "editor": @@ -117,11 +133,21 @@ while True: ## The save file menu - for typing the filename elif page == "save": - if key == "\n": - pass # handle saving the file + if key == "DOWN": + 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): pass # dont allow special characters to be entered else: filename_text = filename_text+key filename_group.text=filename_text - \ No newline at end of file + + ## The open file menu - for selecting a file + elif page == "open": + pass