From e2a30ba4403f4e4d8e6c8ebe0cd2f47012e4d3e7 Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Tue, 28 Nov 2023 17:29:14 +0800 Subject: [PATCH] Fixed bug number 9820. --- .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 4a6128856..f49e869cd 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1769,6 +1769,23 @@ static void UIFlowPhoto_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* m } } +static void UIFlowPhoto_Key_down(lv_obj_t* obj, uint32_t key) +{ + switch(key) + { + case LV_USER_KEY_DOWN: + case LV_USER_KEY_NEXT: + { + g_preview_info_ishidden = false; + lv_obj_set_hidden(g_preview_info_msgbox, g_preview_info_ishidden); + break; + } + default: + { + break; + } + } +} static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) { printf("\r\n[%s] line:%d %d\n", __FUNCTION__, __LINE__,key); @@ -1805,6 +1822,7 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) case LV_USER_KEY_ZOOMIN: { g_preview_info_ishidden = true; + lv_obj_set_hidden(g_preview_info_msgbox, g_preview_info_ishidden); KeyDownPressingTimeMs = 0; break; CHKPNT; @@ -1900,7 +1918,7 @@ void UIFlowPhtot_KeyLongPress(lv_obj_t* obj, uint32_t key) } case LV_USER_KEY_NEXT: { - g_preview_info_ishidden = false; + // g_preview_info_ishidden = false; KeyDownPressingTimeMs += LONG_PRESS_INTERVAL; if (5 * 1000 <= KeyDownPressingTimeMs) { @@ -1969,7 +1987,14 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) UIFlowPhoto_OnKeyMenu(obj); break; - // case LV_EVENT_KEY: + case LV_EVENT_KEY: + { + uint32_t* key = (uint32_t*)lv_event_get_data(); + UIFlowPhoto_Key_down(obj, *key); + if(*key != LV_KEY_ENTER) + lv_indev_wait_release(lv_indev_get_act()); + break; + } case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data();