Merge pull request #2440 from lakkatv/xmb

Allow resetting the core associations to N/A with start
This commit is contained in:
Twinaphex 2015-11-21 20:47:16 +01:00
commit 4a55826818
2 changed files with 32 additions and 20 deletions

View File

@ -13,6 +13,8 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <file/file_path.h>
#include "../menu.h"
#include "../menu_cbs.h"
#include "../menu_input.h"
@ -264,6 +266,32 @@ static int action_start_core_setting(unsigned type,
return 0;
}
static int action_start_playlist_association(unsigned type, const char *label)
{
int i, next, found, current = 0;
char core_path[PATH_MAX_LENGTH] = {0};
char new_playlist_cores[PATH_MAX_LENGTH] = {0};
global_t *global = global_get_ptr();
settings_t *settings = config_get_ptr();
const char *path = path_basename(label);
core_info_list_t *list = global ? global->core_info.list : NULL;
if (!list)
return -1;
struct string_list *stnames = string_split(settings->playlist_names, ";");
struct string_list *stcores = string_split(settings->playlist_cores, ";");
found = string_list_find_elem(stnames, path);
if (found)
string_list_set(stcores, found-1, "DETECT");
string_list_join_concat(new_playlist_cores, sizeof(new_playlist_cores), stcores, ";");
strlcpy(settings->playlist_cores, new_playlist_cores, sizeof(settings->playlist_cores));
return 0;
}
static int action_start_video_resolution(unsigned type, const char *label)
{
unsigned width = 0, height = 0;
@ -349,6 +377,10 @@ static int menu_cbs_init_bind_start_compare_type(menu_file_list_cbs_t *cbs,
{
BIND_ACTION_START(cbs, action_start_performance_counters_frontend);
}
else if ((type >= MENU_SETTINGS_PLAYLIST_ASSOCIATION_START))
{
BIND_ACTION_START(cbs, action_start_playlist_association);
}
else if ((type >= MENU_SETTINGS_CORE_OPTION_START))
{
BIND_ACTION_START(cbs, action_start_core_setting);

View File

@ -1883,26 +1883,6 @@ static void xmb_layout(menu_handle_t *menu, xmb_handle_t *xmb)
xmb->margins.label.left = 85.0 * scale_factor;
xmb->margins.label.top = new_font_size / 3.0;
xmb->margins.setting.left = 600.0 * scale_factor;
if (width >= 3840)
scale_factor = 2.0;
else if (width >= 2560)
scale_factor = 1.5;
else if (width >= 1920)
scale_factor = 1.0;
else if (width >= 1440)
scale_factor = 0.75;
else if (width >= 960)
scale_factor = 0.5;
else if (width >= 640)
scale_factor = 0.375;
else if (width >= 480)
scale_factor = 0.25;
else if (width >= 320)
scale_factor = 0.1875;
else if (width >= 240)
scale_factor = 0.125;
xmb->icon.size = 128.0 * scale_factor;
current = selection;