summaryrefslogtreecommitdiff
path: root/src/ui/modal_progress.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-25 10:13:37 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-25 10:13:37 +1000
commit3b3bc64d19715c418f407d5231795ca5a2c2fa71 (patch)
tree87fb1bf2b9ec366abc712f2096a0908d0ae2cc4b /src/ui/modal_progress.cpp
parent079b2b53d434869df419da1373aba239990c34d9 (diff)
downloadtangara-fw-3b3bc64d19715c418f407d5231795ca5a2c2fa71.tar.gz
Add modal dialog support
Diffstat (limited to 'src/ui/modal_progress.cpp')
-rw-r--r--src/ui/modal_progress.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/ui/modal_progress.cpp b/src/ui/modal_progress.cpp
new file mode 100644
index 00000000..f60b324a
--- /dev/null
+++ b/src/ui/modal_progress.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2023 jacqueline <me@jacqueline.id.au>
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+#include "modal_progress.hpp"
+
+#include "core/lv_event.h"
+#include "core/lv_obj.h"
+#include "core/lv_obj_tree.h"
+#include "esp_log.h"
+
+#include "core/lv_group.h"
+#include "core/lv_obj_pos.h"
+#include "event_queue.hpp"
+#include "extra/widgets/list/lv_list.h"
+#include "extra/widgets/menu/lv_menu.h"
+#include "extra/widgets/spinner/lv_spinner.h"
+#include "hal/lv_hal_disp.h"
+#include "index.hpp"
+#include "misc/lv_area.h"
+#include "ui_events.hpp"
+#include "ui_fsm.hpp"
+#include "widget_top_bar.hpp"
+#include "widgets/lv_label.h"
+
+namespace ui {
+namespace modals {
+
+Progress::Progress(Screen* host, std::string title_text) : Modal(host) {
+ lv_obj_set_layout(root_, LV_LAYOUT_FLEX);
+ lv_obj_set_flex_flow(root_, LV_FLEX_FLOW_COLUMN);
+ lv_obj_set_flex_align(root_, LV_FLEX_ALIGN_SPACE_EVENLY, LV_FLEX_ALIGN_CENTER,
+ LV_FLEX_ALIGN_CENTER);
+
+ lv_obj_t* title = lv_label_create(root_);
+ lv_label_set_text(title, title_text.c_str());
+ lv_obj_set_size(title, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
+
+ lv_obj_t* spinner = lv_spinner_create(root_, 3000, 45);
+ lv_obj_set_size(spinner, 16, 16);
+}
+
+} // namespace modals
+} // namespace ui