📄 newsddt.c
字号:
/*===========================================================================
北京捷通华声语音技术有限公司公司 版权所有
项目名称:E书无线超低端
应用类型:在线下载类
支持机型:所有
文件名称:Newsddt.c
创建人:孟令芳
创建日期:2007年08月20日
===========================================================================*/
//版本沿革按如下格式记录
//----------------------
//修改日期:
//修改人:
//当前版本:
//----------------------
#include "newsddt.h"
/*===============================================================================
函数定义
=============================================================================== */
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
*ppObj = NULL;
if(ClsId == AEECLSID_NEWSDDT)
{
if(AEEApplet_New(sizeof(Newsddt),
ClsId,
pIShell,
po,
(IApplet**)ppObj,
(AEEHANDLER)Newsddt_HandleEvent,
(PFNFREEAPPDATA)Newsddt_FreeAppData) )
{
if(Newsddt_InitAppData((Newsddt*)*ppObj))
{
return(AEE_SUCCESS);
}
else
{
IAPPLET_Release((IApplet*)*ppObj);
return EFAILED;
}
}
}
return(EFAILED);
}
/*-------------------------------------------------------------------
消息处理函数
-------------------------------------------------------------------*/
static boolean Newsddt_HandleEvent(Newsddt* pme, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
if (EVT_KEY == eCode && AVK_SOFT1 == wParam)
{
wParam = AVK_SELECT;
}
if (EVT_KEY == eCode && AVK_SOFT2 == wParam)
{
wParam = AVK_CLR;
}
//DBGPRINTF("==Msg:%d,%d,%d", eCode, wParam, dwParam);
switch (eCode)
{
case EVT_APP_START:
MainMenu_Show(pme);
//ShowSplashScreen(pme);//FixedBy(menglingfang)bug no.24584
//if(ShowSplashScreen(pme))
// ISHELL_SetTimer(pme->a.m_pIShell, TIME_SPLASH, (PFNNOTIFY)MainMenu_Show, pme);
//else
// ISHELL_SetTimer(pme->a.m_pIShell, 0, (PFNNOTIFY)MainMenu_Show, pme);
return TRUE;
case EVT_APP_STOP:
return TRUE;
case EVT_APP_NO_CLOSE:
return FALSE;
case EVT_APP_NO_SLEEP: //如果应用在逻辑上允许休眠则不处理该消息
return TRUE;
case EVT_APP_SUSPEND:
{
uint8 nCnt = 0;
if (pme->m_bFlashSCreen)//FixedBy(menglingfang)bug no.24588
{
ISHELL_CancelTimer(pme->a.m_pIShell,(PFNNOTIFY)MainMenu_Show,pme);
break;
}
for (nCnt = 1;nCnt<=pme->m_nIdx;nCnt++)
{
IMENUCTL_SetActive(pme->m_pList[nCnt], FALSE);
}
ISHELL_CancelTimer(pme->a.m_pIShell,NULL,pme);
ISHELL_CancelTimer(pme->a.m_pIShell,NULL,pme->m_pReadBox);
if(pme->m_bWeb)
{
Net_Stop(pme);
if (pme->m_nIdx == 0)
{
pme->m_eAppState = APP_STATE_MainMenu;
}
}
}
break;
case EVT_APP_RESUME:
if (pme->m_bFlashSCreen)//FixedBy(menglingfang)bug no.24588
{
ShowSplashScreen(pme);
return TRUE;
}
if (pme->m_bExitApp)
{
ShowExitMsg(pme);
return TRUE;
}
if (APP_STATE_MainMenu == pme->m_eAppState)
{
MainMenu_Show(pme);
return TRUE;
}
if (!PROMPTBOX_IsActive(pme->m_ppbMsg))
{
if (INPUTTEXT_JUMPLINE == pme->m_eInpType) //新闻跳行
{
Newsddt_JumpLine(pme);
return TRUE;
}
else if (INPUTTEXT_JUMPPAGE == pme->m_eInpType) //网络列表跳转
{
CtlAddItem ai;
IMENUCTL_GetItem(pme->m_pList[pme->m_nIdx], IMENUCTL_GetSel(pme->m_pList[pme->m_nIdx]), &ai);
if((ListData*)ai.dwData)
{
ListData *pListData = (ListData*)ai.dwData;
Newsddt_JumpPage(pme,pListData->nCurPage,pListData->nPageCnt);
}
return TRUE;
}
else if (INPUTTEXT_CUSTOMISE == pme->m_eInpType) //定制新闻
{
AEERect rc;
pme->m_enCustState = CUST_STATE_AddNews;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_eInpType = INPUTTEXT_CUSTOMISE;
//SETAEERECT(&rc,0,3*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
//InputText_SetRect(pme,&rc);
InputText_SetInpBox(pme,AEE_TM_LETTERS,INPUTTEXT_MAXINPUT);
InputText_Redraw(pme);
InputText_ShowInpMode(pme);
InputText_SetActive(pme,TRUE);
return TRUE;
}
else if (INPUTTEXT_SEARCHNEWS == pme->m_eInpType) //搜索新闻
{
AEERect rc;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_eInpType = INPUTTEXT_SEARCHNEWS;
//SETAEERECT(&rc,0,3*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
//InputText_SetRect(pme,&rc);
InputText_SetInpBox(pme,AEE_TM_LETTERS,INPUTTEXT_MAXINPUT);
InputText_Redraw(pme);
InputText_ShowInpMode(pme);
InputText_SetActive(pme,TRUE);
return TRUE;
}
else if (INPUTTEXT_COMMENT == pme->m_eInpType) //发表评论
{
AEERect rc;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_eInpType = INPUTTEXT_COMMENT;
//SETAEERECT(&rc,0,3*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
//InputText_SetRect(pme,&rc);
InputText_SetInpBox(pme,AEE_TM_LETTERS,INPUTTEXT_MAXINPUT);
InputText_Redraw(pme);
InputText_ShowInpMode(pme);
InputText_SetActive(pme,TRUE);
return TRUE;
}
else if (INPUTTEXT_COMMENT_NAME == pme->m_eInpType) //输入昵称
{
AEERect rc;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_nTitleID = IDS_COMMENT_NAME;
//SETAEERECT(&rc,0,3*BAR_BOTTOM,pme->m_nDevWidth,BAR_BOTTOM);
//InputText_SetRect(pme,&rc);
InputText_SetInpBox(pme,AEE_TM_LETTERS,INPUTTEXT_MAXINPUT);
InputText_Redraw(pme);
InputText_ShowInpMode(pme);
InputText_SetActive(pme,TRUE);
return TRUE;
}
}
if (pme->m_ppbMsg && PROMPTBOX_IsActive(pme->m_ppbMsg))
{
//PROMPTBOX_SetActive(pme->m_ppbMsg, FALSE);
PROMPTBOX_Redraw(pme->m_ppbMsg);
Newsddt_SetSoftkey(pme);
return TRUE;
}
if (CReadBox_IsActive(pme->m_pReadBox))
{
if(pme->m_pReadBox)
{
CReadBox_SetAutoRead(pme->m_pReadBox ,(pme->m_bAutoRead)?TRUE:FALSE);
}
CReadBox_SetTextFB(pme->m_pReadBox,SPACE_BETWEEN_LINE);
CReadBox_SetActive(pme->m_pReadBox,TRUE);
CReadBox_Draw(pme->m_pReadBox);
return TRUE;
}
if (pme->m_ppbMsg && !PROMPTBOX_IsActive(pme->m_ppbMsg))
List_Show(pme);
return TRUE;
case EVT_KEY:
if(pme->m_bFlashSCreen)
{
ISHELL_CancelTimer(pme->a.m_pIShell, (PFNNOTIFY)MainMenu_Show, pme);
MainMenu_Show(pme);
return TRUE;
}
//正在连接时,C键退出网络连接状态
if(pme->m_bWeb && (wParam == AVK_CLR/* || wParam == AVK_SELECT*/))
{
Net_Stop(pme);
//必须先接收完后台信息才能改变输入框状态
if (INPUTTEXT_JUMPPAGE == pme->m_eInpType) //网络列表跳转
{
CtlAddItem ai;
IMENUCTL_GetItem(pme->m_pList[pme->m_nIdx], IMENUCTL_GetSel(pme->m_pList[pme->m_nIdx]), &ai);
if((ListData*)ai.dwData)
{
ListData *pListData = (ListData*)ai.dwData;
Newsddt_JumpPage(pme,pListData->nCurPage,pListData->nPageCnt);
}
return TRUE;
}
else if (INPUTTEXT_SEARCHNEWS == pme->m_eInpType) //搜索新闻
{
AEERect rc;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_eInpType = INPUTTEXT_SEARCHNEWS;
//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;
}
else if (INPUTTEXT_COMMENT_NAME == pme->m_eInpType) //输入昵称
{
AEERect rc;
IDISPLAY_ClearScreen(pme->a.m_pIDisplay);
pme->m_nTitleID = IDS_COMMENT_NAME;
//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;
}
if (pme->m_nIdx > 0)
{
List_Show(pme);
}
else
{
MainMenu_Show(pme);
}
return TRUE;
}
if(wParam == AVK_SEND)
return FALSE;
break;
case EVT_COMMAND:
if(PROMPTBOX_IsActive(pme->m_ppbMsg))
{
PROMPTBOX_SetActive(pme->m_ppbMsg, FALSE);
ISTATIC_Reset(pme->m_ppbMsg->pIStatic);
if(pme->m_pReadBox && CReadBox_IsActive(pme->m_pReadBox))
{
CReadBox_SetActive(pme->m_pReadBox,FALSE);
FREEIF(pme->m_pWebBody);
}
List_Show(pme);
return TRUE;
}
break;
default:
break;
}
//消息框
if(PROMPTBOX_IsActive(pme->m_ppbMsg))
{
boolean bRes = FALSE;
if (wParam>AVK_0 && wParam<AVK_POUND)
{
return FALSE;
}
bRes = PROMPTBOX_HandleEvent(pme->m_ppbMsg, eCode, wParam, dwParam);
if (AVK_UP <= wParam && AVK_DOWN >= wParam)
return bRes;
if (bRes && pme->m_bExitApp)
{
if (wParam == AVK_SELECT)
{
ISHELL_CloseApplet(pme->a.m_pIShell,FALSE);
pme->m_bExitApp = FALSE;
return TRUE;
}
else if (wParam == AVK_CLR)
{
MainMenu_Show(pme);
pme->m_bExitApp = FALSE;
return TRUE;
}
}
if (bRes && pme->m_bDelFav) //决定是否执行删除收藏动作
{
if(wParam == AVK_SELECT)
{
if (!Record_DelRd(pme,TRUE))
{
List_DeleteAll(pme,pme->m_nIdx);
pme->m_nIdx--;
ShowErrMsg(pme,IDS_ERR_DELFILE,0);
pme->m_bDelFav = FALSE;
return TRUE;
}
MyFav_ShowList(pme);
}
else if (wParam == AVK_CLR)
{
if (MENU_Read == pme->m_enMenuType)
{
ReadText_RetToRead(pme);
}
else
{
MyFav_ShowList(pme);
}
}
pme->m_bDelFav = FALSE;
return TRUE;
}
if (bRes && pme->m_bDelCust) //决定是否执行删除定制信息的动作
{
pme->m_enMenuType = MENU_Null;
if(wParam == AVK_SELECT)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -