mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-04-22 06:02:03 +02:00
callview: fullscreen to compact view revision
- add "close" icon for fullscreen exit insead of "back arrow" - fullscreen exit does not switch to welcome view - "toggle fullscreen" centralized in CallStackView - avoid using white svg images - spelling revision Gitlab: #135 Change-Id: I871b75aac22d23b33be8e177102fe68bb8bd5e86
This commit is contained in:
parent
930b1ff443
commit
5a07055708
8 changed files with 62 additions and 40 deletions
|
@ -28,7 +28,7 @@ import "../../commoncomponents"
|
|||
Popup {
|
||||
id: root
|
||||
|
||||
property bool toogleUpdatePopupHeight: false
|
||||
property bool toggleUpdatePopupHeight: false
|
||||
|
||||
y: accountComboBox.height - 1
|
||||
implicitWidth: accountComboBox.width - 1
|
||||
|
|
|
@ -97,7 +97,7 @@ Rectangle {
|
|||
|
||||
acceptedButtons: Qt.LeftButton
|
||||
|
||||
onDoubleClicked: showFullScreenReqested()
|
||||
onDoubleClicked: callStackView.toggleFullScreen()
|
||||
|
||||
CallOverlay {
|
||||
id: audioCallOverlay
|
||||
|
|
|
@ -171,18 +171,27 @@ Rectangle {
|
|||
Layout.topMargin: JamiTheme.preferredMarginSize
|
||||
Layout.leftMargin: JamiTheme.preferredMarginSize
|
||||
|
||||
source: "qrc:/images/icons/arrow_back-white-24dp.svg"
|
||||
|
||||
source: callStackView.isFullscreen ? "qrc:/images/icons/round-close-24px.svg" :
|
||||
"qrc:/images/icons/ic_arrow_back_24px.svg"
|
||||
|
||||
pressedColor: JamiTheme.invertedPressedButtonColor
|
||||
hoveredColor: JamiTheme.invertedHoveredButtonColor
|
||||
normalColor: JamiTheme.invertedNormalButtonColor
|
||||
|
||||
imageColor: JamiTheme.whiteColor
|
||||
|
||||
toolTipText: qsTr("Toggle to display side panel")
|
||||
|
||||
visible: mainViewWindow.sidePanelOnly
|
||||
|
||||
onClicked: mainViewWindow.showWelcomeView()
|
||||
|
||||
onClicked: {
|
||||
if (callStackView.isFullscreen) {
|
||||
callStackView.toggleFullScreen()
|
||||
} else {
|
||||
mainViewWindow.showWelcomeView()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
|
|
|
@ -30,6 +30,15 @@ import "../js/callfullscreenwindowcontainercreation.js" as CallFullScreenWindowC
|
|||
Rectangle {
|
||||
id: callStackViewWindow
|
||||
|
||||
property bool isFullscreen: false
|
||||
|
||||
enum StackNumber {
|
||||
IncomingPageStack,
|
||||
OutgoingPageStack,
|
||||
AudioPageStack,
|
||||
VideoPageStack
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Shortcut {
|
||||
|
@ -69,7 +78,7 @@ Rectangle {
|
|||
|
||||
function showAudioCallPage() {
|
||||
var itemToFind = callStackMainView.find(function (item) {
|
||||
return item.stackNumber === 0
|
||||
return item.stackNumber === CallStackView.AudioPageStack
|
||||
})
|
||||
|
||||
if (!itemToFind) {
|
||||
|
@ -82,7 +91,7 @@ Rectangle {
|
|||
|
||||
function showOutgoingCallPage() {
|
||||
var itemToFind = callStackMainView.find(function (item) {
|
||||
return item.stackNumber === 1
|
||||
return item.stackNumber === CallStackView.OutgoingPageStack
|
||||
})
|
||||
|
||||
if (!itemToFind) {
|
||||
|
@ -94,7 +103,7 @@ Rectangle {
|
|||
|
||||
function showIncomingCallPage(accountId, convUid) {
|
||||
var itemToFind = callStackMainView.find(function (item) {
|
||||
return item.stackNumber === 3
|
||||
return item.stackNumber === CallStackView.IncomingPageStack
|
||||
})
|
||||
|
||||
if (!itemToFind) {
|
||||
|
@ -109,7 +118,7 @@ Rectangle {
|
|||
|
||||
function showVideoCallPage() {
|
||||
var itemToFind = callStackMainView.find(function (item) {
|
||||
return item.stackNumber === 2
|
||||
return item.stackNumber === CallStackView.VideoPageStack
|
||||
})
|
||||
|
||||
if (!itemToFind) {
|
||||
|
@ -123,18 +132,24 @@ Rectangle {
|
|||
videoCallPage.setDistantRendererId(callId)
|
||||
}
|
||||
|
||||
function toogleFullScreen(callPage){
|
||||
callPage.isFullscreen = !callPage.isFullscreen
|
||||
function toggleFullScreen() {
|
||||
isFullscreen = !isFullscreen
|
||||
var callPage = callStackMainView.currentItem
|
||||
CallFullScreenWindowContainerCreation.createvideoCallFullScreenWindowContainerObject()
|
||||
|
||||
if (!CallFullScreenWindowContainerCreation.checkIfVisible()) {
|
||||
CallFullScreenWindowContainerCreation.setAsContainerChild(
|
||||
callPage)
|
||||
CallFullScreenWindowContainerCreation.setAsContainerChild(callPage)
|
||||
CallFullScreenWindowContainerCreation.showVideoCallFullScreenWindowContainer()
|
||||
} else {
|
||||
callPage.parent = callStackMainView
|
||||
CallFullScreenWindowContainerCreation.closeVideoCallFullScreenWindowContainer()
|
||||
}
|
||||
|
||||
if (callStackMainView.find(function (item) {
|
||||
return item.stackNumber === CallStackView.VideoPageStack
|
||||
})) {
|
||||
videoCallPage.handleParticipantsInfo(CallAdapter.getConferencesInfos())
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
@ -157,16 +172,13 @@ Rectangle {
|
|||
AudioCallPage {
|
||||
id: audioCallPage
|
||||
|
||||
property int stackNumber: 0
|
||||
property bool isFullscreen: false
|
||||
|
||||
onShowFullScreenReqested: toogleFullScreen(this)
|
||||
property int stackNumber: CallStackView.AudioPageStack
|
||||
}
|
||||
|
||||
OutgoingCallPage {
|
||||
id: outgoingCallPage
|
||||
|
||||
property int stackNumber: 1
|
||||
property int stackNumber: CallStackView.OutgoingPageStack
|
||||
|
||||
onCallCancelButtonIsClicked: {
|
||||
CallAdapter.hangUpACall(responsibleAccountId, responsibleConvUid)
|
||||
|
@ -176,19 +188,14 @@ Rectangle {
|
|||
VideoCallPage {
|
||||
id: videoCallPage
|
||||
|
||||
property int stackNumber: 2
|
||||
property bool isFullscreen: false
|
||||
property int stackNumber: CallStackView.VideoPageStack
|
||||
|
||||
onShowFullScreenReqested: {
|
||||
toogleFullScreen(this)
|
||||
videoCallPage.handleParticipantsInfo(CallAdapter.getConferencesInfos())
|
||||
}
|
||||
}
|
||||
|
||||
IncomingCallPage {
|
||||
id: incomingCallPage
|
||||
|
||||
property int stackNumber: 3
|
||||
property int stackNumber: CallStackView.IncomingPageStack
|
||||
|
||||
onCallAcceptButtonIsClicked: {
|
||||
CallAdapter.acceptACall(responsibleAccountId, responsibleConvUid)
|
||||
|
|
|
@ -73,23 +73,23 @@ Item {
|
|||
})
|
||||
|
||||
if (isAudioOnly && !isPaused)
|
||||
ContextMenuGenerator.addMenuItem(audioCallPage.isFullscreen ? JamiStrings.exitFullScreen :
|
||||
ContextMenuGenerator.addMenuItem(callStackView.isFullscreen ? JamiStrings.exitFullScreen :
|
||||
JamiStrings.fullScreen,
|
||||
audioCallPage.isFullscreen ?
|
||||
callStackView.isFullscreen ?
|
||||
"qrc:/images/icons/close_fullscreen-24px.svg" :
|
||||
"qrc:/images/icons/open_in_full-24px.svg",
|
||||
function (){
|
||||
audioCallPage.showFullScreenReqested()
|
||||
callStackView.toggleFullScreen()
|
||||
})
|
||||
|
||||
if (!isAudioOnly && !isPaused) {
|
||||
ContextMenuGenerator.addMenuItem(videoCallPage.isFullscreen ? JamiStrings.exitFullScreen :
|
||||
ContextMenuGenerator.addMenuItem(callStackView.isFullscreen ? JamiStrings.exitFullScreen :
|
||||
JamiStrings.fullScreen,
|
||||
videoCallPage.isFullscreen ?
|
||||
callStackView.isFullscreen ?
|
||||
"qrc:/images/icons/close_fullscreen-24px.svg" :
|
||||
"qrc:/images/icons/open_in_full-24px.svg",
|
||||
function (){
|
||||
videoCallPage.showFullScreenReqested()
|
||||
callStackView.toggleFullScreen()
|
||||
})
|
||||
|
||||
ContextMenuGenerator.addMenuSeparator()
|
||||
|
|
|
@ -58,12 +58,14 @@ Rectangle {
|
|||
Layout.topMargin: JamiTheme.preferredMarginSize
|
||||
Layout.leftMargin: JamiTheme.preferredMarginSize
|
||||
|
||||
source: "qrc:/images/icons/arrow_back-white-24dp.svg"
|
||||
source: "qrc:/images/icons/ic_arrow_back_24px.svg"
|
||||
|
||||
pressedColor: JamiTheme.invertedPressedButtonColor
|
||||
hoveredColor: JamiTheme.invertedHoveredButtonColor
|
||||
normalColor: JamiTheme.invertedNormalButtonColor
|
||||
|
||||
imageColor: JamiTheme.whiteColor
|
||||
|
||||
toolTipText: qsTr("Toggle to display side panel")
|
||||
|
||||
visible: mainViewWindow.sidePanelOnly
|
||||
|
|
|
@ -79,7 +79,8 @@ Rectangle {
|
|||
|
||||
function handleParticipantsInfo(infos) {
|
||||
if (infos.length === 0) {
|
||||
bestName = UtilsAdapter.getBestName(accountId, convUid)
|
||||
bestName = UtilsAdapter.getBestName(AccountAdapter.currentAccountId,
|
||||
UtilsAdapter.getCurrConvId())
|
||||
} else {
|
||||
bestName = ""
|
||||
}
|
||||
|
@ -139,7 +140,9 @@ Rectangle {
|
|||
handle: Rectangle {
|
||||
implicitWidth: videoCallPageRect.width
|
||||
implicitHeight: JamiTheme.splitViewHandlePreferredWidth
|
||||
color: SplitHandle.pressed ? JamiTheme.pressColor : (SplitHandle.hovered ? JamiTheme.hoverColor : JamiTheme.tabbarBorderColor)
|
||||
color: SplitHandle.pressed ? JamiTheme.pressColor :
|
||||
(SplitHandle.hovered ? JamiTheme.hoverColor :
|
||||
JamiTheme.tabbarBorderColor)
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
|
@ -155,7 +158,7 @@ Rectangle {
|
|||
|
||||
acceptedButtons: Qt.LeftButton
|
||||
|
||||
onDoubleClicked: showFullScreenReqested()
|
||||
onDoubleClicked: callStackView.toggleFullScreen()
|
||||
|
||||
CallOverlay {
|
||||
id: videoCallOverlay
|
||||
|
@ -170,7 +173,8 @@ Rectangle {
|
|||
videoCallOverlay.setRecording(CallAdapter.isRecordingThisCall())
|
||||
}
|
||||
|
||||
function onUpdateOverlay(isPaused, isAudioOnly, isAudioMuted, isVideoMuted, isRecording, isSIP, isConferenceCall, bestName) {
|
||||
function onUpdateOverlay(isPaused, isAudioOnly, isAudioMuted, isVideoMuted,
|
||||
isRecording, isSIP, isConferenceCall, bestName) {
|
||||
videoCallOverlay.showOnHoldImage(isPaused)
|
||||
videoCallOverlay.updateButtonStatus(isPaused,
|
||||
isAudioOnly,
|
||||
|
|
|
@ -50,8 +50,8 @@ ColumnLayout {
|
|||
enableSDESToggle.checked = (SettingsAdapter.getAccountConfig_SRTP_KeyExchange() === Account.KeyExchangeProtocol.SDES)
|
||||
fallbackRTPToggle.checked = SettingsAdapter.getAccountConfig_SRTP_RtpFallback()
|
||||
encryptNegotitationToggle.checked = SettingsAdapter.getAccountConfig_TLS_Enable()
|
||||
verifyIncomingCertificatesServerToogle.checked = SettingsAdapter.getAccountConfig_TLS_VerifyServer()
|
||||
verifyIncomingCertificatesClientToogle.checked = SettingsAdapter.getAccountConfig_TLS_VerifyClient()
|
||||
verifyIncomingCertificatesServerToggle.checked = SettingsAdapter.getAccountConfig_TLS_VerifyServer()
|
||||
verifyIncomingCertificatesClientToggle.checked = SettingsAdapter.getAccountConfig_TLS_VerifyClient()
|
||||
requireCeritificateForTLSIncomingToggle.checked = SettingsAdapter.getAccountConfig_TLS_RequireClientCertificate()
|
||||
|
||||
var method = SettingsAdapter.getAccountConfig_TLS_Method_inInt()
|
||||
|
@ -245,7 +245,7 @@ ColumnLayout {
|
|||
}
|
||||
|
||||
ToggleSwitch {
|
||||
id: verifyIncomingCertificatesServerToogle
|
||||
id: verifyIncomingCertificatesServerToggle
|
||||
|
||||
labelText: JamiStrings.verifyCertificatesServer
|
||||
fontPointSize: JamiTheme.settingsFontSize
|
||||
|
@ -256,7 +256,7 @@ ColumnLayout {
|
|||
}
|
||||
|
||||
ToggleSwitch {
|
||||
id: verifyIncomingCertificatesClientToogle
|
||||
id: verifyIncomingCertificatesClientToggle
|
||||
|
||||
labelText: JamiStrings.verifyCertificatesClient
|
||||
fontPointSize: JamiTheme.settingsFontSize
|
||||
|
|
Loading…
Add table
Reference in a new issue