mirror of
https://gitee.com/anod/open_agb_firm.git
synced 2025-05-06 22:04:10 +08:00
增加显示帮助提示
This commit is contained in:
parent
846f0cab23
commit
cbd7dfb766
@ -100,8 +100,7 @@ extern atp_error_t atp_select(
|
|||||||
);
|
);
|
||||||
|
|
||||||
extern atp_error_t atp_tips(
|
extern atp_error_t atp_tips(
|
||||||
INPUT(atp_text_t) text_at_left_bottom,
|
INPUT(atp_text_t) tips
|
||||||
INPUT(atp_text_t) text_at_right_bottom
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#undef INPUT
|
#undef INPUT
|
||||||
|
@ -353,16 +353,12 @@ atp_error_t atp_select( atp_text_t title, atp_counter_t cnt, atp_itemprovider_t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
atp_error_t atp_tips( atp_text_t tipsA, atp_text_t tipsB )
|
|
||||||
|
atp_error_t atp_tips( atp_text_t tips )
|
||||||
{
|
{
|
||||||
if( tipsA != NULL )
|
if( tips != NULL )
|
||||||
{
|
{
|
||||||
strncpy( ta, tipsA, TIPS_MAX-1 );
|
strncpy( tb, tips, TIPS_MAX-1 );
|
||||||
ta[TIPS_MAX-1] = 0;
|
|
||||||
}
|
|
||||||
if( tipsB != NULL )
|
|
||||||
{
|
|
||||||
strncpy( tb, tipsB, TIPS_MAX-1 );
|
|
||||||
tb[TIPS_MAX-1] = 0;
|
tb[TIPS_MAX-1] = 0;
|
||||||
}
|
}
|
||||||
return ATP_SUCCESS;
|
return ATP_SUCCESS;
|
||||||
|
@ -142,7 +142,19 @@ scanEnd:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
atp_error_t display_folder( atp_callerdata_t data, atp_counter_t index, atp_itemcfg_t *config )
|
const atp_text_t folder_help[] = {
|
||||||
|
"操 作 说 明",
|
||||||
|
"蓝色 --- 文件夹",
|
||||||
|
"白色 --- 游戏文件",
|
||||||
|
"A 键 --- 查看文件夹/运行游戏",
|
||||||
|
"B 键 --- 上层文件夹",
|
||||||
|
"X 键 --- 金手指",
|
||||||
|
"Y 键 --- 文件配置",
|
||||||
|
"START --- 查看说明",
|
||||||
|
"SELECT --- 系统设置"
|
||||||
|
};
|
||||||
|
|
||||||
|
static atp_error_t display_folder( atp_callerdata_t data, atp_counter_t index, atp_itemcfg_t *config )
|
||||||
{
|
{
|
||||||
DirList *const dList = (DirList*)data;
|
DirList *const dList = (DirList*)data;
|
||||||
u8 type = *dList->ptrs[index];
|
u8 type = *dList->ptrs[index];
|
||||||
@ -153,7 +165,7 @@ atp_error_t display_folder( atp_callerdata_t data, atp_counter_t index, atp_item
|
|||||||
return ATP_SUCCESS;
|
return ATP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
atp_error_t display_empty( atp_callerdata_t, atp_counter_t, atp_linecfg_t *config )
|
static atp_error_t display_empty( atp_callerdata_t, atp_counter_t, atp_linecfg_t *config )
|
||||||
{
|
{
|
||||||
config->text = "没有合适的文件";
|
config->text = "没有合适的文件";
|
||||||
config->text_align = ATP_PLACEMENT_CENTER;
|
config->text_align = ATP_PLACEMENT_CENTER;
|
||||||
@ -161,6 +173,21 @@ atp_error_t display_empty( atp_callerdata_t, atp_counter_t, atp_linecfg_t *confi
|
|||||||
return ATP_SUCCESS;
|
return ATP_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static atp_error_t display_help( atp_callerdata_t table, atp_counter_t index, atp_linecfg_t *config )
|
||||||
|
{
|
||||||
|
atp_text_t *list = (atp_text_t*)table;
|
||||||
|
config->text_align = index == 0 ? ATP_PLACEMENT_CENTER : ATP_PLACEMENT_LEFT;
|
||||||
|
config->text_color = index == 0 ? ATP_COLOR_MAGENTA : ATP_COLOR_LIGHT;
|
||||||
|
config->text = table[index];
|
||||||
|
return ATP_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void help_page( atp_text_t *wording, atp_counter_t length )
|
||||||
|
{
|
||||||
|
atp_tips( "返回:按A/B" );
|
||||||
|
atp_show( length, display_help, (atp_callerdata_t)wording );
|
||||||
|
}
|
||||||
|
|
||||||
#define DIRBUFFSIZE 512
|
#define DIRBUFFSIZE 512
|
||||||
#define DIRUP { \
|
#define DIRUP { \
|
||||||
char *tmpPathPtr = curDir + pathLen; \
|
char *tmpPathPtr = curDir + pathLen; \
|
||||||
@ -197,7 +224,10 @@ Result browseFiles(const char *const basePath, char selected[512])
|
|||||||
u32 pathLen = strlen(curDir);
|
u32 pathLen = strlen(curDir);
|
||||||
|
|
||||||
if( count > 0 )
|
if( count > 0 )
|
||||||
error = atp_select( curDir, count, display_folder, NULL, (atp_callerdata_t)dList, selecting, strcmp(curDir, FS_DRIVE_NAMES)==0, &value );
|
{
|
||||||
|
atp_tips( "指引:按START" );
|
||||||
|
error = atp_select( curDir, count, display_folder, NULL, (atp_callerdata_t)dList, selecting, 0, &value );
|
||||||
|
}
|
||||||
else error = atp_show( 1, display_empty, NULL );
|
else error = atp_show( 1, display_empty, NULL );
|
||||||
|
|
||||||
|
|
||||||
@ -238,7 +268,11 @@ Result browseFiles(const char *const basePath, char selected[512])
|
|||||||
}
|
}
|
||||||
else if( error == ATP_NO_ACTION )
|
else if( error == ATP_NO_ACTION )
|
||||||
{// 上层目录
|
{// 上层目录
|
||||||
DIRUP;
|
if( strcmp(curDir, FS_DRIVE_NAMES) == 0 )
|
||||||
|
{
|
||||||
|
help_page( folder_help, sizeof(folder_help)/sizeof(atp_text_t) );
|
||||||
|
}
|
||||||
|
else DIRUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( scan )
|
if( scan )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user