From 441d333009160e61431a2035765042bdfbe3123f Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 5 Aug 2021 09:56:15 +0200 Subject: [PATCH] Chat selection + proxy config => account (not all) --- linphone-app/src/app/App.cpp | 2 +- linphone-app/src/app/cli/Cli.cpp | 11 +++++++++-- linphone-app/src/components/core/CoreManager.cpp | 11 +++++++++++ linphone-app/ui/modules/Linphone/Chat/Message.qml | 15 ++++++++++++--- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp index 4924f141f..f7a49385e 100644 --- a/linphone-app/src/app/App.cpp +++ b/linphone-app/src/app/App.cpp @@ -950,7 +950,7 @@ void App::openAppAfterInit (bool mustBeIconified) { #endif // ifndef __APPLE__ // Display Assistant if it does not exist proxy config. - if (coreManager->getCore()->getProxyConfigList().empty()) + if (coreManager->getCore()->getAccountList().empty()) QMetaObject::invokeMethod(mainWindow, "setView", Q_ARG(QVariant, AssistantViewName), Q_ARG(QVariant, QString(""))); #ifdef ENABLE_UPDATE_CHECK diff --git a/linphone-app/src/app/cli/Cli.cpp b/linphone-app/src/app/cli/Cli.cpp index 373fd2388..66fe7cff8 100644 --- a/linphone-app/src/app/cli/Cli.cpp +++ b/linphone-app/src/app/cli/Cli.cpp @@ -96,14 +96,21 @@ static void cliJoinConferenceAs (QHash &args) { const QString fromSipAddress = args.take("guest-sip-address"); const QString toSipAddress = args.take("sip-address"); CoreManager *coreManager = CoreManager::getInstance(); - shared_ptr proxyConfig = coreManager->getCore()->getDefaultProxyConfig(); - + /*shared_ptr proxyConfig = coreManager->getCore()->getDefaultProxyConfig(); if (!proxyConfig) { qWarning() << QStringLiteral("You have no proxy config."); return; } const shared_ptr currentSipAddress = proxyConfig->getIdentityAddress(); + */ + shared_ptr account = coreManager->getCore()->getDefaultAccount(); + if (!account) { + qWarning() << QStringLiteral("You have no account."); + return; + } + + const shared_ptr currentSipAddress = account->getParams()->getIdentityAddress(); const shared_ptr askedSipAddress = linphone::Factory::get()->createAddress( Utils::appStringToCoreString(fromSipAddress) ); diff --git a/linphone-app/src/components/core/CoreManager.cpp b/linphone-app/src/components/core/CoreManager.cpp index a90e0c00b..eee1b481c 100644 --- a/linphone-app/src/components/core/CoreManager.cpp +++ b/linphone-app/src/components/core/CoreManager.cpp @@ -413,13 +413,24 @@ void CoreManager::migrate () { .arg(rcVersion).arg(RcVersionCurrent); // Add message_expires param on old proxy configs. + /* for (const auto &proxyConfig : mCore->getProxyConfigList()) { if (proxyConfig->getDomain() == LinphoneDomain) { proxyConfig->setContactParameters(DefaultContactParameters); proxyConfig->setExpires(DefaultExpires); proxyConfig->done(); } + }*/ + for(const auto &account : mCore->getAccountList()){ + auto params = account->getParams(); + if( params->getDomain() == LinphoneDomain) { + auto newParams = params->clone(); + newParams->setContactParameters(DefaultContactParameters); + newParams->setExpires(DefaultExpires); + account->setParams(newParams); + } } + config->setInt(SettingsModel::UiSection, RcVersionName, RcVersionCurrent); } diff --git a/linphone-app/ui/modules/Linphone/Chat/Message.qml b/linphone-app/ui/modules/Linphone/Chat/Message.qml index 393a00aeb..0e733b525 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Message.qml +++ b/linphone-app/ui/modules/Linphone/Chat/Message.qml @@ -79,6 +79,7 @@ Item { TextEdit { id: message + property string lastTextSelected : '' anchors { left: container.left @@ -101,19 +102,27 @@ Item { onCursorRectangleChanged: Logic.ensureVisible(cursorRectangle) onLinkActivated: Qt.openUrlExternally(link) + onSelectedTextChanged:if(selectedText != '') lastTextSelected = selectedText + onActiveFocusChanged: { + if(activeFocus) + lastTextSelected = '' + deselect() + } - onActiveFocusChanged: deselect() Menu { id: messageMenu menuStyle : MenuStyle.aux MenuItem { - text: qsTr('menuCopy') + //: 'Copy all' : Text menu to copy all message text into clipboard + text: (message.lastTextSelected == '' ? qsTr('menuCopyAll') + //: 'Copy' : Text menu to copy selected text in message into clipboard + : qsTr('menuCopy')) iconMenu: 'menu_copy_text' iconSizeMenu: 17 iconLayoutDirection: Qt.RightToLeft menuItemStyle : MenuItemStyle.aux - onTriggered: Clipboard.text = $chatEntry.content + onTriggered: Clipboard.text = (message.lastTextSelected == '' ? $chatEntry.content : message.lastTextSelected) } MenuItem {