fix crash on clearSingletons due to ButtonStyle nested components

This commit is contained in:
Gaelle Braud 2025-01-15 12:54:49 +01:00
parent 39564ed708
commit 549866b48f
55 changed files with 378 additions and 356 deletions

View file

@ -145,7 +145,7 @@ list(APPEND _LINPHONEAPP_QML_FILES
list(APPEND _LINPHONEAPP_QML_SINGLETONS
view/Style/AppIcons.qml
view/Style/ButtonStyle.qml
view/Style/buttonStyle.js
view/Style/DefaultStyle.qml
view/Style/Typography.qml
)

View file

@ -4,11 +4,12 @@ import QtQuick.Effects
import QtQuick.Layouts
import QtQml
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Control.Button {
id: mainItem
property int capitalization
property QtObject style
property var style
property color color: style?.color?.normal || DefaultStyle.main1_500_main
property color hoveredColor: style?.color?.hovered || Qt.darker(color, 1.05)
property color pressedColor: style?.color?.pressed || Qt.darker(color, 1.1)
@ -35,7 +36,7 @@ Control.Button {
spacing: 5 * DefaultStyle.dp
hoverEnabled: enabled
activeFocusOnTab: true
icon.source: style?.iconSource
icon.source: style?.iconSource || ""
MouseArea {
id: mouseArea
anchors.fill: parent

View file

@ -4,6 +4,7 @@ import QtQuick.Layouts
import QtQuick.Effects
import QtQuick.Controls.Basic as Control
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Button {
id: mainItem

View file

@ -2,6 +2,7 @@ import QtQuick
import QtQuick.Effects
import QtQuick.Layouts
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Button {
id: mainItem

View file

@ -2,6 +2,7 @@ import QtQuick
import QtQuick.Controls.Basic as Control
import QtQuick.Effects
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Button {
id: mainItem
@ -13,9 +14,7 @@ Button {
: hovered
? hoveredColor
: color
color: style?.color?.normal || "transparent"
hoveredColor: style?.color?.hovered || DefaultStyle.grey_100
pressedColor: style?.color?.pressed || DefaultStyle.main2_300
style: ButtonStyle.popupButton
checked: popup.visible
implicitWidth: 24 * DefaultStyle.dp
implicitHeight: 24 * DefaultStyle.dp

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout {
id: mainItem

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout {
id: mainItem

View file

@ -5,6 +5,7 @@ import QtQuick.Effects
import Linphone
import QtQml
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ListView {
id: mainItem

View file

@ -6,6 +6,8 @@ import Linphone
import UtilsCpp 1.0
import ConstantsCpp 1.0
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
FocusScope {
id: mainItem
implicitHeight: visible ? 56 * DefaultStyle.dp : 0

View file

@ -7,6 +7,7 @@ import UtilsCpp 1.0
import ConstantsCpp 1.0
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js' as Utils
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ListView {
id: mainItem

View file

@ -3,6 +3,7 @@ import QtQuick.Layouts
import Linphone
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ListView {
id: mainItem

View file

@ -3,6 +3,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import ConstantsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout {
id: mainItem

View file

@ -3,6 +3,7 @@ import QtQuick.Controls.Basic as Control
import QtQuick.Layouts
import Linphone
import SettingsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout {
id: mainItem

View file

@ -4,6 +4,7 @@ import QtQuick.Effects
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ColumnLayout {
id: mainItem

View file

@ -6,6 +6,7 @@ import QtQuick.Effects
import Linphone
import ConstantsCpp 1.0
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ListView {
id: mainItem

View file

@ -4,6 +4,7 @@ import QtQuick.Layouts as Layout
import QtQuick.Effects
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
FocusScope{
id: mainItem
@ -154,7 +155,7 @@ FocusScope{
anchors.fill: parent
Text {
id: pressText
color: digitButton.pressed ? digitButton.style.text.pressed : digitButton.style.text.normal
color: digitButton.pressed ? digitButton.pressedTextColor : digitButton.textColor
height: contentHeight
anchors.left: parent.left
anchors.right: parent.right
@ -168,7 +169,7 @@ FocusScope{
height: contentHeight
anchors.left: parent.left
anchors.right: parent.right
color: digitButton.pressed ? digitButton.style.text.pressed : digitButton.style.text.normal
color: digitButton.pressed ? digitButton.pressedTextColor : digitButton.textColor
y: digitButton.height/2
horizontalAlignment: Text.AlignHCenter
visible: modelData.longPressText ? modelData.longPressText.length > 0 : false

View file

@ -2,7 +2,7 @@ import QtQuick
import QtQuick.Controls.Basic as Control
import QtQuick.Layouts
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
FocusScope {
id: mainItem

View file

@ -165,7 +165,7 @@ Control.TextField {
z: 1
visible: mainItem.hidden
checkable: true
background: Item{}
style: ButtonStyle.noBackground
icon.source: eyeButton.checked ? AppIcons.eyeShow : AppIcons.eyeHide
width: 20 * DefaultStyle.dp
height: 20 * DefaultStyle.dp

View file

@ -7,6 +7,7 @@ import QtQuick.Dialogs
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Dialog {
id: mainItem

View file

@ -3,7 +3,8 @@ import QtQuick.Controls.Basic as Control
import QtQuick.Effects
import QtQuick.Layouts
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Popup {
id: mainItem
modal: true

View file

@ -4,6 +4,7 @@ import QtQuick.Effects
import Linphone
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
// =============================================================================
Dialog {
@ -75,17 +76,17 @@ Dialog {
}
Item{Layout.Layout.fillHeight: true}
}
Button {
SmallButton {
visible: !mainItem.securityError
anchors.top: parent.top
anchors.right: parent.right
anchors.topMargin: 10 * DefaultStyle.dp
anchors.rightMargin: 17 * DefaultStyle.dp
background: Item{}
textSize: 13 * DefaultStyle.dp
textWeight: 600 * DefaultStyle.dp
style: ButtonStyle.noBackground
text: qsTr("Passer")
textColor: DefaultStyle.grey_0
hoveredTextColor: DefaultStyle.grey_100
pressedTextColor: DefaultStyle.grey_200
underline: true
onClicked: {
call.core.lSkipZrtpAuthentication()

View file

@ -68,7 +68,7 @@ Popup {
icon.height: 20 * DefaultStyle.dp
Layout.alignment: Qt.AlignTop | Qt.AlignRight
visible: mainItem.hovered || hovered
background: Item{}
style: ButtonStyle.noBackground
icon.source: AppIcons.closeX
onClicked: mainItem.close()
}

View file

@ -2,6 +2,7 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Popup {
id: mainItem

View file

@ -2,6 +2,8 @@ import QtQuick
import QtQuick.Layouts
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
// =============================================================================
Notification {

View file

@ -4,6 +4,7 @@ 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

View file

@ -51,7 +51,7 @@ MainRightPanel {
}
},
Button {
background: Item{}
style: ButtonStyle.noBackground
anchors.right: parent.right
anchors.rightMargin: 41 * DefaultStyle.dp
anchors.verticalCenter: parent.verticalCenter
@ -270,12 +270,10 @@ MainRightPanel {
Layout.preferredWidth: 24 * DefaultStyle.dp
Layout.preferredHeight: 24 * DefaultStyle.dp
Layout.alignment: Qt.AlignVCenter
width: 24 * DefaultStyle.dp
height: 24 * DefaultStyle.dp
icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp
background: Item{}
style: ButtonStyle.noBackground
KeyNavigation.left: addressTextField
Keys.onPressed: (event) => addressLayout.updateFocus(event)
onClicked: mainItem.contact.core.removeAddress(index)
@ -355,9 +353,7 @@ MainRightPanel {
Layout.preferredWidth: 24 * DefaultStyle.dp
Layout.preferredHeight: 24 * DefaultStyle.dp
Layout.alignment: Qt.AlignVCenter
width: 24 * DefaultStyle.dp
height: 24 * DefaultStyle.dp
background: Item{}
style: ButtonStyle.noBackground
icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -5,6 +5,7 @@ import Linphone
import ConstantsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js' as Utils
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -62,12 +62,11 @@ FocusScope{
Button {
Layout.preferredWidth: 24 * DefaultStyle.dp
Layout.preferredHeight: 24 * DefaultStyle.dp
background: Item{}
style: ButtonStyle.noBackgroundOrange
icon.source: AppIcons.closeX
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp
focus: true
contentImageColor: DefaultStyle.main1_500_main
onClicked: contactList.removeSelectedContactByAddress(modelData)
}
}

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
FocusScope {
id: mainItem
@ -299,9 +300,8 @@ FocusScope {
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp
Layout.rightMargin: 10 * DefaultStyle.dp
background: Item{}
icon.source: AppIcons.closeX
contentImageColor: DefaultStyle.main1_500_main
style: ButtonStyle.noBackgroundOrange
onClicked: mainItem.conferenceInfoGui.core.removeParticipant(index)
}
}

View file

@ -3,6 +3,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -4,6 +4,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp 1.0
import ConstantsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -2,6 +2,7 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -4,6 +4,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractMainPage {

View file

@ -8,6 +8,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import ConstantsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Rectangle {
id: mainItem

View file

@ -12,6 +12,7 @@ import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js' as Utils
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Item {
id: mainItem

View file

@ -4,6 +4,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Rectangle {
id: mainItem

View file

@ -6,6 +6,7 @@ import QtQuick.Dialogs
import Linphone
import SettingsCpp 1.0
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractSettingsLayout {
id: mainItem

View file

@ -6,6 +6,7 @@ import SettingsCpp 1.0
import UtilsCpp 1.0
import Linphone
import 'qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js' as Utils
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractSettingsLayout {
width: parent?.width

View file

@ -6,6 +6,7 @@ import QtQuick.Dialogs
import Linphone
import SettingsCpp 1.0
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractSettingsLayout {
id: mainItem

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import SettingsCpp 1.0
import UtilsCpp
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
RowLayout {
id: mainItem
@ -48,11 +49,10 @@ RowLayout {
Layout.fillWidth: true
}
Button {
background: Item{}
style: ButtonStyle.noBackground
icon.source: AppIcons.pencil
icon.width: 24 * DefaultStyle.dp
icon.height: 24 * DefaultStyle.dp
contentImageColor: DefaultStyle.main2_600
onClicked: {
mainItem.owner.container.push(mainItem.settingsLayout, {
titleText: mainItem.editText,

View file

@ -6,6 +6,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import SettingsCpp 1.0
import UtilsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractSettingsLayout {
Layout.fillWidth: true

View file

@ -6,6 +6,7 @@ import QtQuick.Dialogs
import Linphone
import SettingsCpp 1.0
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractSettingsLayout {
id: mainItem

View file

@ -8,6 +8,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
FocusScope {
id: mainItem

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractMainPage {
id: mainItem
@ -175,14 +176,13 @@ AbstractMainPage {
}
Button {
id: newCallButton
background: Item {}
style: ButtonStyle.noBackground
icon.source: AppIcons.newCall
Layout.preferredWidth: 28 * DefaultStyle.dp
Layout.preferredHeight: 28 * DefaultStyle.dp
Layout.rightMargin: 39 * DefaultStyle.dp
icon.width: 28 * DefaultStyle.dp
icon.height: 28 * DefaultStyle.dp
contentImageColor: DefaultStyle.main2_600
KeyNavigation.left: removeHistory
KeyNavigation.down: listStackView
onClicked: {

View file

@ -2,6 +2,7 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
Control.Page {
id: mainItem
@ -71,9 +72,7 @@ Control.Page {
RoundButton {
id: closeButton
visible: mainItem.closeButtonVisible
background: Item {
visible: false
}
style: ButtonStyle.noBackground
icon.source: AppIcons.closeX
onClicked: mainItem.visible = false
}

View file

@ -4,6 +4,7 @@ import QtQuick.Effects
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
RowLayout {
id: mainItem
@ -44,8 +45,6 @@ RowLayout {
iconUrl: AppIcons.videoCamera
checkedIconUrl: AppIcons.videoCameraSlash
checked: !mainItem.localVideoEnabled
color: DefaultStyle.grey_500
contentImageColor: DefaultStyle.main2_0
Layout.preferredWidth: 55 * DefaultStyle.dp
Layout.preferredHeight: 55 * DefaultStyle.dp
icon.width: 32 * DefaultStyle.dp
@ -56,8 +55,6 @@ RowLayout {
id: microButton
iconUrl: AppIcons.microphone
checkedIconUrl: AppIcons.microphoneSlash
color: DefaultStyle.grey_500
contentImageColor: DefaultStyle.main2_0
Layout.preferredWidth: 55 * DefaultStyle.dp
Layout.preferredHeight: 55 * DefaultStyle.dp
icon.width: 32 * DefaultStyle.dp
@ -78,8 +75,6 @@ RowLayout {
visible: stackLayout.currentIndex === 1
iconUrl: AppIcons.speaker
checkedIconUrl: AppIcons.speakerSlash
color: DefaultStyle.grey_500
contentImageColor: DefaultStyle.main2_0
Layout.preferredWidth: 55 * DefaultStyle.dp
Layout.preferredHeight: 55 * DefaultStyle.dp
icon.width: 32 * DefaultStyle.dp

View file

@ -6,6 +6,7 @@ import Linphone
import UtilsCpp
import EnumsToStringCpp
import SettingsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractMainPage {
id: mainItem
@ -179,8 +180,7 @@ AbstractMainPage {
Button {
id: createContactButton
visible: !rightPanelStackView.currentItem || rightPanelStackView.currentItem.objectName !== "contactEdition"
background: Item {
}
style: ButtonStyle.noBackground
icon.source: AppIcons.plusCircle
Layout.preferredWidth: 28 * DefaultStyle.dp
Layout.preferredHeight: 28 * DefaultStyle.dp
@ -274,8 +274,7 @@ AbstractMainPage {
RoundButton {
visible: contactDetailLayout.icon != undefined
icon.source: contactDetailLayout.icon
contentImageColor: DefaultStyle.main1_500_main
background: Item{}
style: ButtonStyle.noBackgroundOrange
onClicked: contactDetailLayout.titleIconClicked()
}
Item{Layout.fillWidth: true}
@ -468,7 +467,7 @@ AbstractMainPage {
Layout.fillWidth: true
}
RoundButton {
background: Item{}
style: ButtonStyle.noBackground
icon.source: AppIcons.phone
onClicked: {
UtilsCpp.createCall(listViewModelData.address)
@ -544,7 +543,7 @@ AbstractMainPage {
label: qsTr("Medias")
Layout.fillWidth: true
content: Button {
background: Item{}
style: ButtonStyle.noBackground
contentItem: RowLayout {
EffectImage {
Layout.preferredWidth: 24 * DefaultStyle.dp

View file

@ -5,6 +5,7 @@ import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp 1.0
import ConstantsCpp 1.0
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractMainPage {

View file

@ -4,6 +4,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
// TODO : spacing
AbstractMainPage {
@ -142,7 +143,7 @@ AbstractMainPage {
}
Item{Layout.fillWidth: true}
Button {
background: Item {}
style: ButtonStyle.noBackground
icon.source: AppIcons.plusCircle
Layout.preferredWidth: 28 * DefaultStyle.dp
Layout.preferredHeight: 28 * DefaultStyle.dp
@ -556,12 +557,11 @@ AbstractMainPage {
property var isMeObj: UtilsCpp.isMe(mainItem.selectedConference?.core?.organizerAddress)
visible: mainItem.selectedConference && isMeObj && isMeObj.value || false
icon.source: AppIcons.pencil
contentImageColor: DefaultStyle.main1_500_main
style: ButtonStyle.noBackgroundOrange
KeyNavigation.left: leftPanelStackView.currentItem
KeyNavigation.right: deletePopup
KeyNavigation.up: joinButton
KeyNavigation.down: shareNetworkButton
background: Item{}
onClicked: mainItem.editConference(mainItem.selectedConference)
}
PopupButton {
@ -640,7 +640,7 @@ AbstractMainPage {
}
RoundButton {
id: shareNetworkButton
background: Item{}
style: ButtonStyle.noBackground
icon.source: AppIcons.shareNetwork
KeyNavigation.left: linkButton
KeyNavigation.right: linkButton

View file

@ -3,6 +3,7 @@ import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import Linphone
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
LoginLayout {
id: mainItem

View file

@ -6,6 +6,7 @@ import Linphone
import UtilsCpp
import SettingsCpp
import DesktopToolsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
ApplicationWindow {
id: mainWindow

View file

@ -7,6 +7,7 @@ import EnumsToStringCpp
import UtilsCpp
import SettingsCpp
import DesktopToolsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
AbstractWindow {
id: mainWindow
@ -746,21 +747,12 @@ AbstractWindow {
PopupButton {
visible: callsModel.count >= 2
id: popupbutton
popup.contentItem: Button {
background: Item{}
contentItem: RowLayout {
spacing: 5 * DefaultStyle.dp
EffectImage {
colorizationColor: DefaultStyle.main2_600
imageSource: AppIcons.arrowsMerge
Layout.preferredWidth: 32 * DefaultStyle.dp
Layout.preferredHeight: 32 * DefaultStyle.dp
}
Text {
text: qsTr("Merger tous les appels")
font.pixelSize: 14 * DefaultStyle.dp
}
}
popup.contentItem: IconLabelButton {
icon.source: AppIcons.arrowsMerge
icon.width: 32 * DefaultStyle.dp
icon.height: 32 * DefaultStyle.dp
text: qsTr("Merger tous les appels")
textSize: 14 * DefaultStyle.dp
onClicked: {
callsModel.lMergeAll()
popupbutton.close()
@ -860,21 +852,9 @@ AbstractWindow {
Component {
id: headerbutton
PopupButton {
popup.contentItem: Button {
background: Item{}
contentItem: RowLayout {
spacing: 0
EffectImage {
colorizationColor: DefaultStyle.main2_600
imageSource: AppIcons.shareNetwork
Layout.preferredWidth: 24 * DefaultStyle.dp
Layout.preferredHeight: 24 * DefaultStyle.dp
}
Text {
text: qsTr("Partager le lien de la réunion")
font.pixelSize: 14 * DefaultStyle.dp
}
}
popup.contentItem: IconLabelButton {
icon.source: AppIcons.shareNetwork
text: qsTr("Partager le lien de la réunion")
onClicked: {
UtilsCpp.copyToClipboard(mainWindow.call.core.remoteAddress)
showInformationPopup(qsTr("Copié"), qsTr("Le lien de la réunion a été copié dans le presse-papier"), true)

View file

@ -1,276 +0,0 @@
pragma Singleton
import QtQuick
import Linphone
import QtQuick.Effects
QtObject {
// Orange
property QtObject main: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.main1_500_main
property color hovered: DefaultStyle.main1_600
property color pressed: DefaultStyle.main1_700
}
property QtObject text: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
}
// White with orange border
property QtObject secondary: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_0
property color hovered: DefaultStyle.main1_100
property color pressed: DefaultStyle.main1_500_main
}
property color borderColor: DefaultStyle.main1_500_main
property QtObject text: QtObject {
property color normal: DefaultStyle.main1_500_main
property color pressed: DefaultStyle.grey_0
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main1_500_main
property color pressed: DefaultStyle.grey_0
}
}
// Light orange
property QtObject tertiary: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.main1_100
property color hovered: DefaultStyle.main1_200
property color pressed: DefaultStyle.main1_300
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main1_500_main
property color pressed: DefaultStyle.main1_500_main
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main1_500_main
property color pressed: DefaultStyle.main1_500_main
}
}
// Blue-grey
property QtObject grey: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.main2_200
property color hovered: DefaultStyle.main2_300
property color pressed: DefaultStyle.main2_400
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main2_500main
property color pressed: DefaultStyle.main2_700
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main2_500main
property color pressed: DefaultStyle.main2_700
}
}
// Red phone
property QtObject phoneRed: QtObject {
property var iconSource: AppIcons.endCall
property QtObject color: QtObject {
property color normal: DefaultStyle.danger_500main
property color hovered: DefaultStyle.danger_700
property color pressed: DefaultStyle.danger_900
}
property QtObject text: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property QtObject image: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
}
// Green phone
property QtObject phoneGreen: QtObject {
property var iconSource: AppIcons.phone
property QtObject color: QtObject {
property color normal: DefaultStyle.success_500main
property color hovered: DefaultStyle.success_700
property color pressed: DefaultStyle.success_900
}
property QtObject text: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property QtObject image: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
}
// Checkable
property QtObject checkable: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_500
property color hovered: DefaultStyle.grey_600
property color pressed: DefaultStyle.main2_400
}
property QtObject text: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property QtObject image: QtObject {
property color normal: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
}
// No background
property QtObject noBackground: QtObject {
property QtObject color: QtObject {
property color normal: "transparent"
property color hovered: "transparent"
property color pressed: "transparent"
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main2_600
property color hovered: DefaultStyle.main2_700
property color pressed: DefaultStyle.main2_800
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main2_600
property color hovered: DefaultStyle.main2_700
property color pressed: DefaultStyle.main2_800
}
}
// No background red
property QtObject noBackgroundRed: QtObject {
property QtObject color: QtObject {
property color normal: "transparent"
property color hovered: "transparent"
property color pressed: "transparent"
}
property QtObject text: QtObject {
property color normal: DefaultStyle.danger_500main
property color hovered: DefaultStyle.danger_700
property color pressed: DefaultStyle.danger_900
}
property QtObject image: QtObject {
property color normal: DefaultStyle.danger_500main
property color hovered: DefaultStyle.danger_700
property color pressed: DefaultStyle.danger_900
}
}
// No background orange
property QtObject noBackgroundOrange: QtObject {
property QtObject color: QtObject {
property color normal: "transparent"
property color hovered: "transparent"
property color pressed: "transparent"
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main1_500_main
property color hovered: DefaultStyle.main1_600
property color pressed: DefaultStyle.main1_700
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main1_500_main
property color hovered: DefaultStyle.main1_600
property color pressed: DefaultStyle.main1_700
}
}
// Icon + label button
property QtObject hoveredBackground: QtObject {
property QtObject color: QtObject {
property color normal: "transparent"
property color hovered: DefaultStyle.main2_100
property color pressed: DefaultStyle.main2_100
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main2_500main
property color hovered: DefaultStyle.main2_500main
property color pressed: DefaultStyle.main2_500main
}
property QtObject image: QtObject {
property color normal: DefaultStyle.main2_500main
property color hovered: DefaultStyle.main2_500main
property color pressed: DefaultStyle.main2_500main
}
}
property QtObject hoveredBackgroundRed: QtObject {
property QtObject color: QtObject {
property color normal: "transparent"
property color hovered: DefaultStyle.main2_100
property color pressed: DefaultStyle.main2_100
}
property QtObject text: QtObject {
property color normal: DefaultStyle.danger_500main
property color hovered: DefaultStyle.danger_700
property color pressed: DefaultStyle.danger_900
}
property QtObject image: QtObject {
property color normal: DefaultStyle.danger_500main
property color hovered: DefaultStyle.danger_700
property color pressed: DefaultStyle.danger_900
}
}
// Numpad
property QtObject numericPad: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_0
property color hovered: DefaultStyle.grey_200
property color pressed: DefaultStyle.grey_300
}
property QtObject text: QtObject {
property color normal: DefaultStyle.main2_600
property color pressed: DefaultStyle.main2_700
}
}
// Green toast
property QtObject toast: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_0
property color hovered: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property color borderColor: DefaultStyle.success_500main
property QtObject text: QtObject {
property color normal: DefaultStyle.success_500main
property color pressed: DefaultStyle.success_700
}
}
// Security blue toast
property QtObject securityToast: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_0
property color hovered: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property color borderColor: DefaultStyle.info_500_main
property QtObject text: QtObject {
property color normal: DefaultStyle.info_500_main
property color pressed: DefaultStyle.info_500_main
}
}
// Security red toast
property QtObject securityToastError: QtObject {
property QtObject color: QtObject {
property color normal: DefaultStyle.grey_0
property color hovered: DefaultStyle.grey_0
property color pressed: DefaultStyle.grey_0
}
property color borderColor: DefaultStyle.danger_500main
property QtObject text: QtObject {
property color normal: DefaultStyle.danger_500main
property color pressed: DefaultStyle.danger_500main
}
}
}

View file

@ -0,0 +1,291 @@
.pragma library
.import QtQuick as QtQuick
.import Linphone as Linphone
// Orange
var main = {
color: {
normal: Linphone.DefaultStyle.main1_500_main,
hovered: Linphone.DefaultStyle.main1_600,
pressed: Linphone.DefaultStyle.main1_700
},
text: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
}
}
// White with orange border
var secondary = {
color: {
normal: Linphone.DefaultStyle.grey_0,
hovered: Linphone.DefaultStyle.main1_100,
pressed: Linphone.DefaultStyle.main1_500_main
},
borderColor: Linphone.DefaultStyle.main1_500_main,
text: {
normal: Linphone.DefaultStyle.main1_500_main,
pressed: Linphone.DefaultStyle.grey_0
},
image: {
normal: Linphone.DefaultStyle.main1_500_main,
pressed: Linphone.DefaultStyle.grey_0
}
}
// Light orange
var tertiary = {
color: {
normal: Linphone.DefaultStyle.main1_100,
hovered: Linphone.DefaultStyle.main1_200,
pressed: Linphone.DefaultStyle.main1_300
},
text: {
normal: Linphone.DefaultStyle.main1_500_main,
pressed: Linphone.DefaultStyle.main1_500_main
},
image: {
normal: Linphone.DefaultStyle.main1_500_main,
pressed: Linphone.DefaultStyle.main1_500_main
}
}
// Blue-grey
var grey = {
color: {
normal: Linphone.DefaultStyle.main2_200,
hovered: Linphone.DefaultStyle.main2_300,
pressed: Linphone.DefaultStyle.main2_400
},
text: {
normal: Linphone.DefaultStyle.main2_500main,
pressed: Linphone.DefaultStyle.main2_700
},
image: {
normal: Linphone.DefaultStyle.main2_500main,
pressed: Linphone.DefaultStyle.main2_700
}
}
// Red phone
var phoneRed = {
iconSource: Linphone.AppIcons.endCall,
color: {
normal: Linphone.DefaultStyle.danger_500main,
hovered: Linphone.DefaultStyle.danger_700,
pressed: Linphone.DefaultStyle.danger_900
},
text: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
image: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
}
}
// Green phone
var phoneGreen = {
iconSource: Linphone.AppIcons.phone,
color: {
normal: Linphone.DefaultStyle.success_500main,
hovered: Linphone.DefaultStyle.success_700,
pressed: Linphone.DefaultStyle.success_900
},
text: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
image: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
}
}
// Checkable
var checkable = {
color: {
normal: Linphone.DefaultStyle.grey_500,
hovered: Linphone.DefaultStyle.grey_600,
pressed: Linphone.DefaultStyle.main2_400
},
text: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
image: {
normal: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
}
}
// No background
var noBackground = {
color: {
normal: "#00000000",
hovered: "#00000000",
pressed: "#00000000"
},
text: {
normal: Linphone.DefaultStyle.main2_600,
hovered: Linphone.DefaultStyle.main2_700,
pressed: Linphone.DefaultStyle.main2_800
},
image: {
normal: Linphone.DefaultStyle.main2_600,
hovered: Linphone.DefaultStyle.main2_700,
pressed: Linphone.DefaultStyle.main2_800
}
}
// No background red
var noBackgroundRed = {
color: {
normal: "#00000000",
hovered: "#00000000",
pressed: "#00000000"
},
text: {
normal: Linphone.DefaultStyle.danger_500main,
hovered: Linphone.DefaultStyle.danger_700,
pressed: Linphone.DefaultStyle.danger_900
},
image: {
normal: Linphone.DefaultStyle.danger_500main,
hovered: Linphone.DefaultStyle.danger_700,
pressed: Linphone.DefaultStyle.danger_900
}
}
// No background orange
var noBackgroundOrange = {
color: {
normal: "#00000000",
hovered: "#00000000",
pressed: "#00000000"
},
text: {
normal: Linphone.DefaultStyle.main1_500_main,
hovered: Linphone.DefaultStyle.main1_600,
pressed: Linphone.DefaultStyle.main1_700
},
image: {
normal: Linphone.DefaultStyle.main1_500_main,
hovered: Linphone.DefaultStyle.main1_600,
pressed: Linphone.DefaultStyle.main1_700
}
}
// Popup button
var popupButton = {
color: {
normal: "#00000000",
hovered: Linphone.DefaultStyle.grey_100,
pressed: Linphone.DefaultStyle.main2_300
},
text: {
normal: Linphone.DefaultStyle.main2_600,
hovered: Linphone.DefaultStyle.main2_600,
pressed: Linphone.DefaultStyle.main2_600
},
image: {
normal: Linphone.DefaultStyle.main2_600,
hovered: Linphone.DefaultStyle.main2_600,
pressed: Linphone.DefaultStyle.main2_600
}
}
// Icon + label button
var hoveredBackground = {
color: {
normal: "#00000000",
hovered: Linphone.DefaultStyle.main2_100,
pressed: Linphone.DefaultStyle.main2_100
},
text: {
normal: Linphone.DefaultStyle.main2_500main,
hovered: Linphone.DefaultStyle.main2_500main,
pressed: Linphone.DefaultStyle.main2_500main
},
image: {
normal: Linphone.DefaultStyle.main2_500main,
hovered: Linphone.DefaultStyle.main2_500main,
pressed: Linphone.DefaultStyle.main2_500main
}
}
// Icon + label red button
var hoveredBackgroundRed = {
color: {
normal: "#00000000",
hovered: Linphone.DefaultStyle.main2_100,
pressed: Linphone.DefaultStyle.main2_100
},
text: {
normal: Linphone.DefaultStyle.danger_500main,
hovered: Linphone.DefaultStyle.danger_700,
pressed: Linphone.DefaultStyle.danger_900
},
image: {
normal: Linphone.DefaultStyle.danger_500main,
hovered: Linphone.DefaultStyle.danger_700,
pressed: Linphone.DefaultStyle.danger_900
}
}
// Numpad
var numericPad = {
color: {
normal: Linphone.DefaultStyle.grey_0,
hovered: Linphone.DefaultStyle.grey_200,
pressed: Linphone.DefaultStyle.grey_300
},
text: {
normal: Linphone.DefaultStyle.main2_600,
pressed: Linphone.DefaultStyle.main2_700
}
}
// Green toast
var toast = {
color: {
normal: Linphone.DefaultStyle.grey_0,
hovered: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
borderColor: Linphone.DefaultStyle.success_500main,
text: {
normal: Linphone.DefaultStyle.success_500main,
pressed: Linphone.DefaultStyle.success_700
}
}
// Security blue toast
var securityToast = {
color: {
normal: Linphone.DefaultStyle.grey_0,
hovered: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
borderColor: Linphone.DefaultStyle.info_500_main,
text: {
normal: Linphone.DefaultStyle.info_500_main,
pressed: Linphone.DefaultStyle.info_500_main
}
}
// Security red toast
var securityToastError = {
color: {
normal: Linphone.DefaultStyle.grey_0,
hovered: Linphone.DefaultStyle.grey_0,
pressed: Linphone.DefaultStyle.grey_0
},
borderColor: Linphone.DefaultStyle.danger_500main,
text: {
normal: Linphone.DefaultStyle.danger_500main,
pressed: Linphone.DefaultStyle.danger_500main
}
}