(UI/QT) Refactor audio.cpp

This commit is contained in:
twinaphex 2019-04-20 16:14:37 +02:00
parent f1a2652024
commit 22739b4430
2 changed files with 49 additions and 45 deletions

View File

@ -4385,6 +4385,32 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
switch (type)
{
case DISPLAYLIST_MENU_SOUNDS_LIST:
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_AUDIO_ENABLE_MENU,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_MENU_SOUND_OK,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_MENU_SOUND_CANCEL,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_MENU_SOUND_NOTICE,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_MENU_SOUND_BGM,
PARSE_ONLY_BOOL, false) == 0)
count++;
break;
case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST:
if (menu_displaylist_parse_settings_enum(list,
MENU_ENUM_LABEL_QUICK_MENU_SHOW_TAKE_SCREENSHOT,
@ -5968,9 +5994,17 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
case DISPLAYLIST_CONFIGURATION_SETTINGS_LIST:
case DISPLAYLIST_CORE_SETTINGS_LIST:
case DISPLAYLIST_QUICK_MENU_VIEWS_SETTINGS_LIST:
case DISPLAYLIST_MENU_SOUNDS_LIST:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
count = menu_displaylist_build_list(info->list, type);
if (count == 0)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
0, 0, 0);
info->need_refresh = true;
info->need_push = true;
break;
@ -6453,44 +6487,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
0, 0, 0);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_MENU_SOUNDS_LIST:
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
if (menu_displaylist_parse_settings_enum(info->list,
MENU_ENUM_LABEL_AUDIO_ENABLE_MENU,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(info->list,
MENU_ENUM_LABEL_MENU_SOUND_OK,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(info->list,
MENU_ENUM_LABEL_MENU_SOUND_CANCEL,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(info->list,
MENU_ENUM_LABEL_MENU_SOUND_NOTICE,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (menu_displaylist_parse_settings_enum(info->list,
MENU_ENUM_LABEL_MENU_SOUND_BGM,
PARSE_ONLY_BOOL, false) == 0)
count++;
if (count == 0)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND),
msg_hash_to_str(MENU_ENUM_LABEL_NO_SETTINGS_FOUND),
MENU_ENUM_LABEL_NO_SETTINGS_FOUND,
0, 0, 0);
info->need_refresh = true;
info->need_push = true;
break;

View File

@ -76,15 +76,23 @@ MenuSoundsPage::MenuSoundsPage(QObject *parent) :
QWidget *MenuSoundsPage::widget()
{
QWidget *widget = new QWidget();
unsigned i;
QWidget *widget = new QWidget();
FormLayout *layout = new FormLayout;
file_list_t *list = (file_list_t*)calloc(1, sizeof(*list));
FormLayout *layout = new FormLayout;
menu_displaylist_build_list(
list, DISPLAYLIST_MENU_SOUNDS_LIST);
layout->add(MENU_ENUM_LABEL_AUDIO_ENABLE_MENU);
layout->add(MENU_ENUM_LABEL_MENU_SOUND_OK);
layout->add(MENU_ENUM_LABEL_MENU_SOUND_CANCEL);
layout->add(MENU_ENUM_LABEL_MENU_SOUND_NOTICE);
layout->add(MENU_ENUM_LABEL_MENU_SOUND_BGM);
for (i = 0; i < list->size; i++)
{
menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)
file_list_get_actiondata_at_offset(list, i);
layout->add(cbs->enum_idx);
}
file_list_free(list);
widget->setLayout(layout);