mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-18 11:58:11 +00:00
81 lines
2.2 KiB
QML
81 lines
2.2 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
|
|
import "qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js" as Utils
|
|
|
|
Control.Popup {
|
|
id: mainItem
|
|
closePolicy: Control.Popup.CloseOnEscape
|
|
leftPadding: Utils.getSizeWithScreenRatio(72)
|
|
rightPadding: Utils.getSizeWithScreenRatio(72)
|
|
topPadding: Utils.getSizeWithScreenRatio(41)
|
|
bottomPadding: Utils.getSizeWithScreenRatio(18)
|
|
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: Utils.getSizeWithScreenRatio(20)
|
|
}
|
|
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: Utils.getSizeWithScreenRatio(10)
|
|
anchors.rightMargin: Utils.getSizeWithScreenRatio(10)
|
|
icon.source: AppIcons.closeX
|
|
icon.width: Utils.getSizeWithScreenRatio(24)
|
|
icon.height: Utils.getSizeWithScreenRatio(24)
|
|
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()
|
|
}
|
|
}
|