📄 newsddt.c
字号:
return FALSE;
}
return TRUE;
}
//设置Softkey
void Newsddt_SetSoftkey(Newsddt* pme)
{
if (!pme->m_bWeb && pme->m_pSoftkey)
{
EnSoftkeyType enSoftkey = SOFTKEY_TYPE_NULL;
switch(pme->m_eAppState)
{
case APP_STATE_MainMenu: //主菜单
break;
case APP_STATE_BigNews: //热点头条
case APP_STATE_NewsCenter: //新闻中心
case APP_STATE_SearchNews: //新闻搜索
case APP_STATE_HotSearch: //热点搜索
enSoftkey = SOFTKEY_TYPE_RETURN_SEL;
break;
case APP_STATE_MyFav: //我的收藏
if (pme->m_enMenuType == MENU_Null)
{
enSoftkey = SOFTKEY_TYPE_MENU_RETURN;
}
else
{
enSoftkey = SOFTKEY_TYPE_RETURN_SEL;
}
break;
case APP_STATE_Customise: //用户定制
switch(pme->m_enCustState)
{
case CUST_STATE_AddNewCust: //添加新的定制内容
case CUST_STATE_CustMenu: //用户定制的菜单(包含查看,添加定制,删除定制,帮助等功能)
case CUST_STATE_ViewCust:
enSoftkey = SOFTKEY_TYPE_RETURN_SEL;
break;
case CUST_STATE_CustList: //已经定制的内容列表
enSoftkey = SOFTKEY_TYPE_MENU_RETURN;
break;
case CUST_STATE_AddChannel: //定制栏目
enSoftkey = SOFTKEY_TYPE_CUSTOMISE_RETURN;
break;
case CUST_STATE_AddNews: //定制新闻
case CUST_STATE_ViewHelp: //查看帮助
case CUST_STATE_Null: //没有处于定制状态
default:
break;
}
break;
case APP_STATE_Setting: //功能设置
case APP_STATE_Recomand: //精彩推荐
case APP_STATE_HelpAbout: //帮助关于
enSoftkey = SOFTKEY_TYPE_RETURN_SEL;
break;
case APP_STATE_ExitApp: //退出应用:
enSoftkey = SOFTKEY_TYPE_CONFIRM_CANCEL;
break;
default:
break;
}
if (PROMPTBOX_IsActive(pme->m_ppbMsg))
{
if (pme->m_bExitApp)
{
enSoftkey = SOFTKEY_TYPE_CONFIRM_CANCEL;
}
else
{
enSoftkey = SOFTKEY_TYPE_NULL_CONFIRM;
}
}
if (InputText_IsActive(pme))
{
enSoftkey = SOFTKEY_NULL;
}
if(CReadBox_IsActive(pme->m_pReadBox))
{
enSoftkey = SOFTKEY_TYPE_MENU_RETURN;
}
if (pme->m_bFullScr && pme->m_pReadBox && CReadBox_IsActive(pme->m_pReadBox))
{
enSoftkey = SOFTKEY_TYPE_NULL;
}
CSoftKey_SetSoftKeyType(pme->m_pSoftkey,enSoftkey);
CSoftKey_Draw(pme->m_pSoftkey);
}
}
//设置背景光
//void Newsddt_SetBkLight(Newsddt* pme)
//{
// if (pme->m_bBackLit)
// {
// IDISPLAY_Backlight(pme->a.m_pIDisplay,TRUE);
// }
// ISHELL_SetTimer(pme->a.m_pIShell,BKLIGHT_SET_TIME,(PFNNOTIFY)Newsddt_SetBkLight,pme);
//}
//返回上一级列表
boolean Newsddt_ListBack(Newsddt* pme) //返回上一级列表
{
switch(pme->m_eAppState)
{
case APP_STATE_BigNews: //热点头条
case APP_STATE_Customise: //用户定制
case APP_STATE_NewsCenter: //新闻中心
case APP_STATE_SearchNews: //新闻搜索
case APP_STATE_HotSearch: //热点搜索
case APP_STATE_MyFav: //我的收藏
case APP_STATE_Setting: //功能设置
case APP_STATE_Recomand: //精彩推荐
case APP_STATE_HelpAbout: //帮助关于
case APP_STATE_ExitApp: //退出应用:
if(pme->m_nIdx > 1)
{
List_DeleteAll(pme, pme->m_nIdx);
pme->m_nIdx --;
List_Show(pme);
}
else
{
Newsddt_BackToMain(pme);
}
return TRUE;
case APP_STATE_MainMenu: //主菜单
default:
break;
}
return FALSE;
}
//返回主菜单
void Newsddt_BackToMain(Newsddt* pme)
{
int8 nCnt = 0;
for(nCnt = 1;nCnt<=pme->m_nIdx;nCnt++)
{
List_DeleteAll(pme,nCnt);
}
pme->m_nIdx = 0;
if (pme->m_pReadBox)
{
CReadBox_ClsReadFile(pme->m_pReadBox);
DelTemp(pme);
}
MainMenu_Show(pme);
}
//快速跳行
void Newsddt_JumpLine(Newsddt* pme)
{
AEERect rect;
AECHAR wszCurCntTm[11],wszAllCnt[11];
pme->m_eInpType = INPUTTEXT_JUMPLINE;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
//SETAEERECT(&rect,TEXTBOX_X,TEXTBOX_Y,TEXTBOX_DX,TEXTBOX_DY);
//InputText_SetRect(pme,&rect);
InputText_SetInpBox(pme,AEE_TM_NUMBERS,INPUTTEXT_MAXINPUT);
SETAEERECT(&rect,0,10,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,pme->m_wszLineCnt,0,0,&rect,IDF_ALIGN_LEFT|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0));//请输入行数:
WSPRINTF(wszCurCntTm,sizeof(wszCurCntTm),pme->m_wszCurCnt,pme->m_pReadBox->m_nIndex+1);
SETAEERECT(&rect,0,5*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,wszCurCntTm,0,0,&rect,IDF_ALIGN_CENTER|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0)); //当前行数:
WSPRINTF(wszAllCnt,sizeof(wszAllCnt),pme->m_wszAllCnt,pme->m_pReadBox->m_nLtTa);
SETAEERECT(&rect,0,6*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,wszAllCnt,0,0,&rect,IDF_ALIGN_CENTER|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0)); //总行数:
InputText_Redraw(pme);
InputText_SetActive(pme,TRUE);
}
//列表跳转
void Newsddt_JumpPage(Newsddt* pme,uint16 nPageCur,uint16 nPageCnt)
{
AEERect rect;
AECHAR wszAllCnt[11],wszCurpage[11];
pme->m_eInpType = INPUTTEXT_JUMPPAGE;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
//SETAEERECT(&rect,TEXTBOX_X,TEXTBOX_Y,TEXTBOX_DX,TEXTBOX_DY);
//InputText_SetRect(pme,&rect);
InputText_SetInpBox(pme,AEE_TM_NUMBERS,INPUTTEXT_MAXINPUT);
SETAEERECT(&rect,0,10,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,pme->m_wszPageCnt,0,0,&rect,IDF_ALIGN_LEFT|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0));//请输入页数:
WSPRINTF(wszCurpage,sizeof(wszCurpage),pme->m_wszCurPage,nPageCur+1);
SETAEERECT(&rect,0,5*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,wszCurpage,0,0,&rect,IDF_ALIGN_CENTER|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0)); //当前页数:
WSPRINTF(wszAllCnt,sizeof(wszAllCnt),pme->m_wszALLPgCnt,nPageCnt);
SETAEERECT(&rect,0,6*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
DrawText(pme->a.m_pIDisplay,wszAllCnt,0,0,&rect,IDF_ALIGN_CENTER|IDF_TEXT_TRANSPARENT,MAKE_RGB(0 , 0 , 0)); //总页数:
InputText_Redraw(pme);
InputText_SetActive(pme,TRUE);
}
//显示菜单
boolean Newsddt_ShowMenu(Newsddt* pme,enMenuType eMType)
{
//设置菜单
pme->m_nIdx++;
if (pme->m_enMenuType != MENU_Null || !pme->m_pList[pme->m_nIdx])
{
pme->m_nIdx--;
return FALSE;
}
pme->m_enMenuType = eMType;
IMENUCTL_SetProperties(pme->m_pList[pme->m_nIdx], MP_UNDERLINE_TITLE);
IMENUCTL_SetTitle(pme->m_pList[pme->m_nIdx], NEWSDDT_RES_FILE, IDS_SOFTKEY_MENU, NULL);
switch(pme->m_enMenuType)
{
case MENU_Read:
if (pme->m_bFullScr)
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_CANCELFULL,IDB_NET_LIST);//取消全屏阅读
else
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_FULLSCR,IDB_NET_LIST); //全屏阅读
if (APP_STATE_BigNews == pme->m_eAppState||APP_STATE_NewsCenter == pme->m_eAppState)
{
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_CUSTOMISE_NEWSTYPE,IDB_NET_LIST); //定制栏目
}
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_MENU_VIEWCOMMENT,IDB_NET_LIST); //查看评论
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_MENU_ADDCOMMENT,IDB_NET_LIST); //我要发言
if (!pme->m_bAutoRead)
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_AUTOREAD,IDB_NET_LIST); //自动阅读
else
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_STOPAUTO,IDB_NET_LIST); //关闭自动阅读
//List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_JUMPLINE,IDB_NET_LIST); //自动跳行
if(APP_STATE_MyFav == pme->m_eAppState)
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_DELFAV,IDB_NET_LIST); //删除收藏
else
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_ADDFAV,IDB_NET_LIST); //加入收藏
break;
case MENU_MyFav:
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_FAVMENU_READNEWS,IDB_NET_LIST); //阅读新闻
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_READMENU_DELFAV,IDB_NET_LIST); //删除收藏
break;
case MENU_List: //网络列表菜单
{
CtlAddItem ai = {0};
uint8 nIdx = pme->m_nIdx-1;
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_FAVMENU_READNEWS,IDB_NET_LIST); //阅读新闻
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_CUSTOMISE_NEWSTYPE,IDB_NET_LIST); //定制栏目
if (pme->m_pList[nIdx])
{
int nCnt = IMENUCTL_GetItemCount(pme->m_pList[nIdx]);
for (nCnt = nCnt-1;nCnt>0;nCnt--)
{
IMENUCTL_GetItem(pme->m_pList[nIdx],IMENUCTL_GetItemID(pme->m_pList[nIdx],nCnt),&ai);
switch(ai.wFont)
{
case 30:
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_PREVIOUS,IDB_NET_LIST);//上一页
break;
case 31:
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_NEXT,IDB_NET_LIST); //下一页
break;
case 32:
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_JUMPPAGE,IDB_NET_LIST);//跳转
break;
}
}
}
}
break;
case MENU_Cust: //定制新闻菜单
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_SOFTKEY_VIEW,IDB_NET_LIST); //查看
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_MENU_ADDCUST,IDB_NET_LIST); //新增定制
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_MENU_DELCUST,IDB_NET_LIST); //删除定制
//List_AddItem(pme->m_pList[pme->m_nIdx],IDS_MENU_HELP,IDB_TEXT); //帮助 //去掉输入功能
break;
case MENU_Null:
default:
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_RETTOMAIN,IDB_RETTOMAIN); //返回主菜单
break;
}
List_AddItem(pme->m_pList[pme->m_nIdx],IDS_RETTOMAIN,IDB_RETTOMAIN); //返回主菜单
List_Show(pme);
//设置Softkey
Newsddt_SetSoftkey(pme);
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//显示主菜单
void MainMenu_Show(Newsddt* pme)
{
pme->m_eAppState = APP_STATE_MainMenu;
pme->m_bFlashSCreen = FALSE;
pme->m_enMenuType = MENU_Null;
if (pme->m_pMainMenu)
{
IIMAGE_Draw(pme->m_pMainMenu,0,0);//主菜单图片
}
if (pme->m_pMainTxt)
{
DrawFrame(pme,pme->m_pMainTxt,MAINMENU_TEXT_X,MAINMENU_TEXT_Y,MAINMENU_TXT_FRAMECNT,pme->m_enCurMainItem);//主菜单文字
}
IDISPLAY_Update(pme->a.m_pIDisplay);
}
boolean MainMenu_HandleEvent(Newsddt* pme,AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
if (pme->m_eAppState != APP_STATE_MainMenu)
return FALSE;
switch(eCode)
{
case EVT_KEY:
switch(wParam)
{
case AVK_LEFT:
if (pme->m_enCurMainItem <= 0)
pme->m_enCurMainItem = MAINMENU_EXITAPP;
else if (MAINMENU_HOTSEARCH == pme->m_enCurMainItem)//去掉输入功能
{
pme->m_enCurMainItem-=2;
}
else
pme->m_enCurMainItem--;
MainMenu_Show(pme);
break;
case AVK_RIGHT:
if (pme->m_enCurMainItem >= MAINMENU_EXITAPP)
pme->m_enCurMainItem = 0;
else if (MAINMENU_NEWSCENTER == pme->m_enCurMainItem)//去掉输入功能
{
pme->m_enCurMainItem+=2;
}
else
pme->m_enCurMainItem++;
MainMenu_Show(pme);
break;
case AVK_SELECT:
case AVK_SOFT1:
switch(pme->m_enCurMainItem)
{
case MAINMENU_BIGNEWS: //热点头条
pme->m_eAppState = APP_STATE_BigNews;
BigNews_Init(pme);
break;
case MAINMENU_CUSTOMISE: //用户定制
pme->m_eAppState = APP_STATE_Customise;
Customise_ShowList(pme);
break;
case MAINMENU_NEWSCENTER: //新闻中心
pme->m_eAppState = APP_STATE_NewsCenter;
MakeURL(pme,"");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -