Added little window to insert bet amount.

This commit is contained in:
greek 2024-06-02 09:34:59 +01:00
parent 8b3815baac
commit 16df570727
4 changed files with 74 additions and 32 deletions

View file

@ -44,7 +44,7 @@ void PlayerAreaModel::setFocusedPlayer(int n)
focusedPlayer = n;
}
void PlayerAreaModel::bet(BetType b, int n)
void PlayerAreaModel::bet(BetType b, int n, int bet)
{
printf("Received %d-%d for player %s\n", b, n, playerNames[focusedPlayer].toLocal8Bit().data());
printf("Received %d-%d for player %s for %d gil\n", b, n, playerNames[focusedPlayer].toLocal8Bit().data(), bet);
}

View file

@ -32,7 +32,7 @@ public:
public slots:
void setPlayerName(QString s, int n);
void bet(BetType b, int n);
void bet(BetType b, int n, int bet);
QString getPlayerName(int n);
void setFocusedPlayer(int n);

View file

@ -7,9 +7,7 @@ Item {
Image {
source: "qrc:/roulette.png"
signal streetBet(n: int)
//fillMode: Image.PreserveAspectFit
height: parent.height
width: parent.width

View file

@ -1,5 +1,6 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import roulette
@ -10,6 +11,9 @@ Item {
}
RowLayout {
id: layout
property int indexForDialog
anchors {
left: parent.left
leftMargin: 90
@ -20,47 +24,87 @@ Item {
spacing: 1.8
Repeater {
id: repeater
model: 12
Rectangle {
visible: true
color: tapHandler1.pressed ? "#999999" : "#EEEEEE"
opacity: hoverHandler.hovered ? 0.4 : 0
Item {
height: 45
width: 35
property alias selected: selected
HoverHandler {
id: hoverHandler
Rectangle {
visible: true
color: tapHandler1.pressed ? "#999999" : "#EEEEEE"
opacity: hoverHandler.hovered ? 0.4 : 0
height: parent.height
width: parent.width
HoverHandler {
id: hoverHandler
}
TapHandler {
id: tapHandler1
}
}
TapHandler {
id: tapHandler1
}
}
}
Repeater {
model: 12
Rectangle {
id: selected
delegate: Rectangle {
visible: true
color: "transparent"
height: 44
width: 35
border.color: "blue"
border.width: 0
visible: true
color: "transparent"
height: parent.height
width: parent.width
border.color: "blue"
border.width: 0
TapHandler {
TapHandler {
onTapped: ()=> {
if (parent.border.width == 0) {
parent.border.width = 2
} else {
parent.border.width = 0
onTapped: {
if (parent.border.width == 0) {
parent.border.width = 2
layout.indexForDialog = index
dialog.open()
} else {
parent.border.width = 0
}
}
PlayerAreaModel.bet(PlayerAreaModel.STREET, index)
}
}
}
}
}
Dialog {
property alias input: input
id: dialog
height: 35
width: 65
TextField {
id: input
focus: true
anchors {
fill: parent
}
onActiveFocusChanged: {
selectAll()
focus = true
}
onAccepted: {
dialog.accept()
}
}
onActiveFocusChanged: {
dialog.x = 120 + repeater.itemAt(layout.indexForDialog).x
dialog.y = 60 + repeater.itemAt(layout.indexForDialog).y
}
onAccepted: PlayerAreaModel.bet(PlayerAreaModel.STREET, layout.indexForDialog, input.text)
onRejected: repeater.itemAt(layout.indexForDialog).selected.border.width = 0
}
}