Rewrite setting_data_get_string_representation
This commit is contained in:
parent
cee04db869
commit
21dff0771e
|
@ -241,11 +241,15 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||||
|
|
||||||
if (self.setting)
|
if (self.setting)
|
||||||
{
|
{
|
||||||
if (self.setting->short_description)
|
if (self.setting->short_description)
|
||||||
result.textLabel.text = BOXSTRING(self.setting->short_description);
|
result.textLabel.text = BOXSTRING(self.setting->short_description);
|
||||||
|
|
||||||
result.detailTextLabel.text = BOXSTRING(setting_data_get_string_representation(self.setting, buffer, sizeof(buffer)));
|
setting_data_get_string_representation(self.setting, buffer, sizeof(buffer));
|
||||||
|
if (buffer[0] == '\0')
|
||||||
|
strlcpy(buffer, "N/A", sizeof(buffer));
|
||||||
|
|
||||||
|
result.detailTextLabel.text = BOXSTRING(buffer);
|
||||||
|
|
||||||
if (self.setting->type == ST_PATH)
|
if (self.setting->type == ST_PATH)
|
||||||
result.detailTextLabel.text = [result.detailTextLabel.text lastPathComponent];
|
result.detailTextLabel.text = [result.detailTextLabel.text lastPathComponent];
|
||||||
}
|
}
|
||||||
|
@ -268,7 +272,12 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||||
field = [alertView textFieldAtIndex:0];
|
field = [alertView textFieldAtIndex:0];
|
||||||
|
|
||||||
field.delegate = self.formatter;
|
field.delegate = self.formatter;
|
||||||
field.placeholder = BOXSTRING(setting_data_get_string_representation(self.setting, buffer, sizeof(buffer)));
|
|
||||||
|
setting_data_get_string_representation(self.setting, buffer, sizeof(buffer));
|
||||||
|
if (buffer[0] == '\0')
|
||||||
|
strlcpy(buffer, "N/A", sizeof(buffer));
|
||||||
|
|
||||||
|
field.placeholder = BOXSTRING(buffer);
|
||||||
|
|
||||||
[alertView show];
|
[alertView show];
|
||||||
}
|
}
|
||||||
|
|
|
@ -369,29 +369,29 @@ void setting_data_set_with_string_representation(const rarch_setting_t* setting,
|
||||||
setting->change_handler(setting);
|
setting->change_handler(setting);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* setting_data_get_string_representation(const rarch_setting_t* setting, char* buffer, size_t length)
|
void setting_data_get_string_representation(const rarch_setting_t* setting, char* buf, size_t sizeof_buf)
|
||||||
{
|
{
|
||||||
if (!setting || !buffer || !length)
|
if (!setting || !buf || !sizeof_buf)
|
||||||
return "";
|
return;
|
||||||
|
|
||||||
switch (setting->type)
|
switch (setting->type)
|
||||||
{
|
{
|
||||||
case ST_BOOL:
|
case ST_BOOL:
|
||||||
snprintf(buffer, length, "%s", *setting->value.boolean ? "True" : "False");
|
snprintf(buf, sizeof_buf, "%s", *setting->value.boolean ? "True" : "False");
|
||||||
break;
|
break;
|
||||||
case ST_INT:
|
case ST_INT:
|
||||||
snprintf(buffer, length, "%d", *setting->value.integer);
|
snprintf(buf, sizeof_buf, "%d", *setting->value.integer);
|
||||||
break;
|
break;
|
||||||
case ST_UINT:
|
case ST_UINT:
|
||||||
snprintf(buffer, length, "%u", *setting->value.unsigned_integer);
|
snprintf(buf, sizeof_buf, "%u", *setting->value.unsigned_integer);
|
||||||
break;
|
break;
|
||||||
case ST_FLOAT:
|
case ST_FLOAT:
|
||||||
snprintf(buffer, length, "%f", *setting->value.fraction);
|
snprintf(buf, sizeof_buf, "%f", *setting->value.fraction);
|
||||||
break;
|
break;
|
||||||
case ST_PATH:
|
case ST_PATH:
|
||||||
case ST_DIR:
|
case ST_DIR:
|
||||||
case ST_STRING:
|
case ST_STRING:
|
||||||
strlcpy(buffer, setting->value.string, length);
|
strlcpy(buf, setting->value.string, sizeof_buf);
|
||||||
break;
|
break;
|
||||||
case ST_BIND:
|
case ST_BIND:
|
||||||
{
|
{
|
||||||
|
@ -406,14 +406,23 @@ const char* setting_data_get_string_representation(const rarch_setting_t* settin
|
||||||
#ifdef APPLE
|
#ifdef APPLE
|
||||||
get_key_name(key_name, sizeof(key_name), setting);
|
get_key_name(key_name, sizeof(key_name), setting);
|
||||||
#endif
|
#endif
|
||||||
snprintf(buffer, length, "[KB:%s] [JS:%s] [AX:%s]", key_name, button_name, axis_name);
|
snprintf(buf, sizeof_buf, "[KB:%s] [JS:%s] [AX:%s]", key_name, button_name, axis_name);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
/* TODO */
|
||||||
return "";
|
case ST_HEX:
|
||||||
|
break;
|
||||||
|
case ST_GROUP:
|
||||||
|
break;
|
||||||
|
case ST_SUB_GROUP:
|
||||||
|
break;
|
||||||
|
case ST_END_GROUP:
|
||||||
|
break;
|
||||||
|
case ST_END_SUB_GROUP:
|
||||||
|
break;
|
||||||
|
case ST_NONE:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return buffer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rarch_setting_t setting_data_group_setting(enum setting_type type, const char* name)
|
rarch_setting_t setting_data_group_setting(enum setting_type type, const char* name)
|
||||||
|
|
|
@ -110,7 +110,7 @@ bool setting_data_save_config(const rarch_setting_t* settings, config_file_t* co
|
||||||
rarch_setting_t* setting_data_find_setting(rarch_setting_t* settings, const char* name);
|
rarch_setting_t* setting_data_find_setting(rarch_setting_t* settings, const char* name);
|
||||||
|
|
||||||
void setting_data_set_with_string_representation(const rarch_setting_t* setting, const char* value);
|
void setting_data_set_with_string_representation(const rarch_setting_t* setting, const char* value);
|
||||||
const char* setting_data_get_string_representation(const rarch_setting_t* setting, char* buffer, size_t length);
|
void setting_data_get_string_representation(const rarch_setting_t* setting, char* buf, size_t sizeof_buf);
|
||||||
|
|
||||||
// List building helper functions
|
// List building helper functions
|
||||||
rarch_setting_t setting_data_group_setting(enum setting_type type, const char* name);
|
rarch_setting_t setting_data_group_setting(enum setting_type type, const char* name);
|
||||||
|
|
Loading…
Reference in New Issue