mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
fix #LINQT-1672 connection when another softphone is using the same sip address (try to let the OS choose the port to listen to)
fix empty root ca path : try to create file if doesn't exist fix #LINQT-1671 loading indicator call history remove clang from nightly fix #LINQT-1667 add time before closing window when call ends
This commit is contained in:
parent
f5c939d671
commit
e620af3f3e
8 changed files with 35 additions and 30 deletions
|
|
@ -34,7 +34,7 @@ ubuntu2004-makefile-gcc:
|
|||
ubuntu2004-ninja-clang:
|
||||
rules:
|
||||
- !reference [.rules-merge-request-manual, rules]
|
||||
- if: $NIGHTLY_MASTER && $LINUX_NINJA
|
||||
- if: $NIGHTLY_MASTER == null
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Ninja
|
||||
|
|
@ -46,7 +46,7 @@ ubuntu2004-ninja-clang:
|
|||
ubuntu2004-ninja-clang-small:
|
||||
rules:
|
||||
- !reference [.rules-merge-request-manual, rules]
|
||||
- if: $NIGHTLY_MASTER && $LINUX_NINJA
|
||||
- if: $NIGHTLY_MASTER == null
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO -DENABLE_PQCRYPTO=OFF
|
||||
extends: ubuntu2004-ninja-clang
|
||||
|
|
|
|||
|
|
@ -162,6 +162,10 @@ static inline QString getAppRootCaFilePath() {
|
|||
QString rootca = getAppPackageDataDirPath() + Constants::PathRootCa;
|
||||
if (Paths::filePathExists(rootca)) { // Packaged
|
||||
return rootca;
|
||||
} else {
|
||||
QFile rootCaFile(rootca);
|
||||
if (rootCaFile.open(QIODevice::ReadWrite))
|
||||
return rootca;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,17 @@ void CoreModel::start() {
|
|||
config->setInt("video", "capture", 1);
|
||||
config->setInt("video", "display", 1);
|
||||
}
|
||||
|
||||
// TODO : set the real transport type when sdk will be updated
|
||||
// for now, we need to let the OS choose the port to listen on
|
||||
// so that the user can be connected to linphone and another softphone
|
||||
// at the same time (otherwise it tries to listen on the same port as
|
||||
// the other software)
|
||||
auto transports = mCore->getTransports();
|
||||
transports->setTcpPort(-2);
|
||||
transports->setUdpPort(-2);
|
||||
transports->setTlsPort(-2);
|
||||
mCore->setTransports(transports);
|
||||
mCore->enableVideoPreview(false); // SDK doesn't write the state in configuration if not ready.
|
||||
config->setInt("video", "show_local", 0); // So : write ourself to turn off camera before starting the core.
|
||||
QString userAgent = ToolModel::computeUserAgent(config);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ SettingsModel::SettingsModel() {
|
|||
QObject::connect(CoreModel::getInstance().get(), &CoreModel::defaultAccountChanged, this,
|
||||
[this](const std::shared_ptr<linphone::Core> &core, const std::shared_ptr<linphone::Account> account) {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
setDisableMeetingsFeature(!account->getParams()->getAudioVideoConferenceFactoryAddress());
|
||||
setDisableMeetingsFeature(account && !account->getParams()->getAudioVideoConferenceFactoryAddress());
|
||||
});
|
||||
auto defaultAccount = core->getDefaultAccount();
|
||||
setDisableMeetingsFeature(defaultAccount && !defaultAccount->getParams()->getAudioVideoConferenceFactoryAddress());
|
||||
|
|
|
|||
|
|
@ -116,6 +116,7 @@ Control.Button {
|
|||
}
|
||||
|
||||
component ButtonImage: EffectImage {
|
||||
asynchronous: mainItem.asynchronous
|
||||
imageSource: mainItem.icon.source
|
||||
imageWidth: mainItem.icon.width
|
||||
imageHeight: mainItem.icon.height
|
||||
|
|
|
|||
|
|
@ -23,10 +23,12 @@ ListView {
|
|||
loading = false
|
||||
// contentY = 0
|
||||
}
|
||||
onSearchTextChanged: loading = true
|
||||
|
||||
model: CallHistoryProxy {
|
||||
id: callHistoryProxy
|
||||
Component.onCompleted: {
|
||||
loading = true
|
||||
}
|
||||
filterText: mainItem.searchText
|
||||
onFilterTextChanged: maxDisplayItems = initialDisplayItems
|
||||
initialDisplayItems: Math.max(
|
||||
|
|
@ -106,14 +108,22 @@ ListView {
|
|||
currentIndex = -1
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
anchors.horizontalCenter: mainItem.horizontalCenter
|
||||
visible: mainItem.loading
|
||||
height: visible ? mainItem.busyIndicatorSize : 0
|
||||
width: mainItem.busyIndicatorSize
|
||||
indicatorHeight: mainItem.busyIndicatorSize
|
||||
indicatorWidth: mainItem.busyIndicatorSize
|
||||
indicatorColor: DefaultStyle.main1_500_main
|
||||
}
|
||||
|
||||
// Qt bug: sometimes, containsMouse may not be send and update on each MouseArea.
|
||||
// So we need to use this variable to switch off all hovered items.
|
||||
property int lastMouseContainsIndex: -1
|
||||
delegate: FocusScope {
|
||||
width: mainItem.width
|
||||
height: 56 * DefaultStyle.dp
|
||||
visible: !!modelData
|
||||
|
||||
RowLayout {
|
||||
z: 1
|
||||
anchors.fill: parent
|
||||
|
|
@ -130,6 +140,7 @@ ListView {
|
|||
height: 45 * DefaultStyle.dp
|
||||
isConference: modelData.core.isConference
|
||||
shadowEnabled: false
|
||||
asynchronous: false
|
||||
}
|
||||
ColumnLayout {
|
||||
Layout.fillHeight: true
|
||||
|
|
@ -195,6 +206,7 @@ ListView {
|
|||
icon.source: AppIcons.phone
|
||||
focus: true
|
||||
activeFocusOnTab: false
|
||||
asynchronous: false
|
||||
onClicked: {
|
||||
if (modelData.core.isConference) {
|
||||
var callsWindow = UtilsCpp.getCallsWindow()
|
||||
|
|
|
|||
|
|
@ -236,18 +236,6 @@ AbstractMainPage {
|
|||
searchBar: searchBar
|
||||
Control.ScrollBar.vertical: scrollbar
|
||||
|
||||
BusyIndicator {
|
||||
anchors.horizontalCenter: historyListView.horizontalCenter
|
||||
visible: historyListView.loading
|
||||
&& historyListView.count === 0
|
||||
&& searchBar.text.length === 0
|
||||
height: visible ? historyListView.busyIndicatorSize : 0
|
||||
width: historyListView.busyIndicatorSize
|
||||
indicatorHeight: historyListView.busyIndicatorSize
|
||||
indicatorWidth: historyListView.busyIndicatorSize
|
||||
indicatorColor: DefaultStyle.main1_500_main
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: mainItem
|
||||
function onListViewUpdated() {
|
||||
|
|
@ -630,17 +618,6 @@ ConferenceInfoGui{
|
|||
searchText: mainItem.selectedRowHistoryGui ? mainItem.selectedRowHistoryGui.core.remoteAddress : ""
|
||||
busyIndicatorSize: 40 * DefaultStyle.dp
|
||||
|
||||
BusyIndicator {
|
||||
anchors.horizontalCenter: detailListView.horizontalCenter
|
||||
visible: detailListView.loading
|
||||
&& detailListView.count === 0
|
||||
height: visible ? detailListView.busyIndicatorSize : 0
|
||||
width: detailListView.busyIndicatorSize
|
||||
indicatorHeight: detailListView.busyIndicatorSize
|
||||
indicatorWidth: detailListView.busyIndicatorSize
|
||||
indicatorColor: DefaultStyle.main1_500_main
|
||||
}
|
||||
|
||||
delegate: Item {
|
||||
width: detailListView.width
|
||||
height: 56 * DefaultStyle.dp
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ AbstractWindow {
|
|||
|
||||
Timer {
|
||||
id: autoCloseWindow
|
||||
interval: mainWindow.callTerminatedByUser ? 1000 : 2000
|
||||
interval: mainWindow.callTerminatedByUser ? 1500 : 2500
|
||||
onTriggered: {
|
||||
UtilsCpp.closeCallsWindow()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue