📄 list.c
字号:
ai.pImage = NULL;
ai.pszResImage = NULL;
if(wImage)
ai.pszResImage = NEWSDDT_RES_FILE;
ai.pszResText = NEWSDDT_RES_FILE;
ai.wText = wText;
ai.wImage = wImage;
ai.wItemID = wText;
ai.dwData = NULL;
return(IMENUCTL_AddItemEx(pMenu, &ai));
}
boolean List_HandleEvent(Newsddt* pme, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
IMenuCtl * pm = pme->m_pList[pme->m_nIdx];
uint16 nMax = 0;
if (!pm||(pm && !IMENUCTL_IsActive(pm)))
return FALSE;
if (wParam>AVK_0 && wParam<AVK_POUND)
{
return FALSE;
}
//if(eCode == EVT_APP_RESUME)
//{
// List_Show(pme);
// return TRUE;
//}
nMax = IMENUCTL_GetItemID(pm, MAX(0, IMENUCTL_GetItemCount(pm) - 1));
switch (eCode)
{
case EVT_KEY:
switch(wParam)
{
case AVK_CLR:
if(ReadText_RetToRead(pme)) //如果是阅读图书时的菜单,要返回图书显示界面
{
pme->m_enMenuType = MENU_Null;
return TRUE;
}
pme->m_enMenuType = MENU_Null;
if(Newsddt_ListBack(pme)) //返回上一级列表
{
return TRUE;
}
return FALSE;
case AVK_UP:
if(IMENUCTL_GetSel(pm) == IMENUCTL_GetItemID(pm, 0))
{
IMENUCTL_SetSel(pm, nMax);
IMENUCTL_SetActive(pm, FALSE);
IMENUCTL_SetActive(pm, TRUE);
return TRUE;
}
break;
case AVK_DOWN:
if(IMENUCTL_GetSel(pm) == nMax)
{
IMENUCTL_SetSel(pm, IMENUCTL_GetItemID(pm, 0));
IMENUCTL_SetActive(pm, FALSE);
IMENUCTL_SetActive(pm, TRUE);
return TRUE;
}
break;
case AVK_LEFT:
IMENUCTL_SetSel(pm, IMENUCTL_GetItemID(pm, 0));
IMENUCTL_SetActive(pm, FALSE);
IMENUCTL_SetActive(pm, TRUE);
return TRUE;
case AVK_RIGHT:
IMENUCTL_SetSel(pm, nMax);
IMENUCTL_SetActive(pm, FALSE);
IMENUCTL_SetActive(pm, TRUE);
return TRUE;
}
break;
case EVT_COMMAND:
switch(wParam)
{
case IDS_BACK: //返回
if(ReadText_RetToRead(pme)) //如果是阅读图书时的菜单,要返回图书显示界面
{
pme->m_enMenuType = MENU_Null;
return TRUE;
}
pme->m_enMenuType = MENU_Null;
if(Newsddt_ListBack(pme)) //返回上一级列表
{
return TRUE;
}
return FALSE;
case IDS_RETTOMAIN:
Newsddt_BackToMain(pme);
return TRUE;
default:
break;
}
IMENUCTL_SetActive(pm, FALSE);
if(pme->m_nIdx >= 0)
{
CtlAddItem ai;
IMENUCTL_GetItem(pme->m_pList[pme->m_nIdx], IMENUCTL_GetSel(pme->m_pList[pme->m_nIdx]), &ai);
if((char*)ai.dwData)
{
ListData *pListData = (ListData*)ai.dwData;
if(STRBEGINS("cmshop",(char*)pListData->szUrl))
{
if(SUCCESS != ISHELL_BrowseURL(pme->a.m_pIShell, (char*)pListData->szUrl))
ShowErrMsg(pme, IDS_ERR_404, 0);
return TRUE;
}
if (ai.wFont==32)//跳转
{
InputText_Init(pme);
Newsddt_JumpPage(pme,pListData->nCurPage,pListData->nPageCnt);
return TRUE;
}
if (STRLEN(pListData->szUrl)>0)
{
MakeURL(pme, (char*)pListData->szUrl);
SendRequest(pme);
return TRUE;
}
}
else
{
switch(wParam)
{
case IDS_READMENU_JUMPLINE: //快速跳行
InputText_Init(pme);
Newsddt_JumpLine(pme);
break;
case IDS_READMENU_FULLSCR: //全屏阅读
case IDS_READMENU_CANCELFULL: //取消全屏阅读
pme->m_bFullScr = pme->m_bFullScr?FALSE:TRUE;
ReadText_RetToRead(pme);
break;
case IDS_READMENU_AUTOREAD: //自动阅读
case IDS_READMENU_STOPAUTO: //关闭自动阅读
pme->m_bAutoRead = pme->m_bAutoRead?FALSE:TRUE;
ReadText_RetToRead(pme);
break;
case IDS_READMENU_ADDFAV: //加入收藏
{
char* pUrl = NULL;
AECHAR* pText = NULL;
ListData *pListData = NULL;
CtlAddItem ai;
uint16 nIdx = pme->m_nIdx-1;
if (pme->m_pList[nIdx])
{
enAddDBrdErr enFavErr = ADDDBRD_Success;
IMENUCTL_GetItem(pme->m_pList[nIdx],IMENUCTL_GetSel(pme->m_pList[nIdx]),&ai);
pListData = (ListData*)ai.dwData;
if (pListData)
{
pUrl = pListData->szUrl;
}
pText = (AECHAR*)ai.pText;
CReadBox_SetActive(pme->m_pReadBox,FALSE);
enFavErr = MyFav_SaveFav(pme,pUrl,pText);
switch(enFavErr)
{
case ADDDBRD_Success: //成功
ShowErrMsg(pme,IDS_ERR_SAVEOK,0);
return TRUE;
case ADDDBRD_Exist: //已经存在
ShowErrMsg(pme,IDS_ERR_FAVEXIST,0);
return TRUE;
case ADDDBRD_Failed: //失败
case ADDDBRD_NoSpace: //已经存在
default:
ShowErrMsg(pme,IDS_ERR_ADDFAV_FAILED,0);
return TRUE;
}
}
break;
}
case IDS_MENU_VIEWCOMMENT: //查看评论
{
char *pUrl = NULL;
uint8 nIdx = 0;
if (pme->m_nIdx-1>0)
{
nIdx = pme->m_nIdx-1;
}
else
{
nIdx = 1;
}
if (pme->m_pList[nIdx])
{
uint32 dwData = 0;
ListData *pLd = NULL;
IMENUCTL_GetItemData(pme->m_pList[nIdx],IMENUCTL_GetSel(pme->m_pList[nIdx]),(uint32*)&dwData);//获取新闻ID
if ((ListData*)dwData)
{
pLd = (ListData*)dwData;
AddString(&pUrl,"%s%d%s","?cmd=4&id=",pLd->nNewsID,"&pageIndex=0");//连接字符串,获取评论ID
MakeURL(pme,pUrl);
SendRequest(pme);
FREEIF(pUrl);
}
}
}
return TRUE;
case IDS_MENU_ADDCOMMENT: //我要发言
List_DeleteAll(pme,pme->m_nIdx);
//pme->m_nIdx++;
if (pme->m_pList[pme->m_nIdx])
{
IMENUCTL_SetTitle(pme->m_pList[pme->m_nIdx], NEWSDDT_RES_FILE, IDS_SELECT_ARGUMENT, NULL);
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_GOOD,IDB_GOOD);
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_BAD,IDB_BAD);
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_FLOWER,IDB_FLOWER);
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_SLEEPING,IDB_SLEEPING);
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_BOMB,IDB_BOMB);
List_Show(pme);
}
return TRUE;
case IDS_READMENU_DELFAV: //删除收藏
pme->m_bDelFav = TRUE;
ShowErrMsg(pme,IDS_ERR_DELCONFIRM,0);
return TRUE;
case IDS_CUST_TEXT1: //新闻搜索中的定制"%s"
{
AECHAR *pText = InputText_GetText(pme);
if (pText&&WSTRLEN(pText)>0)
{
enAddDBrdErr enFavErr = Customise_AddRecord(pme,CUSTOMISE_NEWS,pText,NULL);
switch(enFavErr)
{
case ADDDBRD_Success: //成功
ShowErrMsg(pme,IDS_ERR_CUSTOK,0);
break;
case ADDDBRD_Exist: //已经存在
ShowErrMsg(pme,IDS_ERR_CUSTEXIST,0);
break;
case ADDDBRD_Failed: //失败
case ADDDBRD_NoSpace: //空间不足
default:
ShowErrMsg(pme,IDS_ERR_CUSTFAILED,0);
break;
}
}
}
return TRUE;
case IDS_CUSTOMISE_NEWSTYPE: //定制栏目
{
AECHAR wszBigNews[5];
AECHAR *pText = NULL;
char* pUrl = NULL;
if (pme->m_nIdx == 2) //如果当前列表为第二级,则定制头条新闻
{
char *pBigNews = NULL;
ISHELL_LoadResString(pme->a.m_pIShell,NEWSDDT_RES_FILE,IDS_BIGNEWS,wszBigNews,sizeof(wszBigNews)); //头条新闻
if (WSTRLEN(wszBigNews) == 0)
return FALSE;
pBigNews = WStrEncode(pme->a.m_pIShell,wszBigNews);
AddString(&pUrl,"%s%s","?cmd=2&category=1&title=",pBigNews);
pText = wszBigNews;
FREEIF(pBigNews);
}
else
{ //否则,取第二级列表,定制之,然后返回阅读界面
if (pme->m_pList[1])
{
CtlAddItem ai = {0};
ListData *pLd = NULL;
IMENUCTL_GetItem(pme->m_pList[1],IMENUCTL_GetSel(pme->m_pList[1]),&ai);
if ((ListData*)ai.dwData)
{
pLd = (ListData*)ai.dwData;
pUrl = pLd->szUrl;
pText = (AECHAR*)ai.pText;
}
}
}
{
enAddDBrdErr enFavErr = Customise_AddRecord(pme,CUSTOMISE_CHANNEL,pText,pUrl);
switch(enFavErr)
{
case ADDDBRD_Success: //成功
ShowErrMsg(pme,IDS_ERR_CUSTOK,0);
break;
case ADDDBRD_Exist: //已经存在
ShowErrMsg(pme,IDS_ERR_CUSTEXIST,0);
break;
case ADDDBRD_Failed: //失败
case ADDDBRD_NoSpace: //空间不足
default:
ShowErrMsg(pme,IDS_ERR_CUSTFAILED,0);
break;
}
if (pme->m_nIdx == 2)
{
FREEIF(pUrl);
}
}
}
return TRUE;
case IDS_MENU_VANE: //风向标
MakeURL(pme,"?cmd=7");
SendRequest(pme);
return TRUE;
case IDS_GOOD:
case IDS_BAD:
case IDS_FLOWER:
case IDS_SLEEPING:
case IDS_BOMB:
{
AEERect rc;
char *pUrl = NULL;
uint32 dwData = 0;
uint8 nIdx = 0;
switch(wParam)
{
case IDS_GOOD:
pme->m_nArguments = 31;
break;
case IDS_BAD:
pme->m_nArguments = 32;
break;
case IDS_FLOWER:
pme->m_nArguments = 33;
break;
case IDS_SLEEPING:
pme->m_nArguments = 34;
break;
case IDS_BOMB:
pme->m_nArguments = 35;
break;
}
pme->m_eInpType = INPUTTEXT_NULL;//去掉输入功能
if (pme->m_nIdx-2 > 0)
{
nIdx = pme->m_nIdx-1;
}
else
{
nIdx = 1;
}
if (pme->m_pList[nIdx])
{
IMENUCTL_GetItemData(pme->m_pList[nIdx],IMENUCTL_GetSel(pme->m_pList[nIdx]),(uint32*)&dwData);
if ((ListData*)dwData)
{
ListData *pLd = (ListData*)dwData;
AddString(&pUrl,"%s%d%s%d","?cmd=3&id=",pLd->nNewsID,"&NiceName=&Content=&Argument=",pme->m_nArguments);
MakeURL(pme,pUrl);
SendRequest(pme);
FREEIF(pUrl);
}
}
//IDISPLAY_ClearScreen(pme->a.m_pIDisplay);//去掉输入功能
//pme->m_eInpType = INPUTTEXT_COMMENT;
//InputText_Init(pme);
//pme->m_nTitleID = IDS_COMMENT_CONTENT;
////SETAEERECT(&rc,0,3*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
////InputText_SetRect(pme,&rc);
//InputText_SetInpBox(pme,AEE_TM_PINYIN,INPUTTEXT_MAXINPUT);
//InputText_Redraw(pme);
//InputText_ShowInpMode(pme);
//InputText_SetActive(pme,TRUE);
}
return TRUE;
default:
break;
}
return TRUE;
}
}
return TRUE;
default:
break;
}
return IMENUCTL_HandleEvent(pm, eCode, wParam, dwParam);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -