linphone-desktop/Linphone/view/Page/Main/AbstractMainPage.qml
Gaelle Braud 2bf3071b96 Fix empty lists ui
ui fixes

fix crash participantCore

fix account name on init

fix #LINQT-1366

fix #LINQT-1380

try to fix #LINQT-1379 (new call : crash when ending the call before remote answers)
2024-10-31 16:03:57 +01:00

206 lines
5.3 KiB
QML

/**
* Qml template used for overview pages : Calls, Contacts, Conversations, Meetings, Settings
**/
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
FocusScope {
id: mainItem
property string noItemButtonText
property string newItemIconSource
property string emptyListText
property bool showDefaultItem: true
property color rightPanelColor: DefaultStyle.grey_100
property alias leftPanelContent: leftPanel.children
property alias rightPanelStackView: rightPanelStackView
property alias rightPanel: rightPanel
signal noItemButtonPressed()
// Control.SplitView {
// id: splitView
// anchors.fill: parent
// anchors.topMargin: 10 * DefaultStyle.dp
// handle: Rectangle {
// implicitWidth: 8 * DefaultStyle.dp
// color: Control.SplitHandle.hovered ? DefaultStyle.grey_200 : DefaultStyle.grey_100
// }
// ColumnLayout {
// id: leftPanel
// Control.SplitView.preferredWidth: 350 * DefaultStyle.dp
// Control.SplitView.minimumWidth: 350 * DefaultStyle.dp
// }
// Rectangle {
// id: rightPanel
// clip: true
// color: DefaultStyle.grey_100
// StackLayout {
// currentIndex: mainItem.showDefaultItem ? 0 : 1
// anchors.fill: parent
// ColumnLayout {
// id: defaultItem
// Layout.fillWidth: true
// Layout.fillHeight: true
// RowLayout {
// Layout.fillHeight: true
// Layout.fillWidth: true
// Layout.alignment: Qt.AlignHCenter
// Item {
// Layout.fillWidth: true
// }
// ColumnLayout {
// spacing: 30 * DefaultStyle.dp
// Item {
// Layout.fillHeight: true
// }
// Image {
// Layout.alignment: Qt.AlignHCenter
// source: AppIcons.noItemImage
// Layout.preferredWidth: 359 * DefaultStyle.dp
// Layout.preferredHeight: 314 * DefaultStyle.dp
// fillMode: Image.PreserveAspectFit
// }
// Text {
// text: mainItem.emptyListText
// Layout.alignment: Qt.AlignHCenter
// font {
// pixelSize: 22 * DefaultStyle.dp
// weight: 800 * DefaultStyle.dp
// }
// }
// Button {
// Layout.alignment: Qt.AlignHCenter
// contentItem: RowLayout {
// Layout.alignment: Qt.AlignVCenter
// EffectImage {
// colorizationColor: DefaultStyle.grey_0
// source: mainItem.newItemIconSource
// width: 24 * DefaultStyle.dp
// height: 24 * DefaultStyle.dp
// fillMode: Image.PreserveAspectFit
// }
// Text {
// text: mainItem.noItemButtonText
// wrapMode: Text.WordWrap
// color: DefaultStyle.grey_0
// font {
// weight: 600 * DefaultStyle.dp
// pixelSize: 18 * DefaultStyle.dp
// family: DefaultStyle.defaultFont
// }
// }
// }
// onPressed: mainItem.noItemButtonPressed()
// }
// Item {
// Layout.fillHeight: true
// }
// }
// Item {
// Layout.fillWidth: true
// }
// }
// }
// ColumnLayout {
// id: rightPanelItem
// Layout.fillWidth: true
// Layout.fillHeight: true
// }
// }
// }
// }
RowLayout {
anchors.fill: parent
spacing: 0
ColumnLayout {
id: leftPanel
Layout.preferredWidth: 404 * DefaultStyle.dp
Layout.fillWidth:false
spacing:0
}
Rectangle {
Layout.fillHeight: true
Layout.preferredWidth: 1 * DefaultStyle.dp
color: DefaultStyle.main2_200
}
Rectangle {
id: rightPanel
clip: true
color: mainItem.rightPanelColor
Layout.fillWidth: true
Layout.fillHeight: true
StackLayout {
currentIndex: mainItem.showDefaultItem ? 0 : 1
anchors.fill: parent
ColumnLayout {
id: defaultItem
RowLayout {
Layout.alignment: Qt.AlignHCenter
Item {
Layout.fillWidth: true
}
ColumnLayout {
spacing: 30 * DefaultStyle.dp
Item {
Layout.fillHeight: true
}
Image {
Layout.alignment: Qt.AlignHCenter
source: AppIcons.noItemImage
Layout.preferredWidth: 359 * DefaultStyle.dp
Layout.preferredHeight: 314 * DefaultStyle.dp
fillMode: Image.PreserveAspectFit
}
Text {
text: mainItem.emptyListText
Layout.alignment: Qt.AlignHCenter
font {
pixelSize: 22 * DefaultStyle.dp
weight: 800 * DefaultStyle.dp
}
}
Button {
Layout.alignment: Qt.AlignHCenter
topPadding: 11 * DefaultStyle.dp
bottomPadding: 11 * DefaultStyle.dp
leftPadding: 20 * DefaultStyle.dp
rightPadding: 20 * DefaultStyle.dp
icon.source: mainItem.newItemIconSource
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp
contentImageColor: DefaultStyle.grey_0
text: mainItem.noItemButtonText
textSize: 18 * DefaultStyle.dp
textWeight: 600 * DefaultStyle.dp
spacing: 8 * DefaultStyle.dp
onPressed: mainItem.noItemButtonPressed()
}
Item {
Layout.fillHeight: true
}
}
Item {
Layout.fillWidth: true
}
}
}
Control.StackView {
id: rightPanelStackView
Layout.fillWidth: true
Layout.fillHeight: true
}
}
}
}
}