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; 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: public slots:
void setPlayerName(QString s, int n); void setPlayerName(QString s, int n);
void bet(BetType b, int n); void bet(BetType b, int n, int bet);
QString getPlayerName(int n); QString getPlayerName(int n);
void setFocusedPlayer(int n); void setFocusedPlayer(int n);

View file

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

View file

@ -1,5 +1,6 @@
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Controls
import roulette import roulette
@ -10,6 +11,9 @@ Item {
} }
RowLayout { RowLayout {
id: layout
property int indexForDialog
anchors { anchors {
left: parent.left left: parent.left
leftMargin: 90 leftMargin: 90
@ -20,14 +24,20 @@ Item {
spacing: 1.8 spacing: 1.8
Repeater { Repeater {
id: repeater
model: 12 model: 12
Item {
height: 45
width: 35
property alias selected: selected
Rectangle { Rectangle {
visible: true visible: true
color: tapHandler1.pressed ? "#999999" : "#EEEEEE" color: tapHandler1.pressed ? "#999999" : "#EEEEEE"
opacity: hoverHandler.hovered ? 0.4 : 0 opacity: hoverHandler.hovered ? 0.4 : 0
height: 45 height: parent.height
width: 35 width: parent.width
HoverHandler { HoverHandler {
id: hoverHandler id: hoverHandler
@ -36,31 +46,65 @@ Item {
id: tapHandler1 id: tapHandler1
} }
} }
}
Repeater { Rectangle {
model: 12 id: selected
delegate: Rectangle {
visible: true visible: true
color: "transparent" color: "transparent"
height: 44 height: parent.height
width: 35 width: parent.width
border.color: "blue" border.color: "blue"
border.width: 0 border.width: 0
TapHandler { TapHandler {
onTapped: ()=> { onTapped: {
if (parent.border.width == 0) { if (parent.border.width == 0) {
parent.border.width = 2 parent.border.width = 2
layout.indexForDialog = index
dialog.open()
} else { } else {
parent.border.width = 0 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
}
} }