📄 mmimt_billboard_wintab.c
字号:
/*****************************************************************************
** File Name: *
** Author: *
** Date: 2007/07/01 *
** Copyright: 2007 MTONE, Inc. All Rights Reserved. *
** Description: *
******************************************************************************
** Important Edit History *
** --------------------------------------------------------------------------*
** DATE NAME DESCRIPTION *
** 2007/07/01 Create *
*****************************************************************************/
#ifdef MMI_MTUNE
#include "mmimt_billboard_wintab.h"
#include "base/mt_ini.h"
#include "base/mmimt_id.h"
#include "base/mmimt_pubwin.h"
#include "base/mmimt_text.h"
#include "data/mt_billboard.h"
#include "data/mt_otacfg.h"
#include "wap/mt_gprs.h"
#include "base/mt_osapi.h"
#include "mt_ver.h"
#include "mmimt_wap_app.h"
#include "guifont.h"
#include "guimenu.h"
//#include "mmk_ex.h"
#include "mtdef.h"
#include "mmi_menutable.h"
#include "window_parse.h"
////////////////////////////////////////////////////////////////
extern MT_BB_ITEM_L1* g_bb_item_l1;
extern uint8 g_bb_item_l1_cnt;
extern MT_OTA_CFG g_ota_cfg;
LOCAL MMI_RESULT_E HandleBillboardL1WinMsg( MMIMT_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param );
WINDOW_TABLE(MMIMP3_BILLBOARD_L1_WIN_TAB) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL),
// WIN_TITLE_ID(TXT_MT_TITLE_BILLBOARD),
WIN_FUNC((uint32)HandleBillboardL1WinMsg),
WIN_ID(MMIMP3_BILLBOARD_L1_WIN_ID),
CREATE_MENU_CTRL(0,0,MMI_MAINSCREEN_RIGHT_MAX_PIXEL,MMI_MAINSCREEN_BOTTOM_MAX_PIXEL,
MENU_DYNA,MMIMP3_BILLBOARD_L1_MENU_CTRL_ID),
END_WIN
};
extern WINDOW_TABLE(MMIMP3_BILLBOARD_L1_WIN_TAB);
void MMIMT_Billboard_OpenWin( BOOLEAN fcheck )
{
MTBB_LoadEx();
if( !g_bb_item_l1_cnt ) return;
if( fcheck && strncmp( MTBB_GetLastTimestamp(), g_ota_cfg.szbillboard_timestamp, 10 ) )
{
MT_WAPOpenURL_DownBillboard(); return;
}
if( !MMK_IsOpenWin( MMIMP3_BILLBOARD_L1_WIN_ID ) )
{
MMK_CreateWin( (uint32 *)MMIMP3_BILLBOARD_L1_WIN_TAB, NULL );
}
}
extern WINDOW_TABLE(MMIMP3_BILLBOARD_L2_WIN_TAB);
LOCAL MMI_RESULT_E HandleBillboardL1WinMsg( MMIMT_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param )
{
MMI_RESULT_E ret = MMI_RESULT_TRUE; MMI_CONTROL_ID_E ctrl_id = MMIMP3_BILLBOARD_L1_MENU_CTRL_ID;
uint16 i; static uint32 t = 0;
MMI_STRING_T title;
switch( msg_id )
{
case MSG_OPEN_WINDOW:
MMI_GetLabelTextByLang( TXT_MT_TITLE_BILLBOARD, &title );
GUIMENU_SetMenuTitle( &title, ctrl_id );
if( !g_bb_item_l1_cnt ) break;
for( i=0; i<g_bb_item_l1_cnt; i++ )
{
MMI_STRING_T text; uint8 str[MAX_NODE_TEXT_LENGTH*2] = { 0 };
text.str_ptr = str; text.is_ucs2 = TRUE;
text.length = GUI_GB2UCS( (uint16 *)str, (uint8 *)(g_bb_item_l1[i].title_ptr), (uint16)MIN( MAX_NODE_TEXT_LENGTH , g_bb_item_l1[i].title_len ) );
GUIMENU_InsertNode(i, (uint16)(i+1), 0, &text, ctrl_id );
}
MMK_SetAtvCtrl( win_id, ctrl_id );
t = SCI_GetTickCount();
break;
case MSG_CTL_PENOK:
case MSG_CTL_OK:
if( !g_bb_item_l1_cnt ) break;
i = (uint16)MAX( GUIMENU_GetCurNodeId( ctrl_id ) - 1, 0 );
MMK_CreateWin( (uint32 *)MMIMP3_BILLBOARD_L2_WIN_TAB, (ADD_DATA)(uint32)i );
break;
case MSG_CTL_CANCEL:
MMK_CloseWin( win_id );
if( !MTBB_GetAdvCnfTimestamp() && !strncmp( MTBB_GetLastTimestamp(), g_ota_cfg.szbillboard_timestamp, 10 ) )
{
if( SCI_GetTickCount() - t > (uint32)MTINI_GetProfileInt( INI_MT_INT_BILLBOARD_DUR_PER_USE ) * 1000 )
{
MTBB_SetAdvCnfTimestamp( TM_GetTotalSeconds() );
}
}
break;
default:
ret = MMI_RESULT_FALSE;
break;
}
return ret;
}
LOCAL MMI_RESULT_E HandleBillboardL2WinMsg( MMIMT_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param );
WINDOW_TABLE(MMIMP3_BILLBOARD_L2_WIN_TAB) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL),
// WIN_TITLE_ID(TXT_MT_TITLE_BILLBOARD),
WIN_FUNC((uint32)HandleBillboardL2WinMsg),
WIN_ID(MMIMP3_BILLBOARD_L2_WIN_ID),
CREATE_MENU_CTRL(0,0,MMI_MAINSCREEN_RIGHT_MAX_PIXEL,MMI_MAINSCREEN_BOTTOM_MAX_PIXEL,
MENU_DYNA,MMIMP3_BILLBOARD_L2_MENU_CTRL_ID),
END_WIN
};
extern WINDOW_TABLE(MMIMP3_BILLBOARD_L2_WIN_TAB);
LOCAL MMI_RESULT_E HandleBillboardL2WinMsg( MMIMT_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param )
{
MMI_RESULT_E ret = MMI_RESULT_TRUE; MMI_CONTROL_ID_E ctrl_id = MMIMP3_BILLBOARD_L2_MENU_CTRL_ID;
static uint16 i = 0; uint16 j; char szkeyword[81] = { 0 };
MMI_STRING_T title;
uint8 str_title[MAX_NODE_TEXT_LENGTH*2] = { 0 };
switch( msg_id )
{
case MSG_OPEN_WINDOW:
MMI_GetLabelTextByLang( TXT_MT_TITLE_BILLBOARD, &title );
if( !g_bb_item_l1_cnt ) break;
i = (uint16)(uint32)MMK_GetWinAddDataPtr( win_id ); if( i >= g_bb_item_l1_cnt ) break;
GUIMENU_SetMenuTitle( &title, ctrl_id );
GUIMENU_SetDynamicMenuSoftkey(ctrl_id, (MMI_TEXT_ID_T)TXT_MTUNE_SK_DOWNLOAD,(MMI_TEXT_ID_T)TXT_NULL,(MMI_TEXT_ID_T)STXT_RETURN);
for( j=0; j<g_bb_item_l1[i].item_l2_cnt; j++ )
{
MMI_STRING_T text; uint8 str[MAX_NODE_TEXT_LENGTH*2] = { 0 };
text.str_ptr = str; text.is_ucs2 = TRUE;
text.length = GUI_GB2UCS( (uint16 *)str, (uint8 *)g_bb_item_l1[i].item_l2[j].title_ptr, (uint16)MIN( MAX_NODE_TEXT_LENGTH , g_bb_item_l1[i].item_l2[j].title_len ) );
GUIMENU_InsertNode( j , (uint16)(j+1) , 0, &text, ctrl_id);
}
MMK_SetAtvCtrl( win_id, ctrl_id );
break;
case MSG_CTL_PENOK:
case MSG_CTL_OK:
if( !g_bb_item_l1_cnt ) break;
j = (uint16)MAX( GUIMENU_GetCurNodeId( ctrl_id ) - 1, 0 ); if( j >= g_bb_item_l1[i].item_l2_cnt ) break;
if( !mt_gprs_isavailable() ) { MT_PROMPT_GPRS_INAVAILABLE(); break; }
strncpy( szkeyword, g_bb_item_l1[i].item_l2[j].title_ptr, MIN( sizeof(szkeyword), g_bb_item_l1[i].item_l2[j].title_len ) );
if( !*g_bb_item_l1[i].item_l2[j].szmobjid && !*g_bb_item_l1[i].item_l2[j].szwobjid )
{
MT_WAPOpenURL_SrchMP3( szkeyword, "", "", "", "", MTPK_BILLBOARD );
}
else
{
MT_WAPOpenURL_SrchOBJ2( g_bb_item_l1[i].item_l2[j].szmobjid, g_bb_item_l1[i].item_l2[j].szwobjid ); // BBV2
}
break;
case MSG_CTL_CANCEL:
MMK_CloseWin( win_id );
break;
default:
ret = MMI_RESULT_FALSE;
break;
}
return ret;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -