Backup switch setting code.
This commit is contained in:
		
							parent
							
								
									789db4be0f
								
							
						
					
					
						commit
						b1176dc336
					
				| 
						 | 
				
			
			@ -45,7 +45,7 @@ TMDEF_EMNU(gQrMenu, QR, Qr_MenuCallback)
 | 
			
		|||
// --------------------------------------------------------------------------
 | 
			
		||||
int Qr_MenuCallback(UINT32 uiMessage, UINT32 uiParam) 
 | 
			
		||||
{
 | 
			
		||||
  printf(" ====================================================== \n");
 | 
			
		||||
  printf(" ====================================================== gQrMenu\n");
 | 
			
		||||
  UINT16 uwItemId;
 | 
			
		||||
//   UINT16 uwOption;
 | 
			
		||||
  if (uiMessage == TMM_CONFIRM_OPTION)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
#include "PrjInc.h"
 | 
			
		||||
#include "UIFlowLVGL/UIFlowLVGL.h"
 | 
			
		||||
#include "UIApp/Network/UIAppNetwork.h"
 | 
			
		||||
#include "UIFlowLVGL/UIFlowMenuCommonItem/MenuId.h"
 | 
			
		||||
#include <kwrap/debug.h>
 | 
			
		||||
 | 
			
		||||
#define PAGE           32
 | 
			
		||||
| 
						 | 
				
			
			@ -145,7 +146,70 @@ static void LV_MenuItem_OnDown(lv_obj_t* obj)
 | 
			
		|||
		LV_MenuItem_OnSelected(obj);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#define ITEM_IS_SWITCH 1
 | 
			
		||||
#define ITEM_IS_NOT_SWITCH 0
 | 
			
		||||
static int IsItemSwitch(const TM_ITEM *item)
 | 
			
		||||
{
 | 
			
		||||
	if (NULL == item || NULL == item->pOptions)
 | 
			
		||||
	{
 | 
			
		||||
		printf(" faield:null pointer.\n");
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
	if (LV_PLUGIN_STRING_ID_STRID_OFF == (&item->pOptions[0])->TextId 
 | 
			
		||||
	||LV_PLUGIN_STRING_ID_STRID_ON == (&item->pOptions[0])->TextId)
 | 
			
		||||
	{
 | 
			
		||||
		printf("item is switch.\n");
 | 
			
		||||
		return ITEM_IS_SWITCH;
 | 
			
		||||
	} else {
 | 
			
		||||
		printf("item is not switch.\n");
 | 
			
		||||
		return ITEM_IS_NOT_SWITCH;
 | 
			
		||||
	}
 | 
			
		||||
    return -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void SetSwitchItem(TM_ITEM *item)
 | 
			
		||||
{
 | 
			
		||||
	if (NULL == item)
 | 
			
		||||
	{
 | 
			
		||||
		printf(" faield:null pointer.\n");
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	UIMenuStoreInfo *puiPara = sf_ui_para_get();
 | 
			
		||||
	switch (item->ItemId)
 | 
			
		||||
	{
 | 
			
		||||
		case IDM_PASSWORD:
 | 
			
		||||
		{
 | 
			
		||||
			printf("set IDM_PASSWORD.\n");
 | 
			
		||||
	        char settingValue = puiPara->PwdSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
 | 
			
		||||
			if (SF_CAMID_ON == settingValue)
 | 
			
		||||
			{
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
			}
 | 
			
		||||
			puiPara->PwdSwitch = settingValue;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		case IDM_CAMERA_NAME:
 | 
			
		||||
		{
 | 
			
		||||
			printf("set IDM_CAMERA_NAME.\n");
 | 
			
		||||
    // CamPara->cameraID   = puiPara->CamNameSwitch == SF_CAMID_OFF ? 0:1;
 | 
			
		||||
	        char settingValue = puiPara->CamNameSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
 | 
			
		||||
			if (SF_CAMID_ON == settingValue)
 | 
			
		||||
			{
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
			}
 | 
			
		||||
			puiPara->CamNameSwitch = settingValue;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void LV_MenuItem_OnSelected(lv_obj_t* obj)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -177,17 +241,24 @@ static void LV_MenuItem_OnSelected(lv_obj_t* obj)
 | 
			
		|||
                return;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (pItem->Count != 0 && pItem->SysFlag != 0)   // standard process
 | 
			
		||||
        {
 | 
			
		||||
            pMenu->Status = TMS_ON_OPTION;
 | 
			
		||||
			lv_plugin_scr_open(UIFlowMenuCommonOption, NULL);
 | 
			
		||||
        }
 | 
			
		||||
        else if (pItem->pOptions != 0)                  // custom process
 | 
			
		||||
        {
 | 
			
		||||
            pMenu->Status = TMS_ON_CUSTOM;
 | 
			
		||||
            TM_ITEM_CALLBACK(pItem, 0, 0);              // execute custom menu flow
 | 
			
		||||
        }
 | 
			
		||||
		if (ITEM_IS_SWITCH == IsItemSwitch(pItem))
 | 
			
		||||
		{
 | 
			
		||||
			SetSwitchItem(pItem);
 | 
			
		||||
            LV_MenuCommonItem_UpdateContent(pMenu);
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			if (pItem->Count != 0 && pItem->SysFlag != 0)   // standard process
 | 
			
		||||
			{
 | 
			
		||||
				pMenu->Status = TMS_ON_OPTION;
 | 
			
		||||
				lv_plugin_scr_open(UIFlowMenuCommonOption, NULL);
 | 
			
		||||
			}
 | 
			
		||||
			else if (pItem->pOptions != 0)                  // custom process
 | 
			
		||||
			{
 | 
			
		||||
				pMenu->Status = TMS_ON_CUSTOM;
 | 
			
		||||
				TM_ITEM_CALLBACK(pItem, 0, 0);              // execute custom menu flow
 | 
			
		||||
			}	
 | 
			
		||||
		}
 | 
			
		||||
    }else if(pMenu->Status == TMS_ON_TAB){
 | 
			
		||||
		pItem = &pPage->pItems[pPage->SelItem];
 | 
			
		||||
		lv_plugin_menu_set_item_string_id(menu_item, 0, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pItem->TextId);
 | 
			
		||||
| 
						 | 
				
			
			@ -292,6 +363,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu)
 | 
			
		|||
	BOOL		u_hiddenitem = false;
 | 
			
		||||
	BOOL		u_ItemSel = false;
 | 
			
		||||
	lv_plugin_res_id img_id = LV_PLUGIN_IMG_ID_ICON_REC_TRANSPAENT;
 | 
			
		||||
	UIMenuStoreInfo *puiPara = sf_ui_para_get();
 | 
			
		||||
//    UINT32      uiIcon[TAB_PAGE]; // 2 pages per menu
 | 
			
		||||
//    UINT32      uiText[TAB_PAGE]; // 2 pages per menu
 | 
			
		||||
//	UINT16      SelOption = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -304,7 +376,7 @@ static void LV_MenuCommonItem_UpdateContent(TM_MENU *pMenu)
 | 
			
		|||
	DBG_DUMP("\r\n %s pMenu FirstPage= %d\r\n", __func__, pMenu->FirstPage);
 | 
			
		||||
	DBG_DUMP("\r\n %s pMenu Count= %d\r\n", __func__, pMenu->Count);
 | 
			
		||||
#endif
 | 
			
		||||
printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
 | 
			
		||||
    printf("update content select page = %d\n", pMenu->SelPage);
 | 
			
		||||
	pPage = &pMenu->pPages[pMenu->SelPage];
 | 
			
		||||
	pItem = &pPage->pItems[pPage->SelItem];
 | 
			
		||||
#if 1
 | 
			
		||||
| 
						 | 
				
			
			@ -384,7 +456,9 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
 | 
			
		|||
			pOption = &pItem->pOptions[SysGetFlag(pItem->SysFlag)];
 | 
			
		||||
//			DBG_DUMP("\r\n %s pOption TextId= %d\r\n", __func__, pOption->TextId);
 | 
			
		||||
			
 | 
			
		||||
			if(pItem->ItemId == IDM_MOVIE_WDR){
 | 
			
		||||
			// if(IDM_PASSWORD == pItem->ItemId
 | 
			
		||||
			//    || IDM_CAMERA_NAME == pItem->ItemId){
 | 
			
		||||
			if(0){
 | 
			
		||||
				static lv_plugin_res_id res[] = {
 | 
			
		||||
					LV_PLUGIN_IMG_ID_SF_OFF,
 | 
			
		||||
					LV_PLUGIN_IMG_ID_SF_ON,
 | 
			
		||||
| 
						 | 
				
			
			@ -393,6 +467,10 @@ printf("sssssssssssssssssssss select page = %d\n", pMenu->SelPage);
 | 
			
		|||
				case IDM_MOVIE_WDR:
 | 
			
		||||
					img_id = res[SysGetFlag(FL_MOVIE_WDR)];
 | 
			
		||||
					break;
 | 
			
		||||
				case IDM_PASSWORD:
 | 
			
		||||
	        // char settingValue = puiPara->PwdSwitch == SF_CAMID_OFF ? SF_CAMID_ON:SF_CAMID_OFF;
 | 
			
		||||
					img_id = puiPara->PwdSwitch == SF_CAMID_OFF ? LV_PLUGIN_IMG_ID_SF_OFF:LV_PLUGIN_IMG_ID_SF_ON;
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					img_id = LV_PLUGIN_IMG_ID_SF_OFF;
 | 
			
		||||
					DBG_ERR("NO_match_ItemID, add please!");
 | 
			
		||||
| 
						 | 
				
			
			@ -624,7 +702,6 @@ void container_main_menu_callback(lv_obj_t* obj, lv_event_t event)
 | 
			
		|||
 | 
			
		||||
void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event)
 | 
			
		||||
{
 | 
			
		||||
printf("========================================= %d\n", event);
 | 
			
		||||
	switch(event)
 | 
			
		||||
	{
 | 
			
		||||
	case LV_PLUGIN_EVENT_SCR_OPEN:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -415,6 +415,8 @@ static void LV_MenuOption_OnSelected(lv_obj_t* obj)
 | 
			
		|||
static void UIFlowMenuCommonOption_ScrClose(lv_obj_t* obj)
 | 
			
		||||
{
 | 
			
		||||
	DBG_DUMP("%s\r\n", __func__);
 | 
			
		||||
	UIMenuStoreInfo *puiPara = sf_ui_para_get();
 | 
			
		||||
	printf("camera mode = %d\n", puiPara->CamMode);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void UIFlowMenuCommonOption_ChildScrClose(lv_obj_t* obj)
 | 
			
		||||
| 
						 | 
				
			
			@ -498,6 +500,12 @@ static void UIFlowMenuCommonOption_Key(lv_obj_t* obj, uint32_t key)
 | 
			
		|||
		LV_MenuOption_OnPrev(obj);
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
	case LV_KEY_RIGHT:
 | 
			
		||||
	{
 | 
			
		||||
		printf("========================== right.\n");
 | 
			
		||||
		LV_MenuOption_OnSelected(obj);
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	case LV_USER_KEY_SELECT:
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,6 @@ printf("========================== %d\n", event);
 | 
			
		|||
		/* default to block next key event until released, could be removed depend on use cases. */
 | 
			
		||||
		if(key && *key != LV_KEY_ENTER)
 | 
			
		||||
			lv_indev_wait_release(lv_indev_get_act());
 | 
			
		||||
		printf("sssssssssssssssssssssssssssssssssssssssssssssssssssssss %d\n", *key);
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user