📄 newsddt.c
字号:
{
if (!Record_DelRd(pme,FALSE))
{
List_DeleteAll(pme,pme->m_nIdx);
pme->m_nIdx--;
ShowErrMsg(pme,IDS_ERR_DELFILE,0);
pme->m_bDelCust = FALSE;
return TRUE;
}
Customise_ShowList(pme);
}
else if (wParam == AVK_CLR)
{
Customise_ShowList(pme);
}
pme->m_bDelCust = FALSE;
return TRUE;
}
if (bRes && pme->m_bNewsComment)
{
pme->m_bNewsComment = FALSE;
List_Show(pme);
return TRUE;
}
if (bRes && pme->m_enMenuType == MENU_Read)
{
if (pme->m_eInpType == INPUTTEXT_JUMPPAGE)
{
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;
InputText_Init(pme);
Newsddt_JumpPage(pme,pListData->nCurPage,pListData->nPageCnt);
}
return TRUE;
}
else
{
ReadText_RetToRead(pme);
}
return TRUE;
}
if (bRes && AVK_UP != wParam && AVK_DOWN != wParam)
{
if (pme->m_eInpType == INPUTTEXT_SEARCHNEWS) //新闻搜索
{
NewsSearch_Init(pme);
return TRUE;
}
else if (pme->m_eInpType == INPUTTEXT_CUSTOMISE) //定制新闻
{
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 (pme->m_eInpType == INPUTTEXT_JUMPPAGE)
{
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;
InputText_Init(pme);
Newsddt_JumpPage(pme,pListData->nCurPage,pListData->nPageCnt);
}
return TRUE;
}
if (pme->m_eAppState == APP_STATE_Customise)
{
Customise_ShowList(pme);
return TRUE;
}
if (pme->m_nIdx == 0)
MainMenu_Show(pme);
else
List_Show(pme);
}
if (EVT_APP_SUSPEND == eCode)
{
return TRUE;
}
return bRes;
}
//显示文本
if (ReadText_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//主菜单
if (MainMenu_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//用户定制
if (Customise_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//我的收藏
if (MyFav_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//用户设定
if (UserSetting_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//帮助关于
if (HelpAbout_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//输入框
if (InputText_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
//列表
if (List_HandleEvent(pme, eCode, wParam, dwParam))
return TRUE;
if(eCode == EVT_APP_SUSPEND)
return TRUE;
if(eCode == EVT_APP_RESUME)
return TRUE;
if(eCode == EVT_KEY && wParam == AVK_CLR)
{
pme->m_eAppState = APP_STATE_ExitApp;
//FixedBy(menglingfang)20071219bug No.24385 start
//ShowExitMsg(pme);
ISHELL_CloseApplet(pme->a.m_pIShell,FALSE);
//FixedBy(menglingfang)20071219bug No.24385 end
return TRUE;
}
//DBGPRINTF("==Msg:%d,%d,%d", eCode, wParam, dwParam);
return FALSE;
}
boolean Newsddt_InitAppData(Newsddt* pme)
{
AEEDeviceInfo di;
AEERect rc;
IDBMgr* pDBMgr = NULL;
ITAPI * pITAPI;
TAPIStatus ts;
ILicense * pl;
di.wStructSize = sizeof(AEEDeviceInfo);
ISHELL_GetDeviceInfo(pme->a.m_pIShell, &di);
pme->m_nDevWidth = di.cxScreen;
pme->m_nDevHeight = di.cyScreen;
pme->m_dwPlatformID = di.dwPlatformID;
//取手机标识号
ISHELL_CreateInstance(pme->a.m_pIShell, AEECLSID_TAPI, (void**)(&pITAPI));
ITAPI_GetStatus(pITAPI, &ts);
#ifdef AEE_SIMULATOR
STRCPY(pme->m_szMobileID, "460030900000000");
#else
STRCPY(pme->m_szMobileID, ts.szMobileID);
#endif
ITAPI_Release(pITAPI);
//购买类型及点数
ISHELL_CreateInstance(pme->a.m_pIShell, AEECLSID_LICENSE, (void **)(&pl));
// pme->m_pt = ILICENSE_GetPurchaseInfo(pl, &(pme->m_lt), &(pme->m_dwCredit), NULL);
// ILICENSE_Release(pl);
// if(pme->m_dwCredit == 0xFFFFFFFF)
// pme->m_dwCredit = 0;
//列表菜单
if(!Newsddt_InitList(pme,di))
return FALSE;
//初始化Softkey提示框
if(!Newsddt_InitSoftkey(pme))
return FALSE;
//文件管理器
ISHELL_CreateInstance(pme->a.m_pIShell, AEECLSID_FILEMGR, (void **)&pme->m_pFileMgr);
//数据库初始化
if(SUCCESS != ISHELL_CreateInstance(pme->a.m_pIShell , AEECLSID_DBMGR , (void**)&pDBMgr))
return FALSE;
pme->m_pMyfavDBFile = IDBMGR_OpenDatabase(pDBMgr , MYFAV_DBNAME , TRUE); //我的收藏数据库
pme->m_pCustomiseDBFile = IDBMGR_OpenDatabase(pDBMgr , CUSTMISE_DBNAME , TRUE); //用户定制数据库
if(!pme->m_pMyfavDBFile || !pme->m_pCustomiseDBFile)
return FALSE;
BREW_FREE(pDBMgr);
//初始化主菜单
pme->m_enCurMainItem = MAINMENU_BIGNEWS;
pme->m_pMainMenu = ISHELL_LoadResImage(pme->a.m_pIShell, NEWSDDT_RES_FILE,IDB_MAINMENU);
pme->m_pMainTxt = ISHELL_LoadResImage(pme->a.m_pIShell,NEWSDDT_RES_FILE,IDB_MAINTXT);
if (!pme->m_pMainTxt)
{
return FALSE;
}
//初始化消息框
pme->m_ppbMsg = PROMPTBOX_New(NEWSDDT_RES_FILE);
PROMPTBOX_SetProps(pme->m_ppbMsg, ST_NOSCROLL | ST_UNDERLINE);
rc.x = 0;
rc.y = 0;
rc.dx = pme->m_nDevWidth;
rc.dy = pme->m_nDevHeight;
PROMPTBOX_SetRect(pme->m_ppbMsg, &rc);
PROMPTBOX_SetActive(pme->m_ppbMsg, FALSE);
//初始化网络
Net_Init(pme);
//初始化图书相关信息
if(!Newsddt_InitReadBox(pme))
return FALSE;
//初始化配置信息
if(FALSE == LoadInfo(pme))
{
//载入配置信息失败,设置初始值
pme->m_bBackLit = pme->m_tagRDInf.m_bBackLitTm = FALSE; //背景光的状态
pme->m_pReadBox->m_nLooktype = pme->m_tagRDInf.m_nLooktypeTm = AUTOREAD_LINE; //自动阅读
pme->m_pReadBox->m_nTime[0] = pme->m_tagRDInf.m_nTimeTm[0] = 900; //自动阅读的时间间隔
pme->m_pReadBox->m_nTime[1] = pme->m_tagRDInf.m_nTimeTm[1] = 1200; //自动阅读的时间间隔
pme->m_pReadBox->m_nTime[2] = pme->m_tagRDInf.m_nTimeTm[2] = 2000; //自动阅读的时间间隔
SaveInf(pme);
}
else
{
pme->m_bBackLit = pme->m_tagRDInf.m_bBackLitTm; //背景光的状态
pme->m_pReadBox->m_nLooktype = pme->m_tagRDInf.m_nLooktypeTm; //自动阅读
pme->m_pReadBox->m_nTime[0] = pme->m_tagRDInf.m_nTimeTm[0]; //自动阅读的时间间隔
pme->m_pReadBox->m_nTime[1] = pme->m_tagRDInf.m_nTimeTm[1]; //自动阅读的时间间隔
pme->m_pReadBox->m_nTime[2] = pme->m_tagRDInf.m_nTimeTm[2]; //自动阅读的时间间隔
}
//载入字符串
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_CONNECT, pme->m_wszCon, sizeof(pme->m_wszCon));
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_SEND, pme->m_wszSend, sizeof(pme->m_wszSend));
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_RECV, pme->m_wszRecv, sizeof(pme->m_wszRecv));
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_READBOX_SCROLL, pme->m_szReadOpen , sizeof(pme->m_szReadOpen));
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INPUT_LINECNT, pme->m_wszLineCnt, sizeof(pme->m_wszLineCnt)); //请输入行数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INPUT_CURLINECNT, pme->m_wszCurCnt, sizeof(pme->m_wszCurCnt)); //当前行数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INPUT_ALLCNT, pme->m_wszAllCnt, sizeof(pme->m_wszAllCnt)); //总行数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INP_INPPAGE, pme->m_wszPageCnt, sizeof(pme->m_wszCurCnt)); //请输入页数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INP_PAGECNT, pme->m_wszALLPgCnt, sizeof(pme->m_wszAllCnt)); //总页数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_INP_CURPAGE, pme->m_wszCurPage, sizeof(pme->m_wszCurPage)); //当前页数:
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_CUST_TEXT, pme->m_wszCustTxt, sizeof(pme->m_wszCustTxt)); //与...相关的新闻
ISHELL_LoadResString(pme->a.m_pIShell, NEWSDDT_RES_FILE, IDS_CUST_TEXT1, pme->m_wszCustTxt1, sizeof(pme->m_wszCustTxt1)); //定制"%s"
//设置背景灯
//Newsddt_SetBkLight(pme);
//初始化输入框信息
if(!InputText_Init(pme))
return FALSE;
//清除临时文件名字和临时文件
DelTemp(pme);
//程序状态信息设定
pme->m_bFlashSCreen = FALSE;
pme->m_eAppState = APP_STATE_MainMenu;
pme->m_enMenuType = MENU_Null;
pme->m_eSettingType = SETTING_NULL;
pme->m_bFullScr = FALSE;
pme->m_eInpType = INPUTTEXT_NULL;
pme->m_nDataType = 0; //精彩推荐
pme->m_bExitApp = FALSE;
pme->m_nIdx = 0;
pme->m_bNewsComment = FALSE;
//pme->m_bAddCust = FALSE;
pme->m_bDelFav = FALSE; //是否要删除收藏文件?
pme->m_bDelCust = FALSE; //是否要删除该定制内容?
pme->m_nArguments = 31; //31:赞成
pme->m_enCustState = CUST_STATE_Null;
return TRUE;
}
void Newsddt_FreeAppData(Newsddt* pme)
{
uint8 i;
for(i=0;i<MAX_LIST;i++) //释放菜单
{
List_DeleteAll(pme, i);
BREW_FREE(pme->m_pList[i]);
}
Net_Free(pme); //释放网络
InputText_Release(pme); //释放输入框
PROMPTBOX_Release(pme->m_ppbMsg);
CReadBox_Release(&pme->m_pReadBox);
CSoftkey_Release(pme->m_pSoftkey);
DelTemp(pme); //清除临时文件名字和临时文件
FREEIF(pme->m_pWebBody);
BREW_FREE(pme->m_pFileMgr);
BREW_FREE(pme->m_pMainMenu); //释放主菜单图片
BREW_FREE(pme->m_pMainTxt); //释放主菜单文字图片
BREW_FREE(pme->m_pMyfavDBFile);
BREW_FREE(pme->m_pCustomiseDBFile);
}
//初始化列表菜单
boolean Newsddt_InitList(Newsddt* pme,AEEDeviceInfo di)
{
uint8 i;
AEERect rcList;
SETAEERECT(&rcList,0,0,di.cxScreen,di.cyScreen-BAR_BOTTOM);
for(i=0;i<MAX_LIST;i++)
{
ISHELL_CreateInstance(pme->a.m_pIShell, AEECLSID_MENUCTL, (void**)(&pme->m_pList[i]));
if (pme->m_pList[i])
{
IMENUCTL_SetProperties(pme->m_pList[i], MP_UNDERLINE_TITLE);
IMENUCTL_SetRect(pme->m_pList[i],&rcList);
}
else
{
return FALSE;
}
}
return TRUE;
}
boolean Newsddt_InitSoftkey(Newsddt* pme) //初始化Softkey
{
pme->m_pSoftkey = CSoftkey_New(pme->m_nDevWidth,pme->m_nDevHeight);
if (!pme->m_pSoftkey)
{
return FALSE;
}
pme->m_enSoftkeyType = SOFTKEY_TYPE_SEL_EXIT;
return TRUE;
}
boolean Newsddt_InitReadBox(Newsddt* pme) //初始化图书相关信息
{
pme->m_bAutoRead = FALSE;
SETAEERECT(&pme->m_ReadRect,0,0,pme->m_nDevWidth,pme->m_nDevHeight-BAR_BOTTOM);
pme->m_pReadBox = CReadBox_New(pme->m_pFileMgr,&pme->a,&pme->m_ReadRect,pme,(uint16)pme->m_nDevWidth,(uint16)pme->m_nDevHeight,(uint16)(pme->m_nDevHeight - 2*BAR_BOTTOM));
if (pme->m_pReadBox)
{
CReadBox_SetNotify(pme->m_pReadBox , (PFNNOTYRead)ReadText_Notify);
CReadBox_SetTextFB(pme->m_pReadBox , SPACE_BETWEEN_LINE);
}
else
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -