linphone-desktop/Linphone/view/Control/Popup/NumericPadPopup.qml
Gaelle Braud 06647f002a resize the app according to screen definition
fix ui size according to screen resolution
2025-03-07 11:36:34 +01:00

80 lines
2.1 KiB
QML

import QtQuick
import QtQuick.Controls.Basic as Control
import QtQuick.Layouts as Layout
import QtQuick.Effects
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Control.Popup {
id: mainItem
closePolicy: Control.Popup.CloseOnEscape
leftPadding: Math.round(72 * DefaultStyle.dp)
rightPadding: Math.round(72 * DefaultStyle.dp)
topPadding: Math.round(41 * DefaultStyle.dp)
bottomPadding: Math.round(18 * DefaultStyle.dp)
property bool closeButtonVisible: true
property bool roundedBottom: false
property bool lastRowVisible: true
property var currentCall
onOpened: numPad.forceActiveFocus()
signal buttonPressed(string text)
signal launchCall()
signal wipe()
background: Item {
anchors.fill: parent
Rectangle {
id: numPadBackground
width: parent.width
height: parent.height
color: DefaultStyle.grey_100
radius: Math.round(20 * DefaultStyle.dp)
}
MultiEffect {
id: effect
anchors.fill: numPadBackground
source: numPadBackground
shadowEnabled: true
shadowColor: DefaultStyle.grey_1000
shadowOpacity: 0.1
shadowBlur: 0.1
z: -1
}
Rectangle {
width: parent.width
height: parent.height / 2
anchors.bottom: parent.bottom
color: DefaultStyle.grey_100
visible: !mainItem.roundedBottom
}
MouseArea {
anchors.fill: parent
onClicked: numPad.forceActiveFocus()
}
BigButton {
id: closeButton
visible: mainItem.closeButtonVisible
anchors.top: parent.top
anchors.right: parent.right
anchors.topMargin: Math.round(10 * DefaultStyle.dp)
anchors.rightMargin: Math.round(10 * DefaultStyle.dp)
icon.source: AppIcons.closeX
icon.width: Math.round(24 * DefaultStyle.dp)
icon.height: Math.round(24 * DefaultStyle.dp)
style: ButtonStyle.noBackground
onClicked: mainItem.close()
}
}
contentItem: NumericPad{
id: numPad
lastRowVisible: mainItem.lastRowVisible
currentCall: mainItem.currentCall
onButtonPressed: (text) => {
console.log("BUTTON PRESSED NUMPAD")
mainItem.buttonPressed(text)
}
onLaunchCall: mainItem.launchCall()
onWipe: mainItem.wipe()
}
}