diff --git a/PlayerAreaModel.cpp b/PlayerAreaModel.cpp index cd5ff49..7dea37a 100644 --- a/PlayerAreaModel.cpp +++ b/PlayerAreaModel.cpp @@ -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); } diff --git a/PlayerAreaModel.h b/PlayerAreaModel.h index 5296ebc..e24322a 100644 --- a/PlayerAreaModel.h +++ b/PlayerAreaModel.h @@ -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); diff --git a/Roulette.qml b/Roulette.qml index e1ddaa6..9a9e4fd 100644 --- a/Roulette.qml +++ b/Roulette.qml @@ -7,9 +7,7 @@ Item { Image { source: "qrc:/roulette.png" - signal streetBet(n: int) - //fillMode: Image.PreserveAspectFit height: parent.height width: parent.width diff --git a/StreetBetsView.qml b/StreetBetsView.qml index 35fb5c7..52d49a7 100644 --- a/StreetBetsView.qml +++ b/StreetBetsView.qml @@ -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 + } }