diff --git a/demos/printerdemo_mcu/esp-idf/main/main.cpp b/demos/printerdemo_mcu/esp-idf/main/main.cpp index 3c7baad5bbf..f5223faa92f 100644 --- a/demos/printerdemo_mcu/esp-idf/main/main.cpp +++ b/demos/printerdemo_mcu/esp-idf/main/main.cpp @@ -74,7 +74,7 @@ extern "C" void app_main(void) char time_buf[100] = { 0 }; std::strftime(time_buf, sizeof(time_buf), "%H:%M:%S %d/%m/%Y", std::localtime(&now)); PrinterQueueItem item; - item.status = JobStatus::Waiting; + item.status = "waiting"; item.progress = 0; item.title = std::move(name); item.owner = "joe@example.com"; @@ -94,7 +94,7 @@ extern "C" void app_main(void) if (top_item.progress > 100) { printer_queue->erase(0); } else { - top_item.status = JobStatus::Printing; + top_item.status = "printing"; printer_queue->set_row_data(0, top_item); } } diff --git a/demos/printerdemo_mcu/main.rs b/demos/printerdemo_mcu/main.rs index 3265b2b4ec9..93a8d6e0f6e 100644 --- a/demos/printerdemo_mcu/main.rs +++ b/demos/printerdemo_mcu/main.rs @@ -21,7 +21,7 @@ struct PrinterQueueData { impl PrinterQueueData { fn push_job(&self, title: slint::SharedString) { self.data.push(PrinterQueueItem { - status: JobStatus::Waiting, + status: "waiting".into(), progress: 0, title, owner: env!("CARGO_PKG_AUTHORS").into(), @@ -78,7 +78,7 @@ fn main() -> ! { if printer_queue.data.row_count() > 0 { let mut top_item = printer_queue.data.row_data(0).unwrap(); top_item.progress += 1; - top_item.status = JobStatus::Printing; + top_item.status = "printing".into(); if top_item.progress > 100 { printer_queue.data.remove(0); if printer_queue.data.row_count() == 0 { diff --git a/demos/printerdemo_mcu/ui/printer_queue.slint b/demos/printerdemo_mcu/ui/printer_queue.slint index 70cf3671f98..2f670289e2f 100644 --- a/demos/printerdemo_mcu/ui/printer_queue.slint +++ b/demos/printerdemo_mcu/ui/printer_queue.slint @@ -3,13 +3,8 @@ import { DemoPalette, PushButton } from "./common.slint"; -enum JobStatus { - Waiting, - Printing -} - export struct PrinterQueueItem { - status: JobStatus, + status: string, progress: int, title: string, owner: string, @@ -20,19 +15,19 @@ export struct PrinterQueueItem { export global PrinterQueue { in property <[PrinterQueueItem]> printer-queue: [ - { status: JobStatus.Printing, progress: 63, title: "Slint-Demo.jpeg", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, - { status: JobStatus.Waiting, title: "Adressliste.docx", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, - { status: JobStatus.Waiting, title: "210106-FinalPresentation.pdf", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, + { status: "printing", progress: 63, title: "Slint-Demo.jpeg", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, + { status: "waiting", title: "Adressliste.docx", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, + { status: "waiting", title: "210106-FinalPresentation.pdf", owner: "info@slint.dev", pages: 6, size: "143kb", submission-date: "11:41 25/01/21" }, ]; callback start-job(string); callback cancel-job(int); callback pause-job(int); - public pure function statusString(status: JobStatus) -> string { - if (status == JobStatus.Printing) { + public pure function statusString(status: string) -> string { + if (status == "printing") { "PRINTING" - } else if (status == JobStatus.Waiting) { + } else if (status == "waiting") { "WAITING..." } else { "Unknown job status" @@ -186,7 +181,7 @@ component NarrowPrintQueueElement inherits Rectangle { Text { // TODO: text-transform: uppercase text: { - if (root.queue-item.status == JobStatus.Printing) { + if (root.queue-item.status == "printing") { "\{root.queue-item.progress}% - \{PrinterQueue.statusString(root.queue-item.status)}" } else { PrinterQueue.statusString(root.queue-item.status)