diff --git a/linphone-app/assets/languages/cs.ts b/linphone-app/assets/languages/cs.ts index cbcac7010..827ce8c3c 100644 --- a/linphone-app/assets/languages/cs.ts +++ b/linphone-app/assets/languages/cs.ts @@ -2261,7 +2261,7 @@ Klikněte zde: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 již není admin diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index cc3cffce7..7b29baae9 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -2250,7 +2250,7 @@ Klik her: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index c05a5e760..a8e54b7ad 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -2250,7 +2250,7 @@ Klicken Sie hier: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 ist nicht mehr Administrator diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 84619a2c7..ef54284c7 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -2250,8 +2250,8 @@ Click here: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody - %1 is no more an admin + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + %1 is no longer an admin conferenceSecurityEvent diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 42702c9b2..9ff693bf4 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -2250,7 +2250,7 @@ Haga clic aquí: <a href="%1">%1 </a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 79682359f..f33a3bef0 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -2250,7 +2250,7 @@ Cliquez ici : <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 n'est plus admin diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index ba3537cab..8c5b0bf99 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -2238,7 +2238,7 @@ Kattintson ide: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 most rendszergazdai jogosultság eltávolított diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 5173999c4..35272be81 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -2250,7 +2250,7 @@ Clicca: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 non è più un amministratore diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 7825a1c1e..cefd8f1e5 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -2238,7 +2238,7 @@ conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 は現在管理者ではありません diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index f015fd728..8708731b3 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -2262,7 +2262,7 @@ Spustelėkite čia: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index fd9f3e1e9..ca1a867ec 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -2250,7 +2250,7 @@ Clique aqui: <a href="%1">%1 </a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 não é mais um administrador diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 24a89a2d3..f4732e473 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -2262,7 +2262,7 @@ conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 больше не администратор diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 916df6c6a..7f89d3cc9 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -2250,7 +2250,7 @@ Klicka här: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index dc8a0e5f2..8321ae7cc 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -2238,7 +2238,7 @@ Buraya tıklayın: <a href="%1">%1</a> conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 artık yönetici değil diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 442a6cb2e..d821295de 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -2262,7 +2262,7 @@ conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index 553bef147..523bde806 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -2238,7 +2238,7 @@ conferencePArticipantUnsetAdminEvent - '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody %1 不再是管理员 diff --git a/linphone-app/src/components/calls/CallsListModel.cpp b/linphone-app/src/components/calls/CallsListModel.cpp index 84ee1a0a4..18a89b834 100644 --- a/linphone-app/src/components/calls/CallsListModel.cpp +++ b/linphone-app/src/components/calls/CallsListModel.cpp @@ -267,13 +267,6 @@ bool CallsListModel::createSecureChat (const QString& subject, const QString &pa qInfo() << "Create secure ChatRoom: " << subject << ", from " << QString::fromStdString(localAddress->asString()) << " and with " < chatRoom = core->createChatRoom(params, localAddress, participants); - if(chatRoom) { - int ephemeralTime = CoreManager::getInstance()->getSettingsModel()->getCreateEphemeralChatRooms(); - if( ephemeralTime>0){ - chatRoom->setEphemeralLifetime(ephemeralTime); - chatRoom->enableEphemeral(true); - } - } // Still needed? // if( chatRoom != nullptr){ // auto timelineList = CoreManager::getInstance()->getTimelineListModel(); diff --git a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp index 8438e6432..f8e1bafef 100644 --- a/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp +++ b/linphone-app/src/components/conferenceInfo/ConferenceInfoModel.cpp @@ -134,7 +134,7 @@ void ConferenceInfoModel::initDateTime(){ setDuration(0); }else{ setDateTime(QDateTime::currentDateTimeUtc()); - setDuration(1200); + setDuration(120); } } @@ -185,7 +185,7 @@ QString ConferenceInfoModel::displayNamesToString()const{ QString ConferenceInfoModel::getUri() const{ auto address = mConferenceInfo->getUri(); - return address->isValid() && !address->getDomain().empty() ? QString::fromStdString(address->asStringUriOnly()) : ""; + return address && address->isValid() && !address->getDomain().empty() ? QString::fromStdString(address->asStringUriOnly()) : ""; } bool ConferenceInfoModel::isScheduled() const{ diff --git a/linphone-app/src/components/timeline/TimelineListModel.cpp b/linphone-app/src/components/timeline/TimelineListModel.cpp index 98455b035..d78eae62f 100644 --- a/linphone-app/src/components/timeline/TimelineListModel.cpp +++ b/linphone-app/src/components/timeline/TimelineListModel.cpp @@ -396,10 +396,17 @@ void TimelineListModel::onChatRoomRead(const std::shared_ptr void TimelineListModel::onChatRoomStateChanged(const std::shared_ptr &chatRoom,linphone::ChatRoom::State state){ if( state == linphone::ChatRoom::State::Created && !getTimeline(chatRoom, false)){// Create a new Timeline if needed + if( chatRoom->hasCapability((int)linphone::ChatRoomCapabilities::Conference) && !chatRoom->ephemeralEnabled()) { + int ephemeralTime = CoreManager::getInstance()->getSettingsModel()->getCreateEphemeralChatRooms(); + if( ephemeralTime>0){ + chatRoom->setEphemeralLifetime(ephemeralTime); + chatRoom->enableEphemeral(true); + } + } QSharedPointer model = TimelineModel::create(this, chatRoom); if(model){ connect(model.get(), SIGNAL(selectedChanged(bool)), this, SLOT(onSelectedHasChanged(bool))); - add(model); + add(model); } }else if(state == linphone::ChatRoom::State::Deleted || state == linphone::ChatRoom::State::Terminated){ auto timeline = getTimeline(chatRoom, false); diff --git a/linphone-app/ui/modules/Common/Dialog/DateTimeDialog.qml b/linphone-app/ui/modules/Common/Dialog/DateTimeDialog.qml index 4fff38c18..2845c4198 100644 --- a/linphone-app/ui/modules/Common/Dialog/DateTimeDialog.qml +++ b/linphone-app/ui/modules/Common/Dialog/DateTimeDialog.qml @@ -13,7 +13,7 @@ import Utils 1.0 DialogPlus { id: mainItem height: timePicker.visible ? 575 : 500 - width: 500 + width: 550 property alias hideOldDates: datePicker.hideOldDates diff --git a/linphone-app/ui/modules/Common/Picker/DatePicker.qml b/linphone-app/ui/modules/Common/Picker/DatePicker.qml index 115f0118a..a1231935c 100644 --- a/linphone-app/ui/modules/Common/Picker/DatePicker.qml +++ b/linphone-app/ui/modules/Common/Picker/DatePicker.qml @@ -120,7 +120,7 @@ Item{ Rectangle { // index is 0 to 48 anchors.centerIn: parent - width: Math.max(text.implicitWidth, text.implicitHeight) + 20 + width: Math.min(parent.width, Math.max(text.implicitWidth, text.implicitHeight) + 20) height: width //border.width: 0.3 * radius border.width: 2 diff --git a/linphone-app/ui/modules/Linphone/Chat/Chat.js b/linphone-app/ui/modules/Linphone/Chat/Chat.js index 82f4c5b19..77bc1346c 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Chat.js +++ b/linphone-app/ui/modules/Linphone/Chat/Chat.js @@ -88,7 +88,7 @@ function forwardMessage(chatRoomModel, chatEntry, chatRoomConfig){ }, function (status) { if (status) { if(!chatRoomModel) { - var chat = CallsListModel.createChatRoom( chatRoomConfig.subject, chatRoomConfig.haveEncryption, chatRoomConfig.participants, chatRoomConfig.toSelect) + var chat = Linphone.CallsListModel.createChatRoom( chatRoomConfig.subject, chatRoomConfig.haveEncryption, chatRoomConfig.participants, chatRoomConfig.toSelect) if(chat) chatRoomModel = chat.chatRoomModel } diff --git a/linphone-app/ui/modules/Linphone/Chat/Notice.qml b/linphone-app/ui/modules/Linphone/Chat/Notice.qml index d3a48080f..8fbfb485e 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Notice.qml +++ b/linphone-app/ui/modules/Linphone/Chat/Notice.qml @@ -52,7 +52,7 @@ RowLayout{ return qsTr('conferenceParticipantSetAdminEvent'); } if (status == LinphoneEnums.EventLogTypeConferenceParticipantUnsetAdmin) { - //: '%1 is no more an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody + //: '%1 is no longer an admin' : Little message to show on the event when somebody lost its admin status. %1 is somebody return qsTr('conferencePArticipantUnsetAdminEvent'); } if (status == LinphoneEnums.EventLogTypeConferenceParticipantDeviceAdded) { diff --git a/linphone-app/ui/views/App/Calls/Incall.qml b/linphone-app/ui/views/App/Calls/Incall.qml index 784e7cd85..3c787c3fa 100644 --- a/linphone-app/ui/views/App/Calls/Incall.qml +++ b/linphone-app/ui/views/App/Calls/Incall.qml @@ -448,15 +448,17 @@ Rectangle { height: IncallStyle.buttons.secure.buttonSize width: height isCustom: true - iconIsCustom: ! (callModel.isSecured && SettingsModel.isPostQuantumAvailable && callModel.encryption === CallModel.CallEncryptionZrtp) + iconIsCustom: ! (callModel.isSecured) backgroundRadius: width/2 - colorSet: callModel.isSecured - ? SettingsModel.isPostQuantumAvailable && callModel.encryption === CallModel.CallEncryptionZrtp && callModel.isPQZrtp == CallModel.CallPQStateOn - ? IncallStyle.buttons.postQuantumSecure - : IncallStyle.buttons.secure - : IncallStyle.buttons.unsecure - + colorSet: callModel.encryption === CallModel.CallEncryptionNone + ? IncallStyle.buttons.unsecure + : callModel.isSecured + ? SettingsModel.isPostQuantumAvailable && callModel.encryption === CallModel.CallEncryptionZrtp && callModel.isPQZrtp == CallModel.CallPQStateOn + ? IncallStyle.buttons.postQuantumSecure + : IncallStyle.buttons.secure2 + : IncallStyle.buttons.secure + onColorSetChanged:console.log(colorSet.icon) onClicked: if(callModel.encryption === CallModel.CallEncryptionZrtp){ window.attachVirtualWindow(Utils.buildLinphoneDialogUri('ZrtpTokenAuthenticationDialog'), {call:callModel}) } diff --git a/linphone-app/ui/views/App/Dialog/NewConference.qml b/linphone-app/ui/views/App/Dialog/NewConference.qml index 050f7a958..23bcb57b0 100644 --- a/linphone-app/ui/views/App/Dialog/NewConference.qml +++ b/linphone-app/ui/views/App/Dialog/NewConference.qml @@ -179,7 +179,7 @@ DialogPlus { : qsTr('updateConferenceTitle') height: window.height - 100 - width: window.width - 100 + width: window.width - 50 expandHeight: true // --------------------------------------------------------------------------- @@ -346,7 +346,13 @@ DialogPlus { ComboBox{ id: durationField Layout.preferredWidth: parent.cellWidth; - currentIndex: conferenceManager.conferenceInfoModel && conferenceManager.conferenceInfoModel.duration >= 1800 ? conferenceManager.conferenceInfoModel.duration / 1800 - 1 : 1 + currentIndex: !conferenceManager.conferenceInfoModel + ? 1 + : conferenceManager.conferenceInfoModel.duration >= 240 + ? 3 + : Number(Utils.findIndex(model, function (duration) { + return duration.value === conferenceManager.conferenceInfoModel.duration + })) model: [{text:Utils.formatDuration(30*60), value:30} ,{text:Utils.formatDuration(60*60), value:60} ,{text:Utils.formatDuration(120*60), value:120} @@ -475,7 +481,8 @@ DialogPlus { secure: SettingsModel.secureChatEnabled, visible: true, secureIconVisibleHandler : function(entry) { - return entry && entry.sipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) : false + return false; + //return entry && entry.sipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) : false }, handler: function (entry) { if(entry){ diff --git a/linphone-app/ui/views/App/Main/Conversation.qml b/linphone-app/ui/views/App/Main/Conversation.qml index 969d51c24..7cf6016d4 100644 --- a/linphone-app/ui/views/App/Main/Conversation.qml +++ b/linphone-app/ui/views/App/Main/Conversation.qml @@ -36,7 +36,7 @@ ColumnLayout { property int securityLevel : chatRoomModel ? chatRoomModel.securityLevel : 1 - property SipAddressObserver _sipAddressObserver: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:peerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) + property SipAddressObserver _sipAddressObserver: SipAddressesModel.getSipAddressObserver((fullPeerAddress?fullPeerAddress:defaultPeerAddress), (fullLocalAddress?fullLocalAddress:localAddress)) property bool haveMoreThanOneParticipants: chatRoomModel ? chatRoomModel.participants.count > 2 : false property bool haveLessThanMinParticipantsForCall: chatRoomModel ? chatRoomModel.participants.count <= 5 : false diff --git a/linphone-app/ui/views/App/Main/Dialogs/AuthenticationRequest.qml b/linphone-app/ui/views/App/Main/Dialogs/AuthenticationRequest.qml index 2b68a3685..56d0c2498 100644 --- a/linphone-app/ui/views/App/Main/Dialogs/AuthenticationRequest.qml +++ b/linphone-app/ui/views/App/Main/Dialogs/AuthenticationRequest.qml @@ -1,7 +1,8 @@ import QtQuick 2.7 import Common 1.0 - +import Linphone 1.0 +import UtilsCpp 1.0 import App.Styles 1.0 import 'AuthenticationRequest.js' as Logic @@ -12,7 +13,7 @@ DialogPlus { id: dialog property alias realm: realm.text - property alias sipAddress: identity.text + property alias sipAddress: identity.hiddenText property alias userId: userId.text property var authInfo @@ -52,13 +53,15 @@ DialogPlus { TextField { id: identity - + property string hiddenText + text: UtilsCpp.toDisplayString(identity.hiddenText, SettingsModel.sipDisplayMode) readOnly: true } } } FormLine { + visible: SettingsModel.sipDisplayMode == UtilsCpp.SIP_DISPLAY_ALL FormGroup { label: qsTr('realmLabel') diff --git a/linphone-app/ui/views/App/Styles/Calls/IncallStyle.qml b/linphone-app/ui/views/App/Styles/Calls/IncallStyle.qml index 4071a3e6b..21a2e0077 100644 --- a/linphone-app/ui/views/App/Styles/Calls/IncallStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/IncallStyle.qml @@ -292,6 +292,21 @@ QtObject { property var foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 's') property var foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_c', icon, 's') } + property QtObject secure2: QtObject { + property int buttonSize: 40 + property int iconSize: 20 + property string icon : 'secure_level_2' + property string name : 'secure2' + + property var backgroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_n', icon, '', '', '#66727B') + property var backgroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_h', icon, '', '', '#66727B') + property var backgroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_p', icon, '', '', '#66727B') + property var backgroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_c', icon, '', '', '#66727B') + property var foregroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_n', icon, 's') + property var foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 's') + property var foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 's') + property var foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_c', icon, 's') + } property QtObject postQuantumSecure: QtObject { property int buttonSize: 40 property int iconSize: 20