| 98 | } |
| 99 | |
| 100 | void ScreenshotApp::onStartPressed() { |
| 101 | auto service = service::screenshot::optScreenshotService(); |
| 102 | if (service == nullptr) { |
| 103 | LOGGER.error("Service not found/running"); |
| 104 | return; |
| 105 | } |
| 106 | |
| 107 | if (service->isTaskStarted()) { |
| 108 | LOGGER.info("Stop screenshot"); |
| 109 | service->stop(); |
| 110 | } else { |
| 111 | uint32_t selected = lv_dropdown_get_selected(modeDropdown); |
| 112 | const char* path = lv_textarea_get_text(pathTextArea); |
| 113 | if (selected == 0) { |
| 114 | LOGGER.info("Start timed screenshots"); |
| 115 | const char* delay_text = lv_textarea_get_text(delayTextArea); |
| 116 | int delay = atoi(delay_text); |
| 117 | if (delay > 0) { |
| 118 | service->startTimed(path, delay, 1); |
| 119 | } else { |
| 120 | LOGGER.warn("Ignored screenshot start because delay was 0"); |
| 121 | } |
| 122 | } else { |
| 123 | LOGGER.info("Start app screenshots"); |
| 124 | service->startApps(path); |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | updateScreenshotMode(); |
| 129 | } |
| 130 | |
| 131 | void ScreenshotApp::updateScreenshotMode() { |
| 132 | auto service = service::screenshot::optScreenshotService(); |
no test coverage detected