mirror of
https://github.com/libretro/RetroArch
synced 2025-01-04 02:50:05 +00:00
156 lines
4.7 KiB
QML
156 lines
4.7 KiB
QML
import bb.cascades 1.0
|
|
|
|
Page
|
|
{
|
|
titleBar: TitleBar {
|
|
id: players
|
|
kind: TitleBarKind.Segmented
|
|
options: [
|
|
Option {
|
|
id: p1
|
|
text: "Player 1"
|
|
value: 0
|
|
selected: true
|
|
},
|
|
Option {
|
|
id: p2
|
|
text: "Player 2"
|
|
value: 1
|
|
},
|
|
Option {
|
|
id: p3
|
|
text: "Player 3"
|
|
value: 2
|
|
},
|
|
Option {
|
|
id: p4
|
|
text: "Player 4"
|
|
value: 3
|
|
}
|
|
]
|
|
|
|
onSelectedValueChanged:
|
|
{
|
|
ButtonMap.refreshButtonMap(selectedValue)
|
|
}
|
|
}
|
|
|
|
actions: [
|
|
ActionItem {
|
|
title: "Rescan"
|
|
ActionBar.placement: ActionBarPlacement.OnBar
|
|
imageSource: "asset:///images/search.png"
|
|
onTriggered: {
|
|
RetroArch.discoverController(players.selectedValue);
|
|
}
|
|
}
|
|
]
|
|
|
|
Container
|
|
{
|
|
Container
|
|
{
|
|
preferredWidth: 650
|
|
horizontalAlignment: HorizontalAlignment.Center
|
|
|
|
Container
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Center
|
|
layout: StackLayout
|
|
{
|
|
orientation: LayoutOrientation.LeftToRight
|
|
}
|
|
|
|
DropDown
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Left
|
|
id: dropdown_device
|
|
objectName: "dropdown_devices"
|
|
title: "Device"
|
|
}
|
|
|
|
Button
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Right
|
|
text: "Set"
|
|
|
|
onClicked:
|
|
{
|
|
ButtonMap.mapDevice(dropdown_device.selectedValue, players.selectedValue);
|
|
}
|
|
}
|
|
}
|
|
|
|
ListView
|
|
{
|
|
id: buttonMapList
|
|
objectName: "buttonMapList"
|
|
|
|
listItemComponents: [
|
|
ListItemComponent
|
|
{
|
|
type: "item"
|
|
|
|
Container
|
|
{
|
|
id: itemRoot
|
|
horizontalAlignment: HorizontalAlignment.Center
|
|
rightPadding: 20
|
|
|
|
Divider {}
|
|
|
|
Container
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Fill
|
|
topPadding: 10
|
|
bottomPadding: 10
|
|
|
|
|
|
layout: DockLayout {
|
|
}
|
|
|
|
Label
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Left
|
|
verticalAlignment: VerticalAlignment.Center
|
|
text: ListItemData.label
|
|
textStyle
|
|
{
|
|
base: SystemDefaults.TextStyles.PrimaryText
|
|
}
|
|
}
|
|
|
|
Label
|
|
{
|
|
horizontalAlignment: HorizontalAlignment.Right
|
|
verticalAlignment: VerticalAlignment.Center
|
|
text: ListItemData.button
|
|
textStyle
|
|
{
|
|
base: SystemDefaults.TextStyles.PrimaryText
|
|
}
|
|
}
|
|
}
|
|
|
|
Divider {}
|
|
}
|
|
}
|
|
]
|
|
|
|
onTriggered:
|
|
{
|
|
var sym, data;
|
|
data = dataModel.data(indexPath);
|
|
sym = ButtonMap.mapButton(0, players.selectedValue, data["index"]);
|
|
data["button"] = ButtonMap.buttonToString(players.selectedValue, sym);
|
|
dataModel.replace(indexPath, data);
|
|
}
|
|
|
|
function itemType(data, indexPath)
|
|
{
|
|
return "item";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |