FIXES :
windows ui fix #LINQT-13-06 dialer in call fix #LINQT-1303 popup button clicked fix #LINQT-1298 chat buttons still visible force chat and broadcast features in settings (to change when features ready) fix update token verified fix zrtp popup should not appear in conf fix #LINQT-1310 participant button stays checked
This commit is contained in:
parent
0ccf340499
commit
5b9f5cb056
13 changed files with 34 additions and 26 deletions
|
|
@ -314,6 +314,7 @@ void CallCore::setSelf(QSharedPointer<CallCore> me) {
|
|||
setRemoteTokens(remoteTokens);
|
||||
setEncryption(encryption);
|
||||
setIsMismatch(isCaseMismatch);
|
||||
setTokenVerified(tokenVerified);
|
||||
});
|
||||
auto mediaEncryption = call->getParams()->getMediaEncryption();
|
||||
if (mediaEncryption == linphone::MediaEncryption::ZRTP) {
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ void CallModel::onStateChanged(const std::shared_ptr<linphone::Call> &call,
|
|||
linphone::Call::State state,
|
||||
const std::string &message) {
|
||||
lDebug() << "CallModel::onStateChanged" << (int)state;
|
||||
if (state == linphone::Call::State::StreamsRunning) {
|
||||
if (state == linphone::Call::State::Connected) {
|
||||
mDurationTimer.start();
|
||||
// After UpdatedByRemote, video direction could be changed.
|
||||
auto videoDirection = call->getCurrentParams()->getVideoDirection();
|
||||
|
|
|
|||
|
|
@ -531,7 +531,7 @@ void SettingsModel::notifyConfigReady(){
|
|||
DEFINE_NOTIFY_CONFIG_READY(syncLdapContacts, SyncLdapContacts)
|
||||
}
|
||||
|
||||
DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, disableChatFeature, DisableChatFeature, "disable_chat_feature", false)
|
||||
DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, disableChatFeature, DisableChatFeature, "disable_chat_feature", true)
|
||||
DEFINE_GETSET_CONFIG(
|
||||
SettingsModel, bool, Bool, disableMeetingsFeature, DisableMeetingsFeature, "disable_meetings_feature", false)
|
||||
DEFINE_GETSET_CONFIG(SettingsModel,
|
||||
|
|
@ -540,7 +540,7 @@ DEFINE_GETSET_CONFIG(SettingsModel,
|
|||
disableBroadcastFeature,
|
||||
DisableBroadcastFeature,
|
||||
"disable_broadcast_feature",
|
||||
false)
|
||||
true)
|
||||
DEFINE_GETSET_CONFIG(SettingsModel, bool, Bool, hideSettings, HideSettings, "hide_settings", false)
|
||||
DEFINE_GETSET_CONFIG(
|
||||
SettingsModel, bool, Bool, hideAccountSettings, HideAccountSettings, "hide_account_settings", false)
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ ListView {
|
|||
}
|
||||
Button {
|
||||
id: chatButton
|
||||
visible: actionButtons.visible && !SettingsCpp.disableChatFeature
|
||||
Layout.preferredWidth: 45 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 45 * DefaultStyle.dp
|
||||
icon.width: 24 * DefaultStyle.dp
|
||||
|
|
@ -266,6 +267,7 @@ ListView {
|
|||
z: 1
|
||||
// Layout.rightMargin: 13 * DefaultStyle.dp
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.rightMargin: 8 * DefaultStyle.dp
|
||||
popup.x: 0
|
||||
popup.padding: 10 * DefaultStyle.dp
|
||||
hoverEnabled: mainItem.hoverEnabled
|
||||
|
|
|
|||
|
|
@ -278,8 +278,8 @@ Item {
|
|||
shadowEnabled: true
|
||||
shadowColor: DefaultStyle.grey_1000
|
||||
shadowBlur: 1
|
||||
shadowOpacity: 0.3
|
||||
shadowScale: 1.05
|
||||
shadowOpacity: 0.5
|
||||
}
|
||||
RowLayout{
|
||||
anchors.right: parent.right
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ FocusScope{
|
|||
id: mainItem
|
||||
|
||||
property var currentCall
|
||||
property bool lastRowVisible: true
|
||||
|
||||
onButtonPressed: (text) => {
|
||||
if (currentCall) currentCall.core.lSendDtmf(text)
|
||||
|
|
@ -191,10 +192,12 @@ FocusScope{
|
|||
}
|
||||
}
|
||||
Item {
|
||||
visible: !mainItem.lastRowVisible
|
||||
// Invisible item to move the last two buttons to the right
|
||||
}
|
||||
Button {
|
||||
id: launchCallButton
|
||||
visible: !mainItem.lastRowVisible
|
||||
implicitWidth: 75 * DefaultStyle.dp
|
||||
implicitHeight: 55 * DefaultStyle.dp
|
||||
Layout.Layout.alignment: Qt.AlignHCenter
|
||||
|
|
@ -218,6 +221,7 @@ FocusScope{
|
|||
}
|
||||
Button {
|
||||
id: eraseButton
|
||||
visible: !mainItem.lastRowVisible
|
||||
leftPadding: 5 * DefaultStyle.dp
|
||||
rightPadding: 5 * DefaultStyle.dp
|
||||
topPadding: 5 * DefaultStyle.dp
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ FocusScope {
|
|||
}
|
||||
Button {
|
||||
id: clearTextButton
|
||||
visible: textField.text.length > 0
|
||||
visible: textField.text.length > 0 && mainItem.enabled
|
||||
background: Rectangle {
|
||||
color: "transparent"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ Control.Popup {
|
|||
bottomPadding: 18 * DefaultStyle.dp
|
||||
property bool closeButtonVisible: true
|
||||
property bool roundedBottom: false
|
||||
property bool lastRowVisible: true
|
||||
property var currentCall
|
||||
onOpened: numPad.forceActiveFocus()
|
||||
signal buttonPressed(string text)
|
||||
|
|
@ -72,12 +73,8 @@ Control.Popup {
|
|||
}
|
||||
contentItem: NumericPad{
|
||||
id: numPad
|
||||
lastRowVisible: lastRowVisible
|
||||
currentCall: mainItem.currentCall
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: 41 * DefaultStyle.dp
|
||||
anchors.bottomMargin: 18 * DefaultStyle.dp
|
||||
anchors.rightMargin: 72 * DefaultStyle.dp
|
||||
anchors.leftMargin: 72 * DefaultStyle.dp
|
||||
onButtonPressed: (text) => {
|
||||
console.log("BUTTON PRESSED NUMPAD")
|
||||
mainItem.buttonPressed(text)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ FocusScope {
|
|||
signal saveSucceed(bool isCreation)
|
||||
|
||||
ColumnLayout {
|
||||
id: formLayout
|
||||
spacing: 16 * DefaultStyle.dp
|
||||
Connections {
|
||||
target: mainItem.conferenceInfoGui.core
|
||||
function onSchedulerStateChanged() {
|
||||
|
|
@ -84,6 +86,7 @@ FocusScope {
|
|||
}
|
||||
Section {
|
||||
visible: mainItem.isCreation
|
||||
spacing: formLayout.spacing
|
||||
content: RowLayout {
|
||||
spacing: 8 * DefaultStyle.dp
|
||||
EffectImage {
|
||||
|
|
@ -108,7 +111,7 @@ FocusScope {
|
|||
}
|
||||
}
|
||||
Section {
|
||||
Layout.topMargin: 10 * DefaultStyle.dp
|
||||
spacing: formLayout.spacing
|
||||
content: [
|
||||
RowLayout {
|
||||
EffectImage {
|
||||
|
|
@ -211,6 +214,7 @@ FocusScope {
|
|||
|
||||
}
|
||||
Section {
|
||||
spacing: formLayout.spacing
|
||||
content: RowLayout {
|
||||
spacing: 8 * DefaultStyle.dp
|
||||
EffectImage {
|
||||
|
|
@ -251,6 +255,7 @@ FocusScope {
|
|||
}
|
||||
}
|
||||
Section {
|
||||
spacing: formLayout.spacing
|
||||
content: [
|
||||
Button {
|
||||
id: addParticipantsButton
|
||||
|
|
|
|||
|
|
@ -366,8 +366,7 @@ Item {
|
|||
}
|
||||
MagicSearchButton {
|
||||
id: chatButton
|
||||
// TODO : visible true when chat available
|
||||
// visible: false
|
||||
visible: !SettingsCpp.disableChatFeature
|
||||
Layout.preferredWidth: 45 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 45 * DefaultStyle.dp
|
||||
icon.source: AppIcons.chatTeardropText
|
||||
|
|
|
|||
|
|
@ -176,6 +176,10 @@ AbstractMainPage {
|
|||
}
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
removeHistory.close()
|
||||
deleteHistoryPopup.open()
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: deleteHistoryPopup
|
||||
|
|
@ -183,10 +187,6 @@ AbstractMainPage {
|
|||
if (listStackView.currentItem.listView) listStackView.currentItem.listView.model.removeAllEntries()
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
removeHistory.close()
|
||||
deleteHistoryPopup.open()
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: newCallButton
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ AbstractMainPage {
|
|||
signal returnRequested()
|
||||
signal addParticipantsValidated(list<string> selectedParticipants)
|
||||
Component.onCompleted: rightPanelStackView.push(overridenRightPanel, Control.StackView.Immediate)
|
||||
showDefaultItem: false//leftPanelStackView.currentItem.objectName === "listLayout"
|
||||
showDefaultItem: leftPanelStackView.currentItem.objectName === "listLayout" && meetingListCount === 0
|
||||
|
||||
onVisibleChanged: if (!visible) {
|
||||
leftPanelStackView.clear()
|
||||
|
|
@ -128,13 +128,6 @@ AbstractMainPage {
|
|||
Control.StackView.onActivated: {
|
||||
mainItem.selectedConference = conferenceList.selectedConference
|
||||
}
|
||||
Binding {
|
||||
target: mainItem
|
||||
when: leftPanelStackView.currentItem && leftPanelStackView.currentItem.objectName === "listLayout"
|
||||
property: "showDefaultItem"
|
||||
value: conferenceList.count === 0
|
||||
restoreMode: Binding.RestoreBindingOrValue
|
||||
}
|
||||
ColumnLayout {
|
||||
id: listLayoutIn
|
||||
anchors.fill: parent
|
||||
|
|
@ -201,6 +194,7 @@ AbstractMainPage {
|
|||
preferredHighlightBegin: height/2 - 10
|
||||
preferredHighlightEnd: height/2 + 10
|
||||
highlightRangeMode: ListView.ApplyRange
|
||||
onCountChanged: mainItem.meetingListCount = count
|
||||
searchBarText: searchBar.text
|
||||
Keys.onPressed: (event) => {
|
||||
if(event.key == Qt.Key_Escape){
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ AbstractWindow {
|
|||
middleItemStackView.replace(inCallItem)
|
||||
bottomButtonsLayout.visible = true
|
||||
}
|
||||
if(call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && (!call.core.tokenVerified || call.core.isMismatch)) {
|
||||
if(call.core.encryption === LinphoneEnums.MediaEncryption.Zrtp && !mainWindow.conference && (!call.core.tokenVerified || call.core.isMismatch)) {
|
||||
zrtpValidation.open()
|
||||
}
|
||||
}
|
||||
|
|
@ -632,6 +632,7 @@ AbstractWindow {
|
|||
placeholderText: ""
|
||||
numericPadPopup: numPadPopup
|
||||
numericPadButton.visible: false
|
||||
enabled: false
|
||||
}
|
||||
Item {
|
||||
Layout.preferredWidth: parent.width
|
||||
|
|
@ -644,6 +645,7 @@ AbstractWindow {
|
|||
roundedBottom: true
|
||||
visible: parent.visible
|
||||
currentCall: callsModel.currentCall
|
||||
lastRowVisible: false
|
||||
leftPadding: 40 * DefaultStyle.dp
|
||||
rightPadding: 40 * DefaultStyle.dp
|
||||
topPadding: 41 * DefaultStyle.dp
|
||||
|
|
@ -948,6 +950,7 @@ AbstractWindow {
|
|||
Component {
|
||||
id: participantListPanel
|
||||
Item {
|
||||
objectName: "participantListPanel"
|
||||
Keys.onPressed: (event)=> {
|
||||
if (event.key == Qt.Key_Escape) {
|
||||
rightPanel.visible = false
|
||||
|
|
@ -1417,6 +1420,7 @@ AbstractWindow {
|
|||
}
|
||||
CheckableButton {
|
||||
id: transferCallButton
|
||||
visible: !mainWindow.conference
|
||||
icon.source: AppIcons.transferCall
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
|
|
@ -1519,8 +1523,10 @@ AbstractWindow {
|
|||
icon.height: 32 * DefaultStyle.dp
|
||||
}
|
||||
CheckableButton {
|
||||
id: participantListButton
|
||||
visible: mainWindow.conference
|
||||
iconUrl: AppIcons.usersTwo
|
||||
checked: rightPanel.visible && rightPanel.currentItem.objectName == "participantListPanel"
|
||||
checkedColor: DefaultStyle.main2_400
|
||||
Layout.preferredWidth: 55 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 55 * DefaultStyle.dp
|
||||
|
|
|
|||
Loading…
Reference in a new issue