mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-27 00:48:08 +00:00
change layout panel + fix button ui
This commit is contained in:
parent
19840b30f3
commit
37b5ac5292
32 changed files with 364 additions and 182 deletions
3
Linphone/data/image/Display mode.svg
Normal file
3
Linphone/data/image/Display mode.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M27.2819 5.73328H4.71779C4.17375 5.73328 3.652 5.94939 3.26731 6.33408C2.88262 6.71877 2.6665 7.24052 2.6665 7.78456V24.1948C2.6665 24.7388 2.88262 25.2606 3.26731 25.6453C3.652 26.03 4.17375 26.2461 4.71779 26.2461H27.2819C27.8259 26.2461 28.3477 26.03 28.7324 25.6453C29.1171 25.2606 29.3332 24.7388 29.3332 24.1948V7.78456C29.3332 7.24052 29.1171 6.71877 28.7324 6.33408C28.3477 5.94939 27.8259 5.73328 27.2819 5.73328ZM4.71779 7.78456H27.2819V14.964H18.0511C17.5071 14.964 16.9853 15.1802 16.6006 15.5649C16.216 15.9495 15.9998 16.4713 15.9998 17.0153V24.1948H4.71779V7.78456ZM27.2819 24.1948H18.0511V17.0153H27.2819V24.1948Z" fill="#6C7A87"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 760 B |
3
Linphone/data/image/pip.svg
Normal file
3
Linphone/data/image/pip.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M27 6H5C4.46957 6 3.96086 6.21071 3.58579 6.58579C3.21071 6.96086 3 7.46957 3 8V24C3 24.5304 3.21071 25.0391 3.58579 25.4142C3.96086 25.7893 4.46957 26 5 26H27C27.5304 26 28.0391 25.7893 28.4142 25.4142C28.7893 25.0391 29 24.5304 29 24V8C29 7.46957 28.7893 6.96086 28.4142 6.58579C28.0391 6.21071 27.5304 6 27 6ZM5 8H27V15H18C17.4696 15 16.9609 15.2107 16.5858 15.5858C16.2107 15.9609 16 16.4696 16 17V24H5V8ZM27 24H18V17H27V24Z" fill="#343330"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 559 B |
3
Linphone/data/image/squares-four.svg
Normal file
3
Linphone/data/image/squares-four.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13 5H7C6.46957 5 5.96086 5.21071 5.58579 5.58579C5.21071 5.96086 5 6.46957 5 7V13C5 13.5304 5.21071 14.0391 5.58579 14.4142C5.96086 14.7893 6.46957 15 7 15H13C13.5304 15 14.0391 14.7893 14.4142 14.4142C14.7893 14.0391 15 13.5304 15 13V7C15 6.46957 14.7893 5.96086 14.4142 5.58579C14.0391 5.21071 13.5304 5 13 5ZM13 13H7V7H13V13ZM25 5H19C18.4696 5 17.9609 5.21071 17.5858 5.58579C17.2107 5.96086 17 6.46957 17 7V13C17 13.5304 17.2107 14.0391 17.5858 14.4142C17.9609 14.7893 18.4696 15 19 15H25C25.5304 15 26.0391 14.7893 26.4142 14.4142C26.7893 14.0391 27 13.5304 27 13V7C27 6.46957 26.7893 5.96086 26.4142 5.58579C26.0391 5.21071 25.5304 5 25 5ZM25 13H19V7H25V13ZM13 17H7C6.46957 17 5.96086 17.2107 5.58579 17.5858C5.21071 17.9609 5 18.4696 5 19V25C5 25.5304 5.21071 26.0391 5.58579 26.4142C5.96086 26.7893 6.46957 27 7 27H13C13.5304 27 14.0391 26.7893 14.4142 26.4142C14.7893 26.0391 15 25.5304 15 25V19C15 18.4696 14.7893 17.9609 14.4142 17.5858C14.0391 17.2107 13.5304 17 13 17ZM13 25H7V19H13V25ZM25 17H19C18.4696 17 17.9609 17.2107 17.5858 17.5858C17.2107 17.9609 17 18.4696 17 19V25C17 25.5304 17.2107 26.0391 17.5858 26.4142C17.9609 26.7893 18.4696 27 19 27H25C25.5304 27 26.0391 26.7893 26.4142 26.4142C26.7893 26.0391 27 25.5304 27 25V19C27 18.4696 26.7893 17.9609 26.4142 17.5858C26.0391 17.2107 25.5304 17 25 17ZM25 25H19V19H25V25Z" fill="#343330"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
Linphone/data/image/waveform.svg
Normal file
3
Linphone/data/image/waveform.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7 12V20C7 20.2652 6.89464 20.5196 6.70711 20.7071C6.51957 20.8946 6.26522 21 6 21C5.73478 21 5.48043 20.8946 5.29289 20.7071C5.10536 20.5196 5 20.2652 5 20V12C5 11.7348 5.10536 11.4804 5.29289 11.2929C5.48043 11.1054 5.73478 11 6 11C6.26522 11 6.51957 11.1054 6.70711 11.2929C6.89464 11.4804 7 11.7348 7 12ZM11 3C10.7348 3 10.4804 3.10536 10.2929 3.29289C10.1054 3.48043 10 3.73478 10 4V28C10 28.2652 10.1054 28.5196 10.2929 28.7071C10.4804 28.8946 10.7348 29 11 29C11.2652 29 11.5196 28.8946 11.7071 28.7071C11.8946 28.5196 12 28.2652 12 28V4C12 3.73478 11.8946 3.48043 11.7071 3.29289C11.5196 3.10536 11.2652 3 11 3ZM16 7C15.7348 7 15.4804 7.10536 15.2929 7.29289C15.1054 7.48043 15 7.73478 15 8V24C15 24.2652 15.1054 24.5196 15.2929 24.7071C15.4804 24.8946 15.7348 25 16 25C16.2652 25 16.5196 24.8946 16.7071 24.7071C16.8946 24.5196 17 24.2652 17 24V8C17 7.73478 16.8946 7.48043 16.7071 7.29289C16.5196 7.10536 16.2652 7 16 7ZM21 11C20.7348 11 20.4804 11.1054 20.2929 11.2929C20.1054 11.4804 20 11.7348 20 12V20C20 20.2652 20.1054 20.5196 20.2929 20.7071C20.4804 20.8946 20.7348 21 21 21C21.2652 21 21.5196 20.8946 21.7071 20.7071C21.8946 20.5196 22 20.2652 22 20V12C22 11.7348 21.8946 11.4804 21.7071 11.2929C21.5196 11.1054 21.2652 11 21 11ZM26 9C25.7348 9 25.4804 9.10536 25.2929 9.29289C25.1054 9.48043 25 9.73478 25 10V22C25 22.2652 25.1054 22.5196 25.2929 22.7071C25.4804 22.8946 25.7348 23 26 23C26.2652 23 26.5196 22.8946 26.7071 22.7071C26.8946 22.5196 27 22.2652 27 22V10C27 9.73478 26.8946 9.48043 26.7071 9.29289C26.5196 9.10536 26.2652 9 26 9Z" fill="#343330"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
|
@ -44,6 +44,17 @@ Window {
|
|||
infoPopup.open()
|
||||
}
|
||||
|
||||
function changeLayout(layoutIndex) {
|
||||
if (layoutIndex == 0) {
|
||||
console.log("TODO : set mosaic layout")
|
||||
} else if (layoutIndex == 1) {
|
||||
console.log("TODO : set pip layout")
|
||||
} else {
|
||||
console.log("TODO : set audio layout")
|
||||
}
|
||||
console.log("+ change settings default layout")
|
||||
}
|
||||
|
||||
Connections {
|
||||
enabled: call != undefined && call != null
|
||||
target: call && call.core
|
||||
|
|
@ -435,19 +446,68 @@ Window {
|
|||
}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: changeLayoutPanel
|
||||
ColumnLayout {
|
||||
Control.StackView.onActivated: rightPanel.headerTitleText = qsTr("Modifier la disposition")
|
||||
spacing: 12 * DefaultStyle.dp
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("La disposition choisie sera enregistrée pour vos prochaines réunions")
|
||||
font.pixelSize: 14 * DefaultStyle.dp
|
||||
}
|
||||
RoundedBackgroundControl {
|
||||
Layout.fillWidth: true
|
||||
contentItem: ColumnLayout {
|
||||
Repeater {
|
||||
model: [
|
||||
{text: qsTr("Mosaïque"), imgUrl: AppIcons.squaresFour},
|
||||
{text: qsTr("Intervenant actif"), imgUrl: AppIcons.pip},
|
||||
{text: qsTr("Audio seulement"), imgUrl: AppIcons.waveform}
|
||||
]
|
||||
RadioButton {
|
||||
id: radiobutton
|
||||
color: DefaultStyle.main1_500_main
|
||||
indicatorSize: 20 * DefaultStyle.dp
|
||||
leftPadding: indicator.width + spacing
|
||||
spacing: 8 * DefaultStyle.dp
|
||||
Component.onCompleted: {
|
||||
console.log("TODO : set checked true if is current layout")
|
||||
if (index == 0) checked = true
|
||||
}
|
||||
contentItem: RowLayout {
|
||||
spacing: 5 * DefaultStyle.dp
|
||||
EffectImage {
|
||||
id: radioButtonImg
|
||||
Layout.preferredWidth: 32 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 32 * DefaultStyle.dp
|
||||
imageSource: modelData.imgUrl
|
||||
colorizationColor: DefaultStyle.main2_500main
|
||||
}
|
||||
Text {
|
||||
text: modelData.text
|
||||
color: DefaultStyle.main2_500main
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 14 * DefaultStyle.dp
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
onCheckedChanged: if (checked) mainWindow.changeLayout(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {Layout.fillHeight: true}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: callsListPanel
|
||||
ColumnLayout {
|
||||
Control.StackView.onActivated: rightPanel.headerTitleText = qsTr("Liste d'appel")
|
||||
RoundedBackgroundControl {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: Math.min(callList.implicitHeight + topPadding + bottomPadding, rightPanel.height)
|
||||
|
||||
topPadding: 15 * DefaultStyle.dp
|
||||
bottomPadding: 15 * DefaultStyle.dp
|
||||
leftPadding: 15 * DefaultStyle.dp
|
||||
rightPadding: 15 * DefaultStyle.dp
|
||||
backgroundColor: mainWindow.conference ? DefaultStyle.grey_0 : DefaultStyle.main2_0
|
||||
Layout.maximumHeight: rightPanel.height
|
||||
visible: callList.contentHeight > 0
|
||||
|
||||
contentItem: ListView {
|
||||
id: callList
|
||||
|
|
@ -498,8 +558,8 @@ Window {
|
|||
Layout.alignment: Qt.AlignRight
|
||||
|
||||
popup.contentItem: ColumnLayout {
|
||||
spacing: 0
|
||||
Control.Button {
|
||||
// spacing: 0
|
||||
Button {
|
||||
background: Item {}
|
||||
contentItem: RowLayout {
|
||||
Image {
|
||||
|
|
@ -529,7 +589,7 @@ Window {
|
|||
}
|
||||
onClicked: modelData.core.lSetPaused(!modelData.core.paused)
|
||||
}
|
||||
Control.Button {
|
||||
Button {
|
||||
background: Item {}
|
||||
contentItem: RowLayout {
|
||||
EffectImage {
|
||||
|
|
@ -738,6 +798,8 @@ Window {
|
|||
icon.source: AppIcons.endCall
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
Layout.preferredWidth: 75 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
contentImageColor: DefaultStyle.grey_0
|
||||
checkable: false
|
||||
Layout.column: mainWindow.callState == LinphoneEnums.CallState.OutgoingInit
|
||||
|
|
@ -746,8 +808,6 @@ Window {
|
|||
|| mainWindow.callState == LinphoneEnums.CallState.OutgoingEarlyMedia
|
||||
|| mainWindow.callState == LinphoneEnums.CallState.IncomingReceived
|
||||
? 0 : bottomButtonsLayout.columns - 1
|
||||
Layout.preferredWidth: 75 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
background: Rectangle {
|
||||
anchors.fill: parent
|
||||
color: DefaultStyle.danger_500main
|
||||
|
|
@ -767,6 +827,8 @@ Window {
|
|||
id: pauseButton
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
background: Rectangle {
|
||||
anchors.fill: parent
|
||||
radius: 71 * DefaultStyle.dp
|
||||
|
|
@ -790,9 +852,9 @@ Window {
|
|||
icon.source: AppIcons.transferCall
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
contentImageColor: enabled ? DefaultStyle.grey_0 : DefaultStyle.grey_500
|
||||
onEnabledChanged: console.log("===================enable change", enabled)
|
||||
onContentImageColorChanged: console.log("===================================== content image color", contentImageColor)
|
||||
onCheckedChanged: {
|
||||
if (checked) {
|
||||
rightPanel.visible = true
|
||||
|
|
@ -812,6 +874,8 @@ Window {
|
|||
icon.source: AppIcons.newCall
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
var mainWin = UtilsCpp.getMainWindow()
|
||||
UtilsCpp.smartShowWindow(mainWin)
|
||||
|
|
@ -835,6 +899,8 @@ Window {
|
|||
checked: mainWindow.call && !mainWindow.call.core.cameraEnabled
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onCheckedChanged: mainWindow.call.core.lSetCameraEnabled(!mainWindow.call.core.cameraEnabled)
|
||||
}
|
||||
CheckableButton {
|
||||
|
|
@ -843,6 +909,8 @@ Window {
|
|||
checked: mainWindow.call && mainWindow.call.core.microphoneMuted
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onCheckedChanged: mainWindow.call.core.lSetMicrophoneMuted(!mainWindow.call.core.microphoneMuted)
|
||||
}
|
||||
CheckableButton {
|
||||
|
|
@ -852,6 +920,8 @@ Window {
|
|||
checkedColor: DefaultStyle.main2_400
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onCheckedChanged: {
|
||||
if (checked) {
|
||||
rightPanel.visible = true
|
||||
|
|
@ -867,14 +937,12 @@ Window {
|
|||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
onEnabledChanged: console.log("========== enabled changed", enabled)
|
||||
contentImageColor: enabled && !checked ? DefaultStyle.grey_0 : DefaultStyle.grey_500
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.more
|
||||
background: Rectangle {
|
||||
anchors.fill: moreOptionsButton
|
||||
color: moreOptionsButton.enabled
|
||||
? moreOptionsButton.checked
|
||||
? DefaultStyle.grey_0
|
||||
? DefaultStyle.main2_400
|
||||
: DefaultStyle.grey_500
|
||||
: DefaultStyle.grey_600
|
||||
radius: 40 * DefaultStyle.dp
|
||||
|
|
@ -887,90 +955,81 @@ Window {
|
|||
moreOptionsButton.popup.y = - moreOptionsButton.popup.height + moreOptionsButton.height/4
|
||||
}
|
||||
}
|
||||
component MenuButton: Button {
|
||||
background: Item{}
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
textColor: down ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main
|
||||
contentImageColor: down ? DefaultStyle.main1_500_main : DefaultStyle.main2_500main
|
||||
textSize: 14 * DefaultStyle.dp
|
||||
textWeight: 400 * DefaultStyle.dp
|
||||
spacing: 5 * DefaultStyle.dp
|
||||
}
|
||||
popup.contentItem: ColumnLayout {
|
||||
id: optionsList
|
||||
spacing: 10 * DefaultStyle.dp
|
||||
|
||||
Button {
|
||||
id: callListButton
|
||||
spacing: 5 * DefaultStyle.dp
|
||||
|
||||
MenuButton {
|
||||
visible: mainWindow.conference
|
||||
Layout.fillWidth: true
|
||||
background: Item {}
|
||||
contentItem: RowLayout {
|
||||
Image {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: AppIcons.callList
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Liste d'appel")
|
||||
}
|
||||
icon.source: AppIcons.squaresFour
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
text: qsTr("Modifier la disposition")
|
||||
onClicked: {
|
||||
rightPanel.visible = true
|
||||
rightPanel.replace(changeLayoutPanel)
|
||||
moreOptionsButton.close()
|
||||
}
|
||||
}
|
||||
MenuButton {
|
||||
icon.source: AppIcons.callList
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Liste d'appel")
|
||||
onClicked: {
|
||||
rightPanel.visible = true
|
||||
rightPanel.replace(callsListPanel)
|
||||
moreOptionsButton.close()
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: dialerButton
|
||||
MenuButton {
|
||||
icon.source: AppIcons.dialer
|
||||
text: qsTr("Dialer")
|
||||
Layout.fillWidth: true
|
||||
background: Item {}
|
||||
contentItem: RowLayout {
|
||||
Image {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: AppIcons.dialer
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Dialer")
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
rightPanel.visible = true
|
||||
rightPanel.replace(dialerPanel)
|
||||
moreOptionsButton.close()
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: recordButton
|
||||
Layout.fillWidth: true
|
||||
enabled: mainWindow.call && mainWindow.call.core.recordable
|
||||
MenuButton {
|
||||
checkable: true
|
||||
background: Item {}
|
||||
contentItem: RowLayout {
|
||||
EffectImage {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
fillMode: Image.PreserveAspectFit
|
||||
imageSource: AppIcons.recordFill
|
||||
colorizationColor: mainWindow.call && mainWindow.call.core.recording ? DefaultStyle.danger_500main : undefined
|
||||
}
|
||||
Text {
|
||||
color: mainWindow.call && mainWindow.call.core.recording ? DefaultStyle.danger_500main : DefaultStyle.main2_600
|
||||
text: mainWindow.call && mainWindow.call.core.recording ? qsTr("Terminer l'enregistrement") : qsTr("Enregistrer l'appel")
|
||||
}
|
||||
|
||||
}
|
||||
onClicked: {
|
||||
mainWindow.call && mainWindow.call.core.recording ? mainWindow.call.core.lStopRecording() : mainWindow.call.core.lStartRecording()
|
||||
enabled: mainWindow.call && mainWindow.call.core.recordable
|
||||
icon.source: AppIcons.recordFill
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
contentImageColor: down
|
||||
? DefaultStyle.main1_500_main
|
||||
:mainWindow.call && mainWindow.call.core.recording
|
||||
? DefaultStyle.danger_500main
|
||||
: DefaultStyle.main2_500main
|
||||
text: mainWindow.call && mainWindow.call.core.recording ? qsTr("Terminer l'enregistrement") : qsTr("Enregistrer l'appel")
|
||||
textColor: down
|
||||
? DefaultStyle.main1_500_main
|
||||
:mainWindow.call && mainWindow.call.core.recording
|
||||
? DefaultStyle.danger_500main
|
||||
: DefaultStyle.main2_500main
|
||||
Layout.fillWidth: true
|
||||
onCheckedChanged: {
|
||||
if (mainWindow.call)
|
||||
if (mainWindow.call.core.recording) mainWindow.call.core.lStopRecording()
|
||||
else mainWindow.call.core.lStartRecording()
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: settingsButton
|
||||
MenuButton {
|
||||
Layout.fillWidth: true
|
||||
background: Item{}
|
||||
contentItem: RowLayout {
|
||||
Image {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
source: AppIcons.settings
|
||||
}
|
||||
Text {
|
||||
text: qsTr("Paramètres")
|
||||
}
|
||||
}
|
||||
icon.source: AppIcons.settings
|
||||
text: qsTr("Paramètres")
|
||||
onClicked: {
|
||||
rightPanel.visible = true
|
||||
rightPanel.replace(settingsPanel)
|
||||
|
|
|
|||
|
|
@ -107,6 +107,8 @@ ApplicationWindow {
|
|||
Button {
|
||||
Layout.preferredWidth: 20 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 20 * DefaultStyle.dp
|
||||
icon.width: 20 * DefaultStyle.dp
|
||||
icon.height: 20 * DefaultStyle.dp
|
||||
Layout.alignment: Qt.AlignTop | Qt.AlignRight
|
||||
visible: informationPopup.hovered || hovered
|
||||
background: Item{}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ list(APPEND _LINPHONEAPP_QML_FILES
|
|||
view/Item/PhoneNumberInput.qml
|
||||
view/Item/Popup.qml
|
||||
view/Item/PopupButton.qml
|
||||
view/Item/SecurityRadioButton.qml
|
||||
view/Item/RadioButton.qml
|
||||
view/Item/RectangleTest.qml
|
||||
view/Item/RoundedBackgroundControl.qml
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ Control.Button {
|
|||
property bool shadowEnabled: false
|
||||
property var contentImageColor
|
||||
hoverEnabled: true
|
||||
icon.width: width
|
||||
icon.height: height
|
||||
|
||||
// leftPadding: 20 * DefaultStyle.dp
|
||||
// rightPadding: 20 * DefaultStyle.dp
|
||||
|
|
@ -105,12 +103,18 @@ Control.Button {
|
|||
|
||||
width: mainItem.width
|
||||
RowLayout {
|
||||
spacing: 10 * DefaultStyle.dp
|
||||
ButtonImage{}
|
||||
spacing: mainItem.spacing
|
||||
ButtonImage{
|
||||
Layout.preferredWidth: mainItem.icon.width
|
||||
Layout.preferredHeight: mainItem.icon.height
|
||||
}
|
||||
ButtonText{}
|
||||
}
|
||||
ButtonText {}
|
||||
ButtonImage{}
|
||||
ButtonImage{
|
||||
Layout.preferredWidth: mainItem.icon.width
|
||||
Layout.preferredHeight: mainItem.icon.height
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth : true
|
||||
Layout.fillHeight : true
|
||||
|
|
|
|||
|
|
@ -45,8 +45,10 @@ ListView {
|
|||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
Layout.preferredWidth: 10 * DefaultStyle.dp
|
||||
Layout.preferredWidth: 20 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 20 * DefaultStyle.dp
|
||||
icon.width: width
|
||||
icon.height: height
|
||||
background: Item{}
|
||||
icon.source: AppIcons.leftArrow
|
||||
onClicked: if (mainItem.currentIndex > 0) --mainItem.currentIndex
|
||||
|
|
@ -54,6 +56,8 @@ ListView {
|
|||
Button {
|
||||
Layout.preferredWidth: 20 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 20 * DefaultStyle.dp
|
||||
icon.width: width
|
||||
icon.height: height
|
||||
background: Item{}
|
||||
icon.source: AppIcons.rightArrow
|
||||
onClicked: if (mainItem.currentIndex < mainItem.count) ++mainItem.currentIndex
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ Item {
|
|||
icon.source:AppIcons.closeX
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
contentItem: Image {
|
||||
anchors.fill: parent
|
||||
source: AppIcons.closeX
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ ColumnLayout {
|
|||
Control.StackView.onActivated: {
|
||||
rightPanelTitle.text = qsTr("Paramètres")
|
||||
}
|
||||
backgroundColor: DefaultStyle.main2_0
|
||||
height: contentItem.implicitHeight + topPadding + bottomPadding
|
||||
Layout.fillWidth: true
|
||||
topPadding: 25 * DefaultStyle.dp
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ Control.Page {
|
|||
signal validateRequested()
|
||||
|
||||
topPadding: 16 * DefaultStyle.dp
|
||||
leftPadding: 16 * DefaultStyle.dp
|
||||
bottomPadding: 16 * DefaultStyle.dp
|
||||
leftPadding: 17 * DefaultStyle.dp
|
||||
rightPadding: 17 * DefaultStyle.dp
|
||||
|
||||
background: Rectangle {
|
||||
width: mainItem.width
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ RowLayout {
|
|||
contentImageColor: DefaultStyle.main2_0
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onCheckedChanged: mainItem.cameraEnabled = !mainItem.cameraEnabled
|
||||
}
|
||||
CheckableButton {
|
||||
|
|
@ -51,6 +53,8 @@ RowLayout {
|
|||
contentImageColor: DefaultStyle.main2_0
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
onCheckedChanged: mainItem.microEnabled = !mainItem.microEnabled
|
||||
}
|
||||
CheckableButton {
|
||||
|
|
@ -62,6 +66,8 @@ RowLayout {
|
|||
contentImageColor: checked ? DefaultStyle.grey_500 : DefaultStyle.grey_0
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
}
|
||||
CheckableButton {
|
||||
id: speakerButton
|
||||
|
|
@ -72,6 +78,8 @@ RowLayout {
|
|||
contentImageColor: checked ? DefaultStyle.grey_500 : DefaultStyle.grey_0
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
icon.width: 32 * DefaultStyle.dp
|
||||
icon.height: 32 * DefaultStyle.dp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ ColumnLayout {
|
|||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.closeX
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
// contact.core.pictureUri = mainItem.oldPictureUri
|
||||
mainItem.contact.core.undo()
|
||||
|
|
@ -166,6 +168,8 @@ ColumnLayout {
|
|||
icon.source: AppIcons.closeX
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: mainItem.contact.core.removeAddress(index)
|
||||
}
|
||||
}
|
||||
|
|
@ -209,6 +213,8 @@ ColumnLayout {
|
|||
icon.source: AppIcons.closeX
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: mainItem.contact.core.removePhoneNumber(index)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ Loader {
|
|||
sourceSize.height: height
|
||||
width: mainItem.imageWidth
|
||||
height: mainItem.imageHeight
|
||||
Layout.preferredWidth: mainItem.imageWidth
|
||||
Layout.preferredHeight: mainItem.imageHeight
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
MultiEffect {
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ ColumnLayout {
|
|||
icon.source: AppIcons.leftArrow
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: mainItem.returnRequested()
|
||||
}
|
||||
TextInput {
|
||||
|
|
@ -118,6 +120,8 @@ ColumnLayout {
|
|||
CheckableButton {
|
||||
Layout.preferredWidth: 151 * DefaultStyle.dp
|
||||
icon.source: AppIcons.usersThree
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
enabled: false
|
||||
text: qsTr("Réunion")
|
||||
checked: true
|
||||
|
|
@ -126,6 +130,8 @@ ColumnLayout {
|
|||
Layout.preferredWidth: 151 * DefaultStyle.dp
|
||||
enabled: false
|
||||
icon.source: AppIcons.slide
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
text: qsTr("Broadcast")
|
||||
}
|
||||
}
|
||||
|
|
@ -477,6 +483,8 @@ ColumnLayout {
|
|||
Button {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
Layout.rightMargin: 10 * DefaultStyle.dp
|
||||
background: Item{}
|
||||
icon.source: AppIcons.closeX
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ Control.Popup {
|
|||
icon.source: AppIcons.closeX
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: mainItem.close()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ Button {
|
|||
topPadding: 0
|
||||
bottomPadding: 0
|
||||
icon.source: AppIcons.more
|
||||
icon.width: width
|
||||
icon.height: height
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
function close() {
|
||||
popup.close()
|
||||
}
|
||||
|
|
@ -44,6 +44,7 @@ Button {
|
|||
x: - width
|
||||
y: mainItem.height
|
||||
closePolicy: Popup.CloseOnPressOutsideParent | Popup.CloseOnPressOutside
|
||||
padding: 10 * DefaultStyle.dp
|
||||
parent: mainItem // Explicit define for coordinates references.
|
||||
|
||||
onAboutToShow: {
|
||||
|
|
@ -57,8 +58,6 @@ Button {
|
|||
}
|
||||
}
|
||||
|
||||
padding: 20 * DefaultStyle.dp
|
||||
|
||||
background: Item {
|
||||
anchors.fill: parent
|
||||
Rectangle {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ Control.RadioButton {
|
|||
property string imgUrl
|
||||
property color color
|
||||
hoverEnabled: true
|
||||
property int indicatorSize: 16 * DefaultStyle.dp
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
|
@ -18,82 +19,23 @@ Control.RadioButton {
|
|||
onClicked: if (!mainItem.checked) mainItem.toggle()
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: DefaultStyle.grey_100
|
||||
border.color: mainItem.checked ? mainItem.color : "transparent"
|
||||
radius: 20 * DefaultStyle.dp
|
||||
}
|
||||
indicator: Rectangle {
|
||||
implicitWidth: mainItem.indicatorSize
|
||||
implicitHeight: mainItem.indicatorSize
|
||||
radius: implicitWidth/2
|
||||
color: "transparent"
|
||||
border.color: mainItem.color
|
||||
border.width: 2 * DefaultStyle.dp
|
||||
anchors.verticalCenter: mainItem.verticalCenter
|
||||
|
||||
indicator: RowLayout {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 13 * DefaultStyle.dp
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 8 * DefaultStyle.dp
|
||||
spacing: 4 * DefaultStyle.dp
|
||||
Rectangle {
|
||||
implicitWidth: 16 * DefaultStyle.dp
|
||||
implicitHeight: 16 * DefaultStyle.dp
|
||||
radius: implicitWidth/2
|
||||
border.color: mainItem.color
|
||||
|
||||
Rectangle {
|
||||
width: parent.width/2
|
||||
height: parent.height/2
|
||||
x: parent.width/4
|
||||
y: parent.width/4
|
||||
radius: width/2
|
||||
color: mainItem.color
|
||||
visible: mainItem.checked
|
||||
}
|
||||
}
|
||||
Text {
|
||||
text: mainItem.title
|
||||
font.bold: true
|
||||
color: DefaultStyle.grey_900
|
||||
font.pixelSize: 16 * DefaultStyle.dp
|
||||
}
|
||||
Button {
|
||||
padding: 0
|
||||
background: Item {
|
||||
visible: false
|
||||
}
|
||||
icon.source: AppIcons.info
|
||||
Layout.preferredWidth: 2 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 2 * DefaultStyle.dp
|
||||
width: 2 * DefaultStyle.dp
|
||||
height: 2 * DefaultStyle.dp
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: ColumnLayout {
|
||||
anchors.top: indicator.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: 13 * DefaultStyle.dp
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.bottomMargin: 10 * DefaultStyle.dp
|
||||
Layout.rightMargin: 10 * DefaultStyle.dp
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Text {
|
||||
id: innerText
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
Layout.preferredWidth: 220 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 100 * DefaultStyle.dp
|
||||
font.pixelSize: 14 * DefaultStyle.dp
|
||||
text: mainItem.contentText
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
Image {
|
||||
id: image
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: 100 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 100 * DefaultStyle.dp
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: mainItem.imgUrl
|
||||
}
|
||||
width: parent.width/2
|
||||
height: parent.height/2
|
||||
x: parent.width/4
|
||||
y: parent.width/4
|
||||
radius: width/2
|
||||
color: mainItem.color
|
||||
visible: mainItem.checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,5 @@ Control.Control {
|
|||
anchors.fill: parent
|
||||
radius: 15 * DefaultStyle.dp
|
||||
color: mainItem.backgroundColor
|
||||
anchors.leftMargin: 10 * DefaultStyle.dp
|
||||
anchors.rightMargin: 10 * DefaultStyle.dp
|
||||
anchors.topMargin: 10 * DefaultStyle.dp
|
||||
anchors.bottomMargin: 10 * DefaultStyle.dp
|
||||
}
|
||||
}
|
||||
|
|
@ -82,6 +82,8 @@ Rectangle {
|
|||
icon.source: dialerButton.checked ? AppIcons.dialerSelected : AppIcons.dialer
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 15 * DefaultStyle.dp
|
||||
|
|
@ -99,6 +101,8 @@ Rectangle {
|
|||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.closeX
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
|
|
|
|||
102
Linphone/view/Item/SecurityRadioButton.qml
Normal file
102
Linphone/view/Item/SecurityRadioButton.qml
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.2 as Control
|
||||
import QtQuick.Layouts
|
||||
import Linphone
|
||||
|
||||
Control.RadioButton {
|
||||
id: mainItem
|
||||
property string title
|
||||
property string contentText
|
||||
property string imgUrl
|
||||
property color color
|
||||
hoverEnabled: true
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: false
|
||||
cursorShape: mainItem.hovered ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
onClicked: if (!mainItem.checked) mainItem.toggle()
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: DefaultStyle.grey_100
|
||||
border.color: mainItem.checked ? mainItem.color : "transparent"
|
||||
radius: 20 * DefaultStyle.dp
|
||||
}
|
||||
|
||||
indicator: RowLayout {
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 13 * DefaultStyle.dp
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 8 * DefaultStyle.dp
|
||||
spacing: 4 * DefaultStyle.dp
|
||||
Rectangle {
|
||||
implicitWidth: 16 * DefaultStyle.dp
|
||||
implicitHeight: 16 * DefaultStyle.dp
|
||||
radius: implicitWidth/2
|
||||
border.color: mainItem.color
|
||||
|
||||
Rectangle {
|
||||
width: parent.width/2
|
||||
height: parent.height/2
|
||||
x: parent.width/4
|
||||
y: parent.width/4
|
||||
radius: width/2
|
||||
color: mainItem.color
|
||||
visible: mainItem.checked
|
||||
}
|
||||
}
|
||||
Text {
|
||||
visible: mainItem.title.length > 0
|
||||
text: mainItem.title
|
||||
font.bold: true
|
||||
color: DefaultStyle.grey_900
|
||||
font.pixelSize: 16 * DefaultStyle.dp
|
||||
}
|
||||
Button {
|
||||
padding: 0
|
||||
background: Item {
|
||||
visible: false
|
||||
}
|
||||
icon.source: AppIcons.info
|
||||
Layout.preferredWidth: 2 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 2 * DefaultStyle.dp
|
||||
width: 2 * DefaultStyle.dp
|
||||
height: 2 * DefaultStyle.dp
|
||||
icon.width: 2 * DefaultStyle.dp
|
||||
icon.height: 2 * DefaultStyle.dp
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: ColumnLayout {
|
||||
anchors.top: indicator.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: 13 * DefaultStyle.dp
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.bottomMargin: 10 * DefaultStyle.dp
|
||||
Layout.rightMargin: 10 * DefaultStyle.dp
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Text {
|
||||
id: innerText
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
Layout.preferredWidth: 220 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 100 * DefaultStyle.dp
|
||||
font.pixelSize: 14 * DefaultStyle.dp
|
||||
text: mainItem.contentText
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
Image {
|
||||
id: image
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: 100 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 100 * DefaultStyle.dp
|
||||
fillMode: Image.PreserveAspectFit
|
||||
source: mainItem.imgUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -106,6 +106,8 @@ Control.TextField {
|
|||
icon.source: eyeButton.checked ? AppIcons.eyeShow : AppIcons.eyeHide
|
||||
width: 20 * DefaultStyle.dp
|
||||
height: 20 * DefaultStyle.dp
|
||||
icon.width: 20 * DefaultStyle.dp
|
||||
icon.height: 20 * DefaultStyle.dp
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ ColumnLayout {
|
|||
contentImageColor: DefaultStyle.main1_500_main
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: mainItem.returnRequested()
|
||||
}
|
||||
Text {
|
||||
|
|
@ -91,6 +93,8 @@ ColumnLayout {
|
|||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
background: Item{}
|
||||
icon.source: AppIcons.closeX
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
contentImageColor: DefaultStyle.main1_500_main
|
||||
onClicked: contactList.selectedContacts.splice(index, 1)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ LoginLayout {
|
|||
Layout.preferredHeight: 27 * DefaultStyle.dp
|
||||
Layout.preferredWidth: 27 * DefaultStyle.dp
|
||||
icon.source: AppIcons.leftArrow
|
||||
icon.width: 27 * DefaultStyle.dp
|
||||
icon.height: 27 * DefaultStyle.dp
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ LoginLayout {
|
|||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.leftArrow
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ LoginLayout {
|
|||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.leftArrow
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
background: Item {
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ LoginLayout {
|
|||
{checked: true, title: qsTr("Chiffrement de bout en bout"), text: qsTr("Ce mode vous garanti la confidentialité de tous vos échanges. Notre technologie de chiffrement de bout en bout assure un niveau de sécurité maximal pour tous vos échanges."), imgUrl: AppIcons.chiffrement, color: DefaultStyle.info_500_main},
|
||||
{checked: false, title: qsTr("Interoperable"), text: qsTr("Ce mode vous permet de profiter de toute les fonctionnalités de Linphone, toute en restant interopérable avec n’importe qu’elle autre service SIP."), imgUrl: AppIcons.interoperable, color: DefaultStyle.main1_500_main}
|
||||
]
|
||||
RadioButton {
|
||||
SecurityRadioButton {
|
||||
title: modelData.title
|
||||
contentText: modelData.text
|
||||
imgUrl: modelData.imgUrl
|
||||
|
|
|
|||
|
|
@ -118,6 +118,8 @@ AbstractMainPage {
|
|||
icon.source: AppIcons.newCall
|
||||
Layout.preferredWidth: 28 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 28 * DefaultStyle.dp
|
||||
icon.width: 28 * DefaultStyle.dp
|
||||
icon.height: 28 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
console.debug("[CallPage]User: create new call")
|
||||
listStackView.push(newCallItem)
|
||||
|
|
@ -265,6 +267,8 @@ AbstractMainPage {
|
|||
icon.source: AppIcons.phone
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
var addr = UtilsCpp.generateLinphoneSipAddress(modelData.core.remoteAddress)
|
||||
callObj = UtilsCpp.createCall(addr)
|
||||
|
|
@ -333,6 +337,8 @@ AbstractMainPage {
|
|||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.leftArrow
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
console.debug("[CallPage]User: return to call history")
|
||||
listStackView.pop()
|
||||
|
|
|
|||
|
|
@ -84,8 +84,8 @@ AbstractMainPage {
|
|||
icon.source: AppIcons.plusCircle
|
||||
Layout.preferredWidth: 30 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 30 * DefaultStyle.dp
|
||||
width: 30 * DefaultStyle.dp
|
||||
height: 30 * DefaultStyle.dp
|
||||
icon.width: 30 * DefaultStyle.dp
|
||||
icon.height: 30 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
mainItem.createContact("", "")
|
||||
}
|
||||
|
|
@ -161,6 +161,8 @@ AbstractMainPage {
|
|||
icon.source: favoriteList.visible ? AppIcons.upArrow : AppIcons.downArrow
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: favoriteList.visible = !favoriteList.visible
|
||||
}
|
||||
}
|
||||
|
|
@ -203,6 +205,8 @@ AbstractMainPage {
|
|||
icon.source: contactList.visible ? AppIcons.upArrow : AppIcons.downArrow
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: contactList.visible = !contactList.visible
|
||||
}
|
||||
}
|
||||
|
|
@ -253,6 +257,8 @@ AbstractMainPage {
|
|||
buttonContent: Button {
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
background: Item{}
|
||||
onClicked: mainItem.editContact(mainItem.selectedContact)
|
||||
icon.source: AppIcons.pencil
|
||||
|
|
@ -326,6 +332,8 @@ AbstractMainPage {
|
|||
icon.source: AppIcons.phone
|
||||
width: 24 * DefaultStyle.dp
|
||||
height: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
callObj = UtilsCpp.createCall(modelData.address)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,15 +16,13 @@ AbstractMainPage {
|
|||
property ConferenceInfoGui selectedConference
|
||||
property int meetingListCount
|
||||
signal newConfCreated()
|
||||
onVisibleChanged: if (visible) rightPanelStackView.push(overridenRightPanel, Control.StackView.Immediate)
|
||||
Component.onCompleted: rightPanelStackView.push(overridenRightPanel, Control.StackView.Immediate)
|
||||
|
||||
onSelectedConferenceChanged: {
|
||||
overridenRightPanelStackView.clear()
|
||||
if (selectedConference) {
|
||||
if (!overridenRightPanelStackView.currentItem || overridenRightPanelStackView.currentItem.objectName != "meetingDetail") overridenRightPanelStackView.replace(meetingDetail, Control.StackView.Immediate)
|
||||
}// else {
|
||||
/*if (overridenRightPanelStackView.currentItem && overridenRightPanelStackView.currentItem.objectName === "meetingDetail")*/
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
|
@ -128,8 +126,8 @@ AbstractMainPage {
|
|||
icon.source: AppIcons.plusCircle
|
||||
Layout.preferredWidth: 30 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 30 * DefaultStyle.dp
|
||||
width: 30 * DefaultStyle.dp
|
||||
height: 30 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
onClicked: {
|
||||
mainItem.setUpConference()
|
||||
}
|
||||
|
|
@ -298,6 +296,8 @@ AbstractMainPage {
|
|||
visible: mainItem.selectedConference && UtilsCpp.isMe(mainItem.selectedConference.core.organizerAddress)
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
icon.source: AppIcons.pencil
|
||||
contentImageColor: DefaultStyle.main1_500_main
|
||||
background: Item{}
|
||||
|
|
@ -379,6 +379,8 @@ AbstractMainPage {
|
|||
Button {
|
||||
Layout.preferredWidth: 24 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 24 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
icon.height: 24 * DefaultStyle.dp
|
||||
background: Item{}
|
||||
icon.source: AppIcons.shareNetwork
|
||||
onClicked: {
|
||||
|
|
|
|||
|
|
@ -81,5 +81,7 @@ QtObject {
|
|||
property string globe: "image://internal/globe-hemisphere-west.svg"
|
||||
property string slide: "image://internal/slideshow.svg"
|
||||
property string busyIndicator: "image://internal/busy-indicator.svg"
|
||||
property string meeting: "image://internal/reunion.svg"
|
||||
property string pip: "image://internal/pip.svg"
|
||||
property string waveform: "image://internal/waveform.svg"
|
||||
property string squaresFour: "image://internal/squares-four.svg"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue