| 30 | #pragma region Main_Events_Functions |
| 31 | |
| 32 | void appNotesEventCb(lv_event_t* e) { |
| 33 | lv_event_code_t code = lv_event_get_code(e); |
| 34 | lv_obj_t* obj = lv_event_get_target_obj(e); |
| 35 | |
| 36 | if (code == LV_EVENT_VALUE_CHANGED) { |
| 37 | if (obj == uiDropDownMenu) { |
| 38 | switch (lv_dropdown_get_selected(obj)) { |
| 39 | case 0: // New |
| 40 | resetFileContent(); |
| 41 | break; |
| 42 | case 1: // Save |
| 43 | if (!filePath.empty()) { |
| 44 | lvgl::getSyncLock()->lock(); |
| 45 | saveBuffer = lv_textarea_get_text(uiNoteText); |
| 46 | lvgl::getSyncLock()->unlock(); |
| 47 | saveFile(filePath); |
| 48 | } |
| 49 | break; |
| 50 | case 2: // Save as... |
| 51 | lvgl::getSyncLock()->lock(); |
| 52 | saveBuffer = lv_textarea_get_text(uiNoteText); |
| 53 | lvgl::getSyncLock()->unlock(); |
| 54 | saveFileLaunchId = fileselection::startForExistingOrNewFile(); |
| 55 | LOGGER.info("launched with id {}", saveFileLaunchId); |
| 56 | break; |
| 57 | case 3: // Load |
| 58 | loadFileLaunchId = fileselection::startForExistingFile(); |
| 59 | LOGGER.info("launched with id {}", loadFileLaunchId); |
| 60 | break; |
| 61 | } |
| 62 | } else { |
| 63 | auto* cont = lv_event_get_current_target_obj(e); |
| 64 | if (obj == cont) return; |
| 65 | if (lv_obj_get_child(cont, 1)) { |
| 66 | saveFileLaunchId = fileselection::startForExistingOrNewFile(); |
| 67 | LOGGER.info("launched with id {}", saveFileLaunchId); |
| 68 | } else { //Reset |
| 69 | resetFileContent(); |
| 70 | } |
| 71 | } |
| 72 | } |
| 73 | } |
| 74 | |
| 75 | void resetFileContent() { |
| 76 | lv_textarea_set_text(uiNoteText, ""); |
no test coverage detected