mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-18 11:58:11 +00:00
Replace hard coded colors
This commit is contained in:
parent
ba10a9ad3b
commit
df719d7cc0
26 changed files with 484 additions and 507 deletions
|
|
@ -915,9 +915,8 @@ Server URL not configured.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<source>ephemeralText</source>
|
||||
<extracomment>'New messages will be deleted on both ends once it has been read by your contact. Select a timeout.'</extracomment>
|
||||
<extracomment>'New messages will be deleted on both ends once it has been read by your contact. Select a timeout.' : Context Explanation for ephemerals</extracomment>
|
||||
<translation>New messages will be deleted on both ends once it has been read by your contact. Select a timeout.</translation>
|
||||
<extra-Context>Explanation for ephemerals</extra-Context>
|
||||
</message>
|
||||
<message>
|
||||
<source>ephemeralNotInConference!</source>
|
||||
|
|
@ -1379,7 +1378,7 @@ Click here: <a href="%1">%1</a>
|
|||
</message>
|
||||
<message>
|
||||
<source>removeParticipantSelection</source>
|
||||
<extracomment>'Remove this participant from the selection' : Explanation abo^ut removing participant from a selection</extracomment>
|
||||
<extracomment>'Remove this participant from the selection' : Explanation about removing participant from a selection</extracomment>
|
||||
<translation>Remove this participant from the selection</translation>
|
||||
<extra-Tooltip>This is a tooltip</extra-Tooltip>
|
||||
</message>
|
||||
|
|
|
|||
|
|
@ -554,6 +554,7 @@
|
|||
<file>ui/views/App/Styles/Main/ConversationStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/AboutStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/AuthenticationRequestStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/EphemeralChatRoomStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/InfoChatRoomStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/InfoEncryptionStyle.qml</file>
|
||||
<file>ui/views/App/Styles/Main/Dialogs/ManageAccountsStyle.qml</file>
|
||||
|
|
|
|||
|
|
@ -53,10 +53,10 @@ class ColorListModel : public QAbstractListModel {
|
|||
ADD_COLOR("b", "#D64D00", "Primary color for hovered items.")
|
||||
|
||||
ADD_COLOR("c", "#CBCBCB", "Button pressed, separatos, fields.")
|
||||
ADD_COLOR("d", "#5A585B", "")
|
||||
ADD_COLOR("e", "#F3F3F3", "")
|
||||
ADD_COLOR("d", "#5A585B", "Text (Ephemerals)")
|
||||
ADD_COLOR("e", "#F3F3F3", "Chat text area Background")
|
||||
ADD_COLOR("f", "#E8E8E8", "Border color")
|
||||
ADD_COLOR("g", "#6B7A86", "SIP Address, Contact Text, Selected button.")
|
||||
ADD_COLOR("g", "#6B7A86", "SIP Address; Text of Contact, question popup; Selected button.")
|
||||
ADD_COLOR("h", "#687680", "")
|
||||
|
||||
// Primary color.
|
||||
|
|
@ -90,6 +90,26 @@ class ColorListModel : public QAbstractListModel {
|
|||
|
||||
ADD_COLOR("x", "#D0D8DE", "Background unselected round button")
|
||||
|
||||
ADD_COLOR("y", "#FFFFFF", "Gradient dialog start")
|
||||
ADD_COLOR("z", "#E2E2E2", "Gradient dialog end")
|
||||
|
||||
ADD_COLOR("aa", "#E1E1E1", "Chat text outside background")
|
||||
ADD_COLOR("ab", "#979797", "Chat heading section text")
|
||||
ADD_COLOR("ac", "#B1B1B1", "Chat bubble author/ text")
|
||||
ADD_COLOR("ad", "#FF5E00", "Ephemeral main color")
|
||||
ADD_COLOR("ae", "#FF0000", "Important message")
|
||||
ADD_COLOR("af", "#9FA6AB", "Admin Status")
|
||||
ADD_COLOR("ag", "#EBEBEB", "Line between items in list")
|
||||
ADD_COLOR("ah", "#F5F5F5", "Main List item background")
|
||||
ADD_COLOR("slider_background", "#bdbebf", "Slider background")
|
||||
ADD_COLOR("slider_low", "#21be2b", "Slider low value")
|
||||
ADD_COLOR("slider_high", "#ff0000", "Slider high value")
|
||||
|
||||
|
||||
ADD_COLOR("border", "black", "Borders")
|
||||
|
||||
|
||||
|
||||
// Field error.
|
||||
ADD_COLOR("error", "#FF0000", "Error Generic button.")
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ Item {
|
|||
Rectangle{
|
||||
anchors.fill:parent
|
||||
gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: "white" }
|
||||
GradientStop { position: 1.0; color: "#E2E2E2" }
|
||||
GradientStop { position: 0.0; color: Colors.y.color }
|
||||
GradientStop { position: 1.0; color: Colors.z.color}
|
||||
}
|
||||
visible:showBar
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,62 +86,7 @@ Item {
|
|||
acceptedButtons: Qt.NoButton
|
||||
cursorShape: containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Rectangle {
|
||||
anchors.fill:parent
|
||||
color: button.down?'white':'black'
|
||||
opacity: 0.2
|
||||
visible:autoIcon && (button.down || button.hovered)
|
||||
}*/
|
||||
}
|
||||
/*
|
||||
Colorize{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
hue:0.0
|
||||
saturation:0.0
|
||||
lightness: 0.5
|
||||
visible:autoIcon && button.down
|
||||
}*/
|
||||
/*
|
||||
GammaAdjust{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
gamma:1.6
|
||||
visible:autoIcon && button.down
|
||||
}*/
|
||||
/*
|
||||
Colorize{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
hue:0.0
|
||||
saturation:0.0
|
||||
lightness: -0.5
|
||||
visible:autoIcon && button.hovered && !button.down
|
||||
}*/
|
||||
/*
|
||||
Desaturate{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
desaturation: 1.0
|
||||
visible:autoIcon && button.hovered && !button.down
|
||||
}*/
|
||||
/*
|
||||
GammaAdjust{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
gamma:0.4
|
||||
visible:autoIcon && button.hovered && !button.down
|
||||
}*/
|
||||
/*
|
||||
ColorOverlay{
|
||||
anchors.fill:icon
|
||||
source:icon
|
||||
color:button.down?'white':'orange'
|
||||
visible:autoIcon && (button.down || button.hovered)
|
||||
}*/
|
||||
TooltipArea {
|
||||
id:tooltip
|
||||
text: ''
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ Item {
|
|||
|
||||
Rectangle{
|
||||
anchors.fill: parent
|
||||
color:'#E1E1E1'
|
||||
color: DroppableTextAreaStyle.outsideBackgroundColor
|
||||
// ---------------------------------------------------------------------------
|
||||
RowLayout{
|
||||
anchors.fill: parent
|
||||
|
|
@ -77,12 +77,6 @@ Item {
|
|||
tooltipText: droppableTextArea.dropEnabled
|
||||
? qsTr('attachmentTooltip')
|
||||
: droppableTextArea.dropDisabledReason
|
||||
/*
|
||||
TooltipArea {
|
||||
text: droppableTextArea.dropEnabled
|
||||
? qsTr('attachmentTooltip')
|
||||
: droppableTextArea.dropDisabledReason
|
||||
}*/
|
||||
}
|
||||
// Record audio
|
||||
ActionButton {
|
||||
|
|
@ -141,7 +135,7 @@ Item {
|
|||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: '#f3f3f3' //DroppableTextAreaStyle.backgroundColor
|
||||
color: DroppableTextAreaStyle.backgroundColor
|
||||
radius: 5
|
||||
clip:true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ import Units 1.0
|
|||
// =============================================================================
|
||||
|
||||
QtObject {
|
||||
property color backgroundColor: Colors.q.color
|
||||
property color backgroundColor: Colors.e.color
|
||||
property color outsideBackgroundColor: Colors.aa.color
|
||||
|
||||
property QtObject fileChooserButton: QtObject {
|
||||
property int margins: 6
|
||||
|
|
|
|||
|
|
@ -95,8 +95,7 @@ Rectangle {
|
|||
id: text
|
||||
|
||||
anchors.fill: parent
|
||||
//color: ChatStyle.sectionHeading.text.color
|
||||
color: '#979797'
|
||||
color: ChatStyle.sectionHeading.text.color
|
||||
font {
|
||||
bold: true
|
||||
pointSize: ChatStyle.sectionHeading.text.pointSize
|
||||
|
|
@ -173,8 +172,8 @@ Rectangle {
|
|||
return null
|
||||
}
|
||||
|
||||
color: '#B1B1B1'
|
||||
font.pointSize: ChatStyle.entry.time.pointSize
|
||||
color: ChatStyle.entry.event.text.color
|
||||
font.pointSize: ChatStyle.entry.event.text.pointSize
|
||||
visible: isMessage
|
||||
&& $chatEntry != undefined
|
||||
&& !$chatEntry.isOutgoing // Only outgoing
|
||||
|
|
@ -196,7 +195,7 @@ Rectangle {
|
|||
Layout.preferredHeight: ChatStyle.entry.lineHeight
|
||||
Layout.preferredWidth: ChatStyle.entry.time.width
|
||||
|
||||
color: '#B1B1B1'
|
||||
color: ChatStyle.entry.event.text.color
|
||||
font.pointSize: ChatStyle.entry.time.pointSize
|
||||
|
||||
text: $chatEntry.timestamp.toLocaleString(
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ GridView{
|
|||
height: ChatStyle.composingText.height-5
|
||||
width: GridView.width
|
||||
text: deliveryLayout.getText(modelData.state, modelData.displayName, UtilsCpp.toDateTimeString(modelData.stateChangeTime))
|
||||
color: "#B1B1B1"
|
||||
color: ChatStyle.entry.event.text.color
|
||||
font.pointSize: Units.dp * 8
|
||||
elide: Text.ElideMiddle
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ Row {
|
|||
spacing:5
|
||||
Text{
|
||||
text: $chatEntry.ephemeralExpireTime > 0 ? Utils.formatElapsedTime($chatEntry.ephemeralExpireTime) : Utils.formatElapsedTime($chatEntry.ephemeralLifetime)
|
||||
color:"#FF5E00"
|
||||
color: Colors.ad.color
|
||||
font.pointSize: Units.dp * 8
|
||||
Timer{
|
||||
running:parent.visible
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ Item {
|
|||
spacing:5
|
||||
Text{
|
||||
text: $chatEntry.ephemeralExpireTime > 0 ? Utils.formatElapsedTime($chatEntry.ephemeralExpireTime) : Utils.formatElapsedTime($chatEntry.ephemeralLifetime)
|
||||
color:"#FF5E00"
|
||||
color: Colors.ad.color
|
||||
font.pointSize: Units.dp * 8
|
||||
Timer{
|
||||
running:parent.visible
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import Units 1.0
|
|||
// =============================================================================
|
||||
|
||||
RowLayout{
|
||||
id: mainLayout
|
||||
property string _type: {
|
||||
var status = $chatEntry.eventLogType
|
||||
|
||||
|
|
@ -81,35 +82,29 @@ RowLayout{
|
|||
|
||||
return 'unknown_notice'
|
||||
}
|
||||
property bool isImportant : $chatEntry.status == ChatNoticeModel.NoticeError || $chatEntry.eventLogType == LinphoneEnums.EventLogTypeConferenceTerminated
|
||||
property bool isImportant: $chatEntry.eventLogType == LinphoneEnums.EventLogTypeConferenceTerminated
|
||||
property bool isError: $chatEntry.status == ChatNoticeModel.NoticeError
|
||||
property color eventColor : (isError ? Colors.error.color : ( isImportant ? Colors.error.color : Colors.ab.color ))
|
||||
|
||||
|
||||
Layout.preferredHeight: ChatStyle.entry.lineHeight
|
||||
spacing: ChatStyle.entry.message.extraContent.spacing
|
||||
Rectangle{
|
||||
height:1
|
||||
Layout.fillWidth: true
|
||||
color:( isImportant ? '#FF0000' : '#979797' )
|
||||
color: mainLayout.eventColor
|
||||
}
|
||||
|
||||
Text {
|
||||
Component {
|
||||
// Never created.
|
||||
// Private data for `lupdate`.
|
||||
Item {
|
||||
property var i18n: [
|
||||
"You have joined the group" //QT_TR_NOOP('declinedIncomingCall'),
|
||||
]
|
||||
}
|
||||
}
|
||||
Layout.preferredWidth: contentWidth
|
||||
id:message
|
||||
color:( isImportant ? '#FF0000' : '#979797' )
|
||||
Layout.preferredWidth: contentWidth
|
||||
|
||||
color: mainLayout.eventColor
|
||||
font {
|
||||
//bold: true
|
||||
pointSize: Units.dp * 7
|
||||
}
|
||||
height: parent.height
|
||||
text: $chatEntry.name?_type.arg($chatEntry.name):_type //qsTr(Utils.snakeToCamel(_type))
|
||||
text: $chatEntry.name?_type.arg($chatEntry.name):_type
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
TooltipArea {
|
||||
text: $chatEntry.timestamp.toLocaleString(Qt.locale(App.locale))
|
||||
|
|
@ -118,6 +113,6 @@ RowLayout{
|
|||
Rectangle{
|
||||
height:1
|
||||
Layout.fillWidth: true
|
||||
color:( isImportant ? '#FF0000' : '#979797' )
|
||||
color: mainLayout.eventColor
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ QtObject {
|
|||
|
||||
property QtObject text: QtObject {
|
||||
property int pointSize: Units.dp * 10
|
||||
property color color: Colors.g.color
|
||||
property color color: Colors.ab.color
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ QtObject {
|
|||
property int iconSize: 18
|
||||
|
||||
property QtObject text: QtObject {
|
||||
property color color: Colors.d.color
|
||||
property color color: Colors.ac.color
|
||||
property int pointSize: Units.dp * 10
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,16 +43,7 @@ Rectangle {
|
|||
}
|
||||
}
|
||||
onSelectedChanged : if(timelineModel) timeline.entrySelected(timelineModel)
|
||||
// onCurrentTimelineChanged:entrySelected(currentTimeline)
|
||||
}
|
||||
/*
|
||||
Connections {
|
||||
target: model
|
||||
|
||||
onDataChanged: Logic.handleDataChanged(topLeft, bottomRight, roles)
|
||||
onRowsAboutToBeRemoved: Logic.handleRowsAboutToBeRemoved(parent, first, last)
|
||||
}
|
||||
*/
|
||||
// -------------------------------------------------------------------------
|
||||
// Legend.
|
||||
// -------------------------------------------------------------------------
|
||||
|
|
@ -126,7 +117,7 @@ Rectangle {
|
|||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: filterChoices.height
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
border.color: 'black'
|
||||
border.color: Colors.border.color
|
||||
border.width: 2
|
||||
visible:false
|
||||
|
||||
|
|
@ -190,7 +181,7 @@ Rectangle {
|
|||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 40
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
border.color: 'black'
|
||||
border.color: Colors.border.color
|
||||
border.width: 2
|
||||
visible:false
|
||||
//color: ContactsStyle.bar.backgroundColor
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ ColumnLayout {
|
|||
//: 'Admin' : Admin(istrator)
|
||||
//~ Context One word title for describing the current admin status
|
||||
text: qsTr('adminStatus')
|
||||
color:"#9FA6AB"
|
||||
color: Colors.af.color
|
||||
font.pointSize: Units.dp * 8
|
||||
}
|
||||
}
|
||||
|
|
@ -468,11 +468,6 @@ ColumnLayout {
|
|||
localAddress: conversation.localAddress// Reload is done on localAddress. Use this order
|
||||
}
|
||||
}
|
||||
/*
|
||||
Connections {
|
||||
target: SettingsModel
|
||||
onChatEnabledChanged: chatRoomProxyModel.setEntryTypeFilter(status ? ChatRoomModel.GenericEntry : ChatRoomModel.CallEntry)
|
||||
}*/
|
||||
|
||||
Connections {
|
||||
target: AccountSettingsModel
|
||||
|
|
|
|||
|
|
@ -49,49 +49,48 @@ DialogPlus {
|
|||
property int timer : 0
|
||||
buttonsAlignment: Qt.AlignCenter
|
||||
|
||||
height: 320
|
||||
width: ManageAccountsStyle.width
|
||||
height: EphemeralChatRoomStyle.height
|
||||
width: EphemeralChatRoomStyle.width
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: 15
|
||||
anchors.leftMargin: 10
|
||||
anchors.rightMargin: 10
|
||||
spacing: 0
|
||||
anchors.topMargin: EphemeralChatRoomStyle.mainLayout.topMargin
|
||||
anchors.leftMargin: EphemeralChatRoomStyle.mainLayout.leftMargin
|
||||
anchors.rightMargin: EphemeralChatRoomStyle.mainLayout.rightMargin
|
||||
spacing: EphemeralChatRoomStyle.mainLayout.spacing
|
||||
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Icon{
|
||||
icon:'timer'
|
||||
iconSize:40
|
||||
Layout.preferredHeight: 50
|
||||
Layout.preferredWidth: 50
|
||||
iconSize: EphemeralChatRoomStyle.timer.iconSize
|
||||
Layout.preferredHeight: EphemeralChatRoomStyle.timer.preferredHeight
|
||||
Layout.preferredWidth: EphemeralChatRoomStyle.timer.preferredWidth
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
}
|
||||
Text{
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
Layout.leftMargin: EphemeralChatRoomStyle.descriptionText.leftMargin
|
||||
Layout.rightMargin: EphemeralChatRoomStyle.descriptionText.rightMargin
|
||||
|
||||
maximumLineCount: 4
|
||||
wrapMode: Text.Wrap
|
||||
//: 'New messages will be deleted on both ends once it has been read by your contact. Select a timeout.'
|
||||
//~ Context Explanation for ephemerals
|
||||
//: 'New messages will be deleted on both ends once it has been read by your contact. Select a timeout.' : Context Explanation for ephemerals
|
||||
text: qsTr('ephemeralText')
|
||||
//: '\nEphemeral message is only supported in conference based chat room!'
|
||||
//~ Context Warning about not being in conference based chat room.
|
||||
+(!chatRoomModel.canBeEphemeral?'\n'+qsTr('ephemeralNotInConference!'):'')
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.pointSize: Units.dp * 11
|
||||
color: Colors.d.color
|
||||
font.pointSize: EphemeralChatRoomStyle.descriptionText.pointSize
|
||||
color: EphemeralChatRoomStyle.descriptionText.color
|
||||
}
|
||||
ComboBox{
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.preferredWidth: 150
|
||||
Layout.topMargin:10
|
||||
Layout.bottomMargin:10
|
||||
Layout.preferredWidth: EphemeralChatRoomStyle.descriptionText.preferredWidth
|
||||
Layout.topMargin: EphemeralChatRoomStyle.descriptionText.topMargin
|
||||
Layout.bottomMargin: EphemeralChatRoomStyle.descriptionText.bottomMargin
|
||||
id:timerPicker
|
||||
textRole: "text"
|
||||
currentIndex: if( chatRoomModel.ephemeralLifetime == 0 || !chatRoomModel.ephemeralEnabled)
|
||||
|
|
@ -108,22 +107,6 @@ DialogPlus {
|
|||
return 5;
|
||||
else
|
||||
return 5;
|
||||
/*
|
||||
property var fields : [
|
||||
//: 'Disabled'
|
||||
qsTr('disabled'),
|
||||
//: '%1 minute'
|
||||
qsTr('nMinute', '', 1).arg(1),
|
||||
//: '%1 hour'
|
||||
qsTr('nHour', '', 1).arg(1),
|
||||
//: '%1 day'
|
||||
qsTr('nDay', '', 1).arg(1),
|
||||
//: '%1 days'
|
||||
qsTr('nDay', '', 3).arg(3),
|
||||
//: '%1 week'
|
||||
qsTr('nWeek', '', 1).arg(1)
|
||||
]
|
||||
*/
|
||||
model:[
|
||||
//: 'Disabled'
|
||||
{text:qsTr('disabled'), value:0},
|
||||
|
|
@ -142,7 +125,5 @@ DialogPlus {
|
|||
onActivated: dialog.timer = model[index].value
|
||||
visible: chatRoomModel.canBeEphemeral
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -49,36 +49,36 @@ DialogPlus {
|
|||
|
||||
buttonsAlignment: Qt.AlignCenter
|
||||
|
||||
height: ManageAccountsStyle.height
|
||||
width: ManageAccountsStyle.width
|
||||
height: InfoEncryptionStyle.height
|
||||
width: InfoEncryptionStyle.width
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: 15
|
||||
anchors.leftMargin: 10
|
||||
anchors.rightMargin: 10
|
||||
spacing: 0
|
||||
anchors.topMargin: InfoEncryptionStyle.mainLayout.topMargin
|
||||
anchors.leftMargin: InfoEncryptionStyle.mainLayout.leftMargin
|
||||
anchors.rightMargin: InfoEncryptionStyle.mainLayout.rightMargin
|
||||
spacing: InfoEncryptionStyle.mainLayout.spacing
|
||||
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
|
||||
Icon{
|
||||
icon: dialog.securityLevel === 2?'secure_level_1': dialog.securityLevel===3? 'secure_level_2' : 'secure_level_unsafe'
|
||||
iconSize:40
|
||||
Layout.preferredHeight: 50
|
||||
Layout.preferredWidth: 50
|
||||
iconSize: InfoEncryptionStyle.securityIcon.iconSize
|
||||
Layout.preferredHeight: InfoEncryptionStyle.securityIcon.preferredHeight
|
||||
Layout.preferredWidth: InfoEncryptionStyle.securityIcon.preferredWidth
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
}
|
||||
Text{
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
Layout.leftMargin: InfoEncryptionStyle.descriptionText.leftMargin
|
||||
Layout.rightMargin: InfoEncryptionStyle.descriptionText.rightMargin
|
||||
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.pointSize: Units.dp * 11
|
||||
color: Colors.d.color
|
||||
font.pointSize: InfoEncryptionStyle.descriptionText.pointSize
|
||||
color: InfoEncryptionStyle.descriptionText.color
|
||||
|
||||
wrapMode: Text.Wrap
|
||||
//: "Instant messages are end-to-end encrypted in secured conversations. It is possible to upgrade the security level of a conversation by authentificating participants."
|
||||
|
|
@ -88,13 +88,13 @@ DialogPlus {
|
|||
Text{
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
Layout.leftMargin: InfoEncryptionStyle.descriptionText.leftMargin
|
||||
Layout.rightMargin: InfoEncryptionStyle.descriptionText.rightMargin
|
||||
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.pointSize: Units.dp * 11
|
||||
color: Colors.d.color
|
||||
font.pointSize: InfoEncryptionStyle.descriptionText.pointSize
|
||||
color: InfoEncryptionStyle.descriptionText.color
|
||||
|
||||
wrapMode: Text.Wrap
|
||||
//: "To do so, call the contact and follow the authentification process."
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ DialogPlus {
|
|||
buttonsAlignment: Qt.AlignCenter
|
||||
objectName: '__manageAccounts'
|
||||
|
||||
height: SettingsModel.rlsUriEnabled ? ManageAccountsStyle.height +30 : ManageAccountsStyle.heightWithoutPresence + 30
|
||||
height: SettingsModel.rlsUriEnabled ? ManageAccountsStyle.height : ManageAccountsStyle.heightWithoutPresence
|
||||
width: ManageAccountsStyle.width
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ DialogPlus {
|
|||
id: conferenceManager
|
||||
property ChatRoomModel chatRoomModel
|
||||
|
||||
readonly property int maxParticipants: 20
|
||||
readonly property int minParticipants: 1
|
||||
|
||||
buttons: [
|
||||
|
|
@ -140,7 +139,6 @@ DialogPlus {
|
|||
}
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
//Layout.preferredHeight: 90
|
||||
spacing:10
|
||||
Text{
|
||||
textFormat: Text.RichText
|
||||
|
|
@ -275,7 +273,7 @@ DialogPlus {
|
|||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
border.width: 1
|
||||
border.color: "black"
|
||||
border.color: Colors.l.color
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
|
|
@ -333,7 +331,6 @@ DialogPlus {
|
|||
Layout.fillWidth: true
|
||||
Layout.bottomMargin: 5
|
||||
|
||||
//readOnly: toAddView.count >= conferenceManager.maxParticipants
|
||||
textFieldStyle: TextFieldStyle.unbordered
|
||||
|
||||
ParticipantsView {
|
||||
|
|
@ -349,7 +346,7 @@ DialogPlus {
|
|||
|
||||
actions: [{
|
||||
icon: 'remove_participant',
|
||||
//: 'Remove this participant from the selection' : Explanation abo^ut removing participant from a selection
|
||||
//: 'Remove this participant from the selection' : Explanation about removing participant from a selection
|
||||
//~ Tooltip This is a tooltip
|
||||
tooltipText: qsTr('removeParticipantSelection'),
|
||||
handler: function (entry) {
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ DialogPlus {
|
|||
property var window
|
||||
buttonsAlignment: Qt.AlignCenter
|
||||
|
||||
height: ManageAccountsStyle.height + 30
|
||||
width: ManageAccountsStyle.width
|
||||
height: 383
|
||||
width: 450
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
|
@ -94,7 +94,6 @@ DialogPlus {
|
|||
MouseArea{
|
||||
anchors.fill:contactDescription
|
||||
onClicked: {
|
||||
//mainHeader.window.detachVirtualWindow()
|
||||
mainHeader.window.attachVirtualWindow(Qt.resolvedUrl('InfoEncryption.qml')
|
||||
,{securityLevel : mainHeader.securityLevel
|
||||
, addressToCall : mainHeader.addressToCall}
|
||||
|
|
@ -120,7 +119,7 @@ DialogPlus {
|
|||
}
|
||||
}
|
||||
Rectangle {
|
||||
color: "#ebebeb"
|
||||
color: Colors.ag.color
|
||||
Layout.preferredHeight: 1
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
|
@ -146,7 +145,7 @@ DialogPlus {
|
|||
|
||||
width:parent.width
|
||||
height:50
|
||||
color: '#f5f5f5'
|
||||
color: Colors.ah.color
|
||||
RowLayout{
|
||||
anchors.fill:parent
|
||||
Text{
|
||||
|
|
@ -154,7 +153,6 @@ DialogPlus {
|
|||
Layout.fillHeight: true
|
||||
Layout.leftMargin: avatar.width+14*2
|
||||
font.weight: Font.Light
|
||||
//color: DialogStyle.description.color
|
||||
font.pointSize: Units.dp * 11
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
wrapMode: Text.WordWrap
|
||||
|
|
@ -188,7 +186,7 @@ DialogPlus {
|
|||
}
|
||||
}
|
||||
Rectangle {
|
||||
color: "#ebebeb"
|
||||
color: Colors.ag.color
|
||||
anchors.left : parent.left
|
||||
anchors.right :parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
|
|
|
|||
|
|
@ -11,314 +11,314 @@ import App.Styles 1.0
|
|||
// =============================================================================
|
||||
|
||||
TabContainer {
|
||||
Column {
|
||||
spacing: SettingsWindowStyle.forms.spacing
|
||||
width: parent.width
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Audio parameters.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('audioTitle')
|
||||
width: parent.width
|
||||
|
||||
//Warning if in call
|
||||
FormLine {
|
||||
visible: SettingsModel.isInCall
|
||||
|
||||
FormGroup {
|
||||
RowLayout {
|
||||
spacing: SettingsAudioStyle.warningMessage.iconSize
|
||||
Icon {
|
||||
icon: 'warning'
|
||||
iconSize: SettingsAudioStyle.warningMessage.iconSize
|
||||
anchors {
|
||||
rightMargin: SettingsAudioStyle.warningMessage.iconSize
|
||||
leftMargin: SettingsAudioStyle.warningMessage.iconSize
|
||||
}
|
||||
}
|
||||
Text {
|
||||
text: qsTr('audioSettingsInCallWarning')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('playbackDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.playbackDevice
|
||||
})
|
||||
model: SettingsModel.playbackDevices
|
||||
|
||||
onActivated: SettingsModel.playbackDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('playbackGainLabel')
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Slider {
|
||||
id: playbackSlider
|
||||
width: parent.width
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Component.onCompleted: value = SettingsModel.playbackGain
|
||||
onPositionChanged: SettingsModel.playbackGain = position
|
||||
|
||||
ToolTip {
|
||||
parent: playbackSlider.handle
|
||||
visible: playbackSlider.pressed
|
||||
text: (playbackSlider.value * 100).toFixed(0) + " %"
|
||||
}
|
||||
}
|
||||
Column {
|
||||
spacing: SettingsWindowStyle.forms.spacing
|
||||
width: parent.width
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Audio parameters.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('audioTitle')
|
||||
width: parent.width
|
||||
|
||||
//Warning if in call
|
||||
FormLine {
|
||||
visible: SettingsModel.isInCall
|
||||
|
||||
FormGroup {
|
||||
RowLayout {
|
||||
spacing: SettingsAudioStyle.warningMessage.iconSize
|
||||
Icon {
|
||||
icon: 'warning'
|
||||
iconSize: SettingsAudioStyle.warningMessage.iconSize
|
||||
anchors {
|
||||
rightMargin: SettingsAudioStyle.warningMessage.iconSize
|
||||
leftMargin: SettingsAudioStyle.warningMessage.iconSize
|
||||
}
|
||||
}
|
||||
Text {
|
||||
text: qsTr('audioSettingsInCallWarning')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('playbackDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.playbackDevice
|
||||
})
|
||||
model: SettingsModel.playbackDevices
|
||||
|
||||
onActivated: SettingsModel.playbackDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('playbackGainLabel')
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Slider {
|
||||
id: playbackSlider
|
||||
width: parent.width
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Component.onCompleted: value = SettingsModel.playbackGain
|
||||
onPositionChanged: SettingsModel.playbackGain = position
|
||||
|
||||
ToolTip {
|
||||
parent: playbackSlider.handle
|
||||
visible: playbackSlider.pressed
|
||||
text: (playbackSlider.value * 100).toFixed(0) + " %"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('captureDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.captureDevice
|
||||
})
|
||||
model: SettingsModel.captureDevices
|
||||
|
||||
onActivated: SettingsModel.captureDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('captureGainLabel')
|
||||
|
||||
Slider {
|
||||
id: captureSlider
|
||||
width: parent.width
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Component.onCompleted: value = SettingsModel.captureGain
|
||||
onPositionChanged: SettingsModel.captureGain = position
|
||||
|
||||
ToolTip {
|
||||
parent: captureSlider.handle
|
||||
visible: captureSlider.pressed
|
||||
text: (captureSlider.value * 100).toFixed(0) + " %"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
id: audioTestRow
|
||||
label: qsTr('audioTestLabel')
|
||||
visible: !SettingsModel.isInCall
|
||||
|
||||
Slider {
|
||||
id: audioTestSlider
|
||||
|
||||
enabled: false
|
||||
width: parent.width
|
||||
anchors {
|
||||
leftMargin: SettingsAudioStyle.ringPlayer.leftMargin
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
x: audioTestSlider.leftPadding
|
||||
y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2
|
||||
implicitWidth: 200
|
||||
implicitHeight: 8
|
||||
width: audioTestSlider.availableWidth
|
||||
height: implicitHeight
|
||||
radius: 2
|
||||
color: Colors.slider_background.color
|
||||
|
||||
Rectangle {
|
||||
width: audioTestSlider.visualPosition * parent.width
|
||||
height: parent.height
|
||||
color: audioTestSlider.value > 0.8 ? Colors.slider_high.color : Colors.slider_low.color
|
||||
radius: 2
|
||||
}
|
||||
}
|
||||
|
||||
//Empty slider handle
|
||||
handle: Text {
|
||||
text: ''
|
||||
visible: false
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 50
|
||||
repeat: true
|
||||
running: SettingsModel.captureGraphRunning
|
||||
|
||||
onTriggered: parent.value = SettingsModel.getMicVolume()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('ringerDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
enabled: !SettingsModel.isInCall
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.ringerDevice
|
||||
})
|
||||
model: SettingsModel.playbackDevices
|
||||
|
||||
onActivated: SettingsModel.ringerDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('ringLabel')
|
||||
|
||||
FileChooserButton {
|
||||
selectedFile: SettingsModel.ringPath
|
||||
|
||||
onAccepted: {
|
||||
var item = ringPlayer.item
|
||||
if (item) {
|
||||
item.stop()
|
||||
}
|
||||
|
||||
SettingsModel.ringPath = selectedFile
|
||||
}
|
||||
|
||||
ActionSwitch {
|
||||
anchors {
|
||||
left: parent.right
|
||||
leftMargin: SettingsAudioStyle.ringPlayer.leftMargin
|
||||
}
|
||||
|
||||
enabled: {
|
||||
var item = ringPlayer.item
|
||||
return item && item.playbackState === SoundPlayer.PlayingState
|
||||
}
|
||||
|
||||
icon: 'pause'
|
||||
|
||||
onClicked: {
|
||||
var item = ringPlayer.item
|
||||
if (!item) {
|
||||
return
|
||||
}
|
||||
|
||||
if (enabled) {
|
||||
item.stop()
|
||||
} else {
|
||||
item.play()
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: ringPlayer
|
||||
|
||||
active: window.visible
|
||||
sourceComponent: SoundPlayer {
|
||||
source: SettingsModel.ringPath
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('echoCancellationLabel')
|
||||
|
||||
Row{
|
||||
spacing: SettingsAudioStyle.warningMessage.iconSize
|
||||
Switch {
|
||||
checked: SettingsModel.echoCancellationEnabled
|
||||
|
||||
onClicked: {
|
||||
SettingsModel.echoCancellationEnabled = !checked
|
||||
echoCalibrationStatus.text = ''
|
||||
}
|
||||
}
|
||||
Text{
|
||||
id:echoCalibrationStatus
|
||||
text: ''
|
||||
Layout.fillWidth:true
|
||||
height:parent.height
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
TextButtonB {
|
||||
id: echoCalibration
|
||||
enabled: SettingsModel.echoCancellationEnabled
|
||||
|
||||
text: qsTr('echoCancellationCalibrationLabel')
|
||||
|
||||
onClicked: { echoCalibrationStatus.text = qsTr("calibratingEchoCancellationInProgress");//"...calibrating echo cancellation..."
|
||||
SettingsModel.startEchoCancellerCalibration();
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsModel
|
||||
|
||||
onEchoCancellationStatus:{
|
||||
switch(status){
|
||||
case 0 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationInProgress"); break;
|
||||
case 1 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationDone").replace('%1', msDelay); break;//"Calibrated in -"+msDelay+"ms"
|
||||
case 2 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationFailed"); break;//"Calibration failed"
|
||||
case 3 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationNone");//"No echo detected"
|
||||
SettingsModel.echoCancellationEnabled = false;// Calibration turn off the echo cancellation
|
||||
break;
|
||||
default:{}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Audio Codecs.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('audioCodecsTitle')
|
||||
visible: SettingsModel.showAudioCodecs || SettingsModel.developerSettingsEnabled
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('showAudioCodecsLabel')
|
||||
|
||||
Switch {
|
||||
checked: SettingsModel.showAudioCodecs
|
||||
|
||||
onClicked: SettingsModel.showAudioCodecs = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CodecsViewer {
|
||||
model: AudioCodecsModel
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('captureDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.captureDevice
|
||||
})
|
||||
model: SettingsModel.captureDevices
|
||||
|
||||
onActivated: SettingsModel.captureDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('captureGainLabel')
|
||||
|
||||
Slider {
|
||||
id: captureSlider
|
||||
width: parent.width
|
||||
enabled: !SettingsModel.isInCall
|
||||
|
||||
Component.onCompleted: value = SettingsModel.captureGain
|
||||
onPositionChanged: SettingsModel.captureGain = position
|
||||
|
||||
ToolTip {
|
||||
parent: captureSlider.handle
|
||||
visible: captureSlider.pressed
|
||||
text: (captureSlider.value * 100).toFixed(0) + " %"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
id: audioTestRow
|
||||
label: qsTr('audioTestLabel')
|
||||
visible: !SettingsModel.isInCall
|
||||
|
||||
Slider {
|
||||
id: audioTestSlider
|
||||
|
||||
enabled: false
|
||||
width: parent.width
|
||||
anchors {
|
||||
leftMargin: SettingsAudioStyle.ringPlayer.leftMargin
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
x: audioTestSlider.leftPadding
|
||||
y: audioTestSlider.topPadding + audioTestSlider.availableHeight / 2 - height / 2
|
||||
implicitWidth: 200
|
||||
implicitHeight: 8
|
||||
width: audioTestSlider.availableWidth
|
||||
height: implicitHeight
|
||||
radius: 2
|
||||
color: "#bdbebf"
|
||||
|
||||
Rectangle {
|
||||
width: audioTestSlider.visualPosition * parent.width
|
||||
height: parent.height
|
||||
color: audioTestSlider.value > 0.8 ? "#ff0000" : "#21be2b"
|
||||
radius: 2
|
||||
}
|
||||
}
|
||||
|
||||
//Empty slider handle
|
||||
handle: Text {
|
||||
text: ''
|
||||
visible: false
|
||||
}
|
||||
|
||||
Timer {
|
||||
interval: 50
|
||||
repeat: true
|
||||
running: SettingsModel.captureGraphRunning
|
||||
|
||||
onTriggered: parent.value = SettingsModel.getMicVolume()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('ringerDeviceLabel')
|
||||
|
||||
ComboBox {
|
||||
enabled: !SettingsModel.isInCall
|
||||
currentIndex: Utils.findIndex(model, function (device) {
|
||||
return device === SettingsModel.ringerDevice
|
||||
})
|
||||
model: SettingsModel.playbackDevices
|
||||
|
||||
onActivated: SettingsModel.ringerDevice = model[index]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('ringLabel')
|
||||
|
||||
FileChooserButton {
|
||||
selectedFile: SettingsModel.ringPath
|
||||
|
||||
onAccepted: {
|
||||
var item = ringPlayer.item
|
||||
if (item) {
|
||||
item.stop()
|
||||
}
|
||||
|
||||
SettingsModel.ringPath = selectedFile
|
||||
}
|
||||
|
||||
ActionSwitch {
|
||||
anchors {
|
||||
left: parent.right
|
||||
leftMargin: SettingsAudioStyle.ringPlayer.leftMargin
|
||||
}
|
||||
|
||||
enabled: {
|
||||
var item = ringPlayer.item
|
||||
return item && item.playbackState === SoundPlayer.PlayingState
|
||||
}
|
||||
|
||||
icon: 'pause'
|
||||
|
||||
onClicked: {
|
||||
var item = ringPlayer.item
|
||||
if (!item) {
|
||||
return
|
||||
}
|
||||
|
||||
if (enabled) {
|
||||
item.stop()
|
||||
} else {
|
||||
item.play()
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: ringPlayer
|
||||
|
||||
active: window.visible
|
||||
sourceComponent: SoundPlayer {
|
||||
source: SettingsModel.ringPath
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('echoCancellationLabel')
|
||||
|
||||
Row{
|
||||
spacing: SettingsAudioStyle.warningMessage.iconSize
|
||||
Switch {
|
||||
checked: SettingsModel.echoCancellationEnabled
|
||||
|
||||
onClicked: {
|
||||
SettingsModel.echoCancellationEnabled = !checked
|
||||
echoCalibrationStatus.text = ''
|
||||
}
|
||||
}
|
||||
Text{
|
||||
id:echoCalibrationStatus
|
||||
text: ''
|
||||
Layout.fillWidth:true
|
||||
height:parent.height
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
TextButtonB {
|
||||
id: echoCalibration
|
||||
enabled: SettingsModel.echoCancellationEnabled
|
||||
|
||||
text: qsTr('echoCancellationCalibrationLabel')
|
||||
|
||||
onClicked: { echoCalibrationStatus.text = qsTr("calibratingEchoCancellationInProgress");//"...calibrating echo cancellation..."
|
||||
SettingsModel.startEchoCancellerCalibration();
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: SettingsModel
|
||||
|
||||
onEchoCancellationStatus:{
|
||||
switch(status){
|
||||
case 0 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationInProgress"); break;
|
||||
case 1 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationDone").replace('%1', msDelay); break;//"Calibrated in -"+msDelay+"ms"
|
||||
case 2 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationFailed"); break;//"Calibration failed"
|
||||
case 3 : echoCalibrationStatus.text = qsTr("calibratingEchoCancellationNone");//"No echo detected"
|
||||
SettingsModel.echoCancellationEnabled = false;// Calibration turn off the echo cancellation
|
||||
break;
|
||||
default:{}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Audio Codecs.
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
title: qsTr('audioCodecsTitle')
|
||||
visible: SettingsModel.showAudioCodecs || SettingsModel.developerSettingsEnabled
|
||||
width: parent.width
|
||||
|
||||
FormLine {
|
||||
visible: SettingsModel.developerSettingsEnabled
|
||||
|
||||
FormGroup {
|
||||
label: qsTr('showAudioCodecsLabel')
|
||||
|
||||
Switch {
|
||||
checked: SettingsModel.showAudioCodecs
|
||||
|
||||
onClicked: SettingsModel.showAudioCodecs = !checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CodecsViewer {
|
||||
model: AudioCodecsModel
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
pragma Singleton
|
||||
import QtQml 2.2
|
||||
import QtQuick 2.7
|
||||
|
||||
import Units 1.0
|
||||
|
||||
// =============================================================================
|
||||
QtObject {
|
||||
property int height: 320
|
||||
property int width: 450
|
||||
|
||||
property QtObject mainLayout: QtObject {
|
||||
property int topMargin: 15
|
||||
property int leftMargin: 10
|
||||
property int rightMargin: 10
|
||||
property int spacing: 0
|
||||
}
|
||||
|
||||
property QtObject timer: QtObject {
|
||||
property int iconSize: 40
|
||||
property int preferredHeight: 50
|
||||
property int preferredWidth: 50
|
||||
}
|
||||
property QtObject descriptionText: QtObject {
|
||||
property int leftMargin: 10
|
||||
property int rightMargin: 10
|
||||
property real pointSize: Units.dp * 11
|
||||
property color color: Colors.d.color
|
||||
}
|
||||
property QtObject timerPicker: QtObject {
|
||||
property int preferredWidth: 150
|
||||
property int topMargin: 10
|
||||
property int bottomMargin: 10
|
||||
}
|
||||
}
|
||||
|
|
@ -14,11 +14,12 @@ QtObject {
|
|||
property int leftMargin: 25
|
||||
property int rightMargin: 25
|
||||
property int spacing: 7
|
||||
|
||||
}
|
||||
|
||||
property QtObject searchBar : QtObject{
|
||||
property int topMargin : 10
|
||||
}
|
||||
|
||||
property QtObject results : QtObject{
|
||||
property int topMargin : 10
|
||||
property color color : Colors.g.color
|
||||
|
|
|
|||
|
|
@ -8,19 +8,42 @@ import Units 1.0
|
|||
// =============================================================================
|
||||
|
||||
QtObject {
|
||||
property QtObject okButton : QtObject{
|
||||
property QtObject backgroundColor: QtObject {
|
||||
property color disabled: Colors.i30.color
|
||||
property color hovered: Colors.b.color
|
||||
property color normal: Colors.s.color
|
||||
property color pressed: Colors.m.color
|
||||
}
|
||||
property int height: 353
|
||||
property int width: 450
|
||||
|
||||
property QtObject textColor: QtObject {
|
||||
property color disabled: Colors.q.color
|
||||
property color hovered: Colors.q.color
|
||||
property color normal: Colors.q.color
|
||||
property color pressed: Colors.q.color
|
||||
}
|
||||
}
|
||||
property QtObject mainLayout: QtObject {
|
||||
property int topMargin: 15
|
||||
property int leftMargin: 10
|
||||
property int rightMargin: 10
|
||||
property int spacing: 0
|
||||
}
|
||||
|
||||
property QtObject okButton : QtObject{
|
||||
property QtObject backgroundColor: QtObject {
|
||||
property color disabled: Colors.i30.color
|
||||
property color hovered: Colors.b.color
|
||||
property color normal: Colors.s.color
|
||||
property color pressed: Colors.m.color
|
||||
}
|
||||
|
||||
property QtObject textColor: QtObject {
|
||||
property color disabled: Colors.q.color
|
||||
property color hovered: Colors.q.color
|
||||
property color normal: Colors.q.color
|
||||
property color pressed: Colors.q.color
|
||||
}
|
||||
}
|
||||
|
||||
property QtObject securityIcon: QtObject{
|
||||
property int iconSize: 40
|
||||
property int preferredHeight: 50
|
||||
property int preferredWidth: 50
|
||||
}
|
||||
|
||||
property QtObject descriptionText: QtObject{
|
||||
property int leftMargin: 10
|
||||
property int rightMargin: 10
|
||||
property real pointSize: Units.dp * 11
|
||||
property color color: Colors.d.color
|
||||
}
|
||||
}
|
||||
|
|
@ -4,8 +4,8 @@ import QtQml 2.2
|
|||
// =============================================================================
|
||||
|
||||
QtObject {
|
||||
property int height: 353
|
||||
property int heightWithoutPresence: 284
|
||||
property int height: 383
|
||||
property int heightWithoutPresence: 314
|
||||
property int width: 450
|
||||
|
||||
property QtObject accountSelector: QtObject {
|
||||
|
|
|
|||
|
|
@ -35,10 +35,12 @@ singleton MainWindowStyle 1.0 Main/MainWindowStyl
|
|||
|
||||
singleton AboutStyle 1.0 Main/Dialogs/AboutStyle.qml
|
||||
singleton AuthenticationRequestStyle 1.0 Main/Dialogs/AuthenticationRequestStyle.qml
|
||||
singleton EphemeralChatRoomStyle 1.0 Main/Dialogs/EphemeralChatRoomStyle.qml
|
||||
singleton ManageAccountsStyle 1.0 Main/Dialogs/ManageAccountsStyle.qml
|
||||
singleton InfoChatRoomStyle 1.0 Main/Dialogs/InfoChatRoomStyle.qml
|
||||
singleton InfoEncryptionStyle 1.0 Main/Dialogs/InfoEncryptionStyle.qml
|
||||
|
||||
|
||||
# Settings Window --------------------------------------------------------------
|
||||
|
||||
singleton SettingsAdvancedStyle 1.0 Settings/SettingsAdvancedStyle.qml
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue