mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
(UI/QT) Create 'add' function for SettingsGroup and LayoutForm
This commit is contained in:
parent
0cb94aef85
commit
95f77a2288
@ -4955,6 +4955,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_RADIO_BUTTONS;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 3, 1.0, true, true);
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
@ -6532,6 +6533,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
&setting_get_string_representation_uint_crt_switch_resolutions;
|
||||
@ -6566,6 +6568,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_SPINBOX;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
(*list)[list_info->index - 1].offset_by = -3;
|
||||
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
|
||||
@ -6825,6 +6828,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
&setting_get_string_representation_uint_audio_resampler_quality;
|
||||
@ -6916,6 +6920,7 @@ static bool setting_append_list(
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ALLOW_INPUT);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_STRING_LINE_EDIT;
|
||||
(*list)[list_info->index - 1].action_left = &setting_string_action_left_audio_device;
|
||||
(*list)[list_info->index - 1].action_right = &setting_string_action_right_audio_device;
|
||||
#endif
|
||||
@ -7112,6 +7117,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
&setting_get_string_representation_poll_type_behavior;
|
||||
@ -7213,6 +7219,7 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
|
||||
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
&setting_get_string_representation_toggle_gamepad_combo;
|
||||
@ -7457,6 +7464,7 @@ static bool setting_append_list(
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group);
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_BIND_BUTTON;
|
||||
(*list)[list_info->index - 1].index = user_value;
|
||||
(*list)[list_info->index - 1].index_offset = user;
|
||||
|
||||
@ -7693,7 +7701,8 @@ static bool setting_append_list(
|
||||
strdup(input_config_bind_map_get_desc(i)),
|
||||
&retro_keybinds_1[i],
|
||||
&group_info, &subgroup_info, parent_group);
|
||||
(*list)[list_info->index - 1].bind_type = i + MENU_SETTINGS_BIND_BEGIN;
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_BIND_BUTTON;
|
||||
(*list)[list_info->index - 1].bind_type = i + MENU_SETTINGS_BIND_BEGIN;
|
||||
menu_settings_list_current_add_enum_idx(list, list_info,
|
||||
(enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i));
|
||||
}
|
||||
|
@ -1949,6 +1949,7 @@ bool CONFIG_FLOAT(
|
||||
if (!(settings_list_append(list, list_info)))
|
||||
return false;
|
||||
(*list)[list_info->index++] = value;
|
||||
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_FLOAT_SLIDER_AND_SPINBOX;
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_settings_list_current_add_enum_idx(list, list_info, name_enum_idx);
|
||||
|
@ -26,28 +26,26 @@ AudioPage::AudioPage(QObject *parent) :
|
||||
|
||||
QWidget *AudioPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
|
||||
SettingsGroup *outputGroup = new SettingsGroup("Output");
|
||||
QWidget *widget = new QWidget;
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
SettingsGroup *outputGroup = new SettingsGroup("Output");
|
||||
SettingsGroup *resamplerGroup = new SettingsGroup("Resampler");
|
||||
SettingsGroup *syncGroup = new SettingsGroup(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_AUDIO_SYNC));
|
||||
SettingsGroup *dspGroup = new SettingsGroup("DSP plugin");
|
||||
SettingsGroup *volumeGroup = new SettingsGroup("Volume");
|
||||
SettingsGroup *syncGroup = new SettingsGroup(msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_AUDIO_SYNC));
|
||||
SettingsGroup *dspGroup = new SettingsGroup("DSP plugin");
|
||||
SettingsGroup *volumeGroup = new SettingsGroup("Volume");
|
||||
QHBoxLayout *volumeLayout = new QHBoxLayout();
|
||||
|
||||
QHBoxLayout *volumeLayout = new QHBoxLayout();
|
||||
outputGroup->add(MENU_ENUM_LABEL_AUDIO_ENABLE);
|
||||
outputGroup->add(MENU_ENUM_LABEL_AUDIO_DRIVER);
|
||||
outputGroup->add(MENU_ENUM_LABEL_AUDIO_DEVICE);
|
||||
outputGroup->add(MENU_ENUM_LABEL_AUDIO_LATENCY);
|
||||
|
||||
outputGroup->addCheckBox(MENU_ENUM_LABEL_AUDIO_ENABLE);
|
||||
outputGroup->addStringComboBox(MENU_ENUM_LABEL_AUDIO_DRIVER);
|
||||
outputGroup->addStringLineEdit(MENU_ENUM_LABEL_AUDIO_DEVICE);
|
||||
outputGroup->addUIntSpinBox(MENU_ENUM_LABEL_AUDIO_LATENCY);
|
||||
resamplerGroup->add(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER);
|
||||
resamplerGroup->add(MENU_ENUM_LABEL_AUDIO_RESAMPLER_QUALITY);
|
||||
resamplerGroup->add(MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE);
|
||||
|
||||
resamplerGroup->addStringComboBox(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER);
|
||||
resamplerGroup->addUIntComboBox(MENU_ENUM_LABEL_AUDIO_RESAMPLER_QUALITY);
|
||||
resamplerGroup->addUIntSpinBox(MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE);
|
||||
|
||||
syncGroup->addCheckBox(MENU_ENUM_LABEL_AUDIO_SYNC);
|
||||
syncGroup->add(MENU_ENUM_LABEL_AUDIO_SYNC);
|
||||
syncGroup->addFloatSpinBox(MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW);
|
||||
syncGroup->addFloatSpinBox(MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA);
|
||||
|
||||
@ -82,11 +80,11 @@ QWidget *MenuSoundsPage::widget()
|
||||
|
||||
FormLayout *layout = new FormLayout;
|
||||
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_AUDIO_ENABLE_MENU);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_MENU_SOUND_OK);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_MENU_SOUND_CANCEL);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_MENU_SOUND_NOTICE);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_MENU_SOUND_BGM);
|
||||
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);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
|
@ -36,25 +36,24 @@ InputPage::InputPage(QObject *parent) :
|
||||
|
||||
QWidget *InputPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QWidget *widget = new QWidget;
|
||||
FormLayout *layout = new FormLayout;
|
||||
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_INPUT_MAX_USERS);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS);
|
||||
layout->addUIntComboBox(MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR);
|
||||
layout->addUIntComboBox(MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE);
|
||||
layout->addFloatSliderAndSpinBox(MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD);
|
||||
layout->addFloatSliderAndSpinBox(MENU_ENUM_LABEL_INPUT_ANALOG_DEADZONE);
|
||||
layout->addFloatSliderAndSpinBox(MENU_ENUM_LABEL_INPUT_ANALOG_SENSITIVITY);
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT);
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_INPUT_BIND_HOLD);
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_INPUT_TURBO_PERIOD);
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_INPUT_DUTY_CYCLE);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_MAX_USERS);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO);
|
||||
layout->add(MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_ANALOG_DEADZONE);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_ANALOG_SENSITIVITY);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_BIND_HOLD);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_TURBO_PERIOD);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_DUTY_CYCLE);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
@ -69,25 +68,25 @@ HotkeyBindsPage::HotkeyBindsPage(QObject *parent) :
|
||||
|
||||
QWidget *HotkeyBindsPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QHBoxLayout *layout = new QHBoxLayout;
|
||||
FormLayout *leftLayout = new FormLayout;
|
||||
FormLayout *rightLayout = new FormLayout;
|
||||
|
||||
unsigned i;
|
||||
unsigned count = 0;
|
||||
unsigned half = 40 / 2; /* TODO unhardcode */
|
||||
unsigned count = 0;
|
||||
unsigned half = 40 / 2; /* TODO unhardcode */
|
||||
QWidget *widget = new QWidget;
|
||||
QHBoxLayout *layout = new QHBoxLayout;
|
||||
FormLayout *leftLayout = new FormLayout;
|
||||
FormLayout *rightLayout = new FormLayout;
|
||||
|
||||
for (i = 0; i < RARCH_BIND_LIST_END; i++)
|
||||
{
|
||||
enum msg_hash_enums lbl = (enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i);
|
||||
|
||||
if (count < half)
|
||||
{
|
||||
if (leftLayout->addBindButton((enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i)))
|
||||
if (leftLayout->add(lbl))
|
||||
count++;
|
||||
}
|
||||
else
|
||||
rightLayout->addBindButton((enum msg_hash_enums)(MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN + i));
|
||||
rightLayout->add(lbl);
|
||||
}
|
||||
|
||||
layout->addLayout(leftLayout);
|
||||
@ -107,15 +106,12 @@ UserBindsPage::UserBindsPage(QObject *parent) :
|
||||
|
||||
QWidget *UserBindsPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
|
||||
unsigned count = 0;
|
||||
unsigned p, retro_id;
|
||||
unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
|
||||
|
||||
QComboBox *userCombo = new QComboBox;
|
||||
unsigned count = 0;
|
||||
unsigned max_users = *(input_driver_get_uint(INPUT_ACTION_MAX_USERS));
|
||||
QWidget *widget = new QWidget;
|
||||
QGridLayout *layout = new QGridLayout;
|
||||
QComboBox *userCombo = new QComboBox;
|
||||
QStackedWidget *stack = new QStackedWidget;
|
||||
|
||||
for (p = 0; p < max_users; p++)
|
||||
@ -128,12 +124,10 @@ QWidget *UserBindsPage::widget()
|
||||
for (retro_id = 0; retro_id < RARCH_FIRST_CUSTOM_BIND + 20; retro_id++)
|
||||
{
|
||||
char descriptor[300];
|
||||
const struct retro_keybind *auto_bind = NULL;
|
||||
const struct retro_keybind *keybind = NULL;
|
||||
|
||||
keybind = &input_config_binds[p][retro_id];
|
||||
|
||||
auto_bind = (const struct retro_keybind*)
|
||||
const struct retro_keybind *keybind =
|
||||
&input_config_binds[p][retro_id];
|
||||
const struct retro_keybind *auto_bind =
|
||||
(const struct retro_keybind*)
|
||||
input_config_get_bind_auto(p, retro_id);
|
||||
|
||||
input_config_get_bind_string(descriptor,
|
||||
@ -144,14 +138,17 @@ QWidget *UserBindsPage::widget()
|
||||
|
||||
QString label = msg_hash_to_str(keyptr->enum_idx);
|
||||
|
||||
form->addRow(QString(msg_hash_to_str(keyptr->enum_idx)), new QPushButton(QString(descriptor)));
|
||||
form->addRow(QString(msg_hash_to_str(keyptr->enum_idx)),
|
||||
new QPushButton(QString(descriptor)));
|
||||
}
|
||||
|
||||
uWidget->setLayout(form);
|
||||
|
||||
stack->addWidget(uWidget);
|
||||
}
|
||||
|
||||
connect(userCombo, SIGNAL(activated(int)), stack, SLOT(setCurrentIndex(int)));
|
||||
connect(userCombo, SIGNAL(activated(int)),
|
||||
stack, SLOT(setCurrentIndex(int)));
|
||||
|
||||
layout->addWidget(userCombo, 0, 0);
|
||||
layout->addWidget(stack, 1, 0);
|
||||
|
@ -23,13 +23,12 @@ LoggingPage::LoggingPage(QObject *parent) :
|
||||
|
||||
QWidget *LoggingPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QWidget *widget = new QWidget;
|
||||
FormLayout *layout = new FormLayout;
|
||||
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_LOG_VERBOSITY);
|
||||
layout->addUIntRadioButtons(MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_PERFCNT_ENABLE);
|
||||
layout->add(MENU_ENUM_LABEL_LOG_VERBOSITY);
|
||||
layout->add(MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL);
|
||||
layout->add(MENU_ENUM_LABEL_PERFCNT_ENABLE);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
|
@ -175,17 +175,16 @@ AspectRatioGroup::AspectRatioGroup(const QString &title, QWidget *parent) :
|
||||
,m_radioButton(new AspectRatioRadioButton(ASPECT_RATIO_4_3, ASPECT_RATIO_32_9))
|
||||
,m_comboBox(new UIntComboBox(MENU_ENUM_LABEL_VIDEO_ASPECT_RATIO_INDEX, ASPECT_RATIO_4_3, ASPECT_RATIO_32_9))
|
||||
{
|
||||
QHBoxLayout *aspectLayout = new QHBoxLayout;
|
||||
FormLayout *leftAspectForm = new FormLayout;
|
||||
QHBoxLayout *aspectLayout = new QHBoxLayout;
|
||||
QHBoxLayout *preset = new QHBoxLayout;
|
||||
QHBoxLayout *custom = new QHBoxLayout;
|
||||
QVBoxLayout *customRadio = new QVBoxLayout;
|
||||
QHBoxLayout *config = new QHBoxLayout;
|
||||
QHBoxLayout *aspectL = new QHBoxLayout;
|
||||
FormLayout *leftAspectForm = new FormLayout;
|
||||
FormLayout *rightAspectForm = new FormLayout;
|
||||
QHBoxLayout *preset = new QHBoxLayout;
|
||||
//AspectRatioRadioButton *aspectRadioButton = new AspectRatioRadioButton(ASPECT_RATIO_4_3, ASPECT_RATIO_32_9);
|
||||
QHBoxLayout *custom = new QHBoxLayout;
|
||||
QVBoxLayout *customRadio = new QVBoxLayout;
|
||||
QHBoxLayout *config = new QHBoxLayout;
|
||||
QHBoxLayout *aspectL = new QHBoxLayout;
|
||||
FormLayout *leftAspect = new FormLayout;
|
||||
FormLayout *rightAspect = new FormLayout;
|
||||
FormLayout *leftAspect = new FormLayout;
|
||||
FormLayout *rightAspect = new FormLayout;
|
||||
|
||||
leftAspectForm->addRow("X Pos.:", new UIntSpinBox(MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X));
|
||||
leftAspectForm->addRow("Width:", new UIntSpinBox(MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_WIDTH));
|
||||
@ -267,8 +266,7 @@ CrtSwitchresPage::CrtSwitchresPage(QObject *parent) :
|
||||
|
||||
QWidget *CrtSwitchresPage::widget()
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
|
||||
QWidget *widget = new QWidget;
|
||||
FormLayout *layout = new FormLayout;
|
||||
|
||||
m_crtSuperResolutionCombo->addItem(msg_hash_to_str(MSG_NATIVE), 0);
|
||||
@ -276,10 +274,10 @@ QWidget *CrtSwitchresPage::widget()
|
||||
m_crtSuperResolutionCombo->addItem("2560", 2560);
|
||||
m_crtSuperResolutionCombo->addItem("3840", 3840);
|
||||
|
||||
layout->addUIntComboBox(MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION);
|
||||
layout->add(MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION);
|
||||
layout->addRow(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CRT_SWITCH_RESOLUTION_SUPER), m_crtSuperResolutionCombo);
|
||||
layout->addUIntSpinBox(MENU_ENUM_LABEL_CRT_SWITCH_X_AXIS_CENTERING);
|
||||
layout->addCheckBox(MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_USE_CUSTOM_REFRESH_RATE);
|
||||
layout->add(MENU_ENUM_LABEL_CRT_SWITCH_X_AXIS_CENTERING);
|
||||
layout->add(MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_USE_CUSTOM_REFRESH_RATE);
|
||||
|
||||
connect(m_crtSuperResolutionCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(onCrtSuperResolutionComboIndexChanged(int)));
|
||||
|
||||
|
@ -49,6 +49,73 @@ public:
|
||||
void addFloatSliderAndSpinBox(msg_hash_enums enum_idx);
|
||||
void addUIntColorButton(const QString &title, msg_hash_enums r, msg_hash_enums g, msg_hash_enums b);
|
||||
bool addBindButton(msg_hash_enums enum_idx);
|
||||
|
||||
bool add(msg_hash_enums enum_idx)
|
||||
{
|
||||
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
|
||||
enum ui_setting_type ui_type = ST_UI_TYPE_NONE;
|
||||
|
||||
if (!setting)
|
||||
return false;
|
||||
|
||||
ui_type = setting->ui_type;
|
||||
|
||||
switch (ui_type)
|
||||
{
|
||||
case ST_UI_TYPE_CHECKBOX:
|
||||
this->addCheckBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_COLOR_BUTTON:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_SPINBOX:
|
||||
this->addUIntSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_COMBOBOX:
|
||||
this->addUIntComboBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_RADIO_BUTTONS:
|
||||
this->addUIntRadioButtons(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_COLOR_BUTTON:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_SPINBOX:
|
||||
this->addFloatSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_SLIDER_AND_SPINBOX:
|
||||
this->addFloatSliderAndSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_SIZE_SPINBOX:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_BIND_BUTTON:
|
||||
return this->addBindButton(enum_idx);
|
||||
case ST_UI_TYPE_DIRECTORY_SELECTOR:
|
||||
this->addDirectorySelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FILE_SELECTOR:
|
||||
this->addFileSelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FONT_SELECTOR:
|
||||
this->addFontSelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_STRING_COMBOBOX:
|
||||
this->addStringComboBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_STRING_LINE_EDIT:
|
||||
this->addStringLineEdit(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_PASSWORD_LINE_EDIT:
|
||||
this->addPasswordLineEdit(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class SettingsGroup : public QGroupBox
|
||||
@ -76,6 +143,76 @@ public:
|
||||
void addFloatSliderAndSpinBox(msg_hash_enums enum_idx);
|
||||
void addUIntColorButton(const QString &title, msg_hash_enums r, msg_hash_enums g, msg_hash_enums b);
|
||||
void addBindButton(msg_hash_enums enum_idx);
|
||||
|
||||
bool add(msg_hash_enums enum_idx)
|
||||
{
|
||||
rarch_setting_t *setting = menu_setting_find_enum(enum_idx);
|
||||
enum ui_setting_type ui_type = ST_UI_TYPE_NONE;
|
||||
|
||||
if (!setting)
|
||||
return false;
|
||||
|
||||
ui_type = setting->ui_type;
|
||||
|
||||
switch (ui_type)
|
||||
{
|
||||
case ST_UI_TYPE_CHECKBOX:
|
||||
this->addCheckBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_COLOR_BUTTON:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_SPINBOX:
|
||||
this->addUIntSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_COMBOBOX:
|
||||
this->addUIntComboBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_UINT_RADIO_BUTTONS:
|
||||
this->addUIntRadioButtons(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_COLOR_BUTTON:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_SPINBOX:
|
||||
this->addFloatSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FLOAT_SLIDER_AND_SPINBOX:
|
||||
this->addFloatSliderAndSpinBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_SIZE_SPINBOX:
|
||||
/* TODO/FIXME */
|
||||
break;
|
||||
case ST_UI_TYPE_BIND_BUTTON:
|
||||
/* TODO/FIXME - Why is the returntype void here and bool
|
||||
* for Layout? */
|
||||
this->addBindButton(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_DIRECTORY_SELECTOR:
|
||||
this->addDirectorySelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FILE_SELECTOR:
|
||||
this->addFileSelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_FONT_SELECTOR:
|
||||
this->addFontSelector(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_STRING_COMBOBOX:
|
||||
this->addStringComboBox(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_STRING_LINE_EDIT:
|
||||
this->addStringLineEdit(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_PASSWORD_LINE_EDIT:
|
||||
this->addPasswordLineEdit(enum_idx);
|
||||
break;
|
||||
case ST_UI_TYPE_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
private:
|
||||
FormLayout *m_layout;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user