diff --git a/CHANGELOG.md b/CHANGELOG.md
index d901a3b2d..8e1aa36b8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Display last seen for contacts.
- New language support: Czech
- An option to set dial prefix and its use on numbers.
+- Fetch remote provisioning from URI handler and with confirmation.
## 5.0.15 - undefined
diff --git a/linphone-app/assets/languages/cs.ts b/linphone-app/assets/languages/cs.ts
index 90483c397..b08b6c24b 100644
--- a/linphone-app/assets/languages/cs.ts
+++ b/linphone-app/assets/languages/cs.ts
@@ -1823,6 +1823,11 @@ Klikněte zde: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.URI videokonference není nastaven. Abyste mohli vytvářet nové konference, musíte jej změnit v nastavení účtu.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts
index 1e76bec4c..08f9c8ae4 100644
--- a/linphone-app/assets/languages/da.ts
+++ b/linphone-app/assets/languages/da.ts
@@ -1813,6 +1813,11 @@ Klik her: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts
index dd74d13f2..d4838a083 100644
--- a/linphone-app/assets/languages/de.ts
+++ b/linphone-app/assets/languages/de.ts
@@ -1813,6 +1813,11 @@ Klicken Sie hier: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts
index 44bc9956d..28ebce10a 100644
--- a/linphone-app/assets/languages/en.ts
+++ b/linphone-app/assets/languages/en.ts
@@ -1813,6 +1813,11 @@ Click here: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.Video conference URI is not set. You have to change it in your account settings in order to create new conferences.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+ Do you want to download and apply configuration from this URL?
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts
index f34dd5941..9dea88389 100644
--- a/linphone-app/assets/languages/es.ts
+++ b/linphone-app/assets/languages/es.ts
@@ -1813,6 +1813,11 @@ Haga clic aquí: <a href="%1">%1 </a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts
index 243608499..d8385a059 100644
--- a/linphone-app/assets/languages/fr_FR.ts
+++ b/linphone-app/assets/languages/fr_FR.ts
@@ -1813,6 +1813,11 @@ Cliquez ici : <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.L'URI de conférence vidéo n'a pas été renseigné. Vous devez la mettre à jour dans les options de comptes pour pouvoir créer de nouvelles réunions.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts
index 934f16451..5b12814e6 100644
--- a/linphone-app/assets/languages/hu.ts
+++ b/linphone-app/assets/languages/hu.ts
@@ -1803,6 +1803,11 @@ Kattintson ide: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts
index 0607b09b8..0f1251582 100644
--- a/linphone-app/assets/languages/it.ts
+++ b/linphone-app/assets/languages/it.ts
@@ -1813,6 +1813,11 @@ Clicca: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.L'URI della video conferenza non è stato impostato. Devi cambiarlo nelle impostazioni del tuo account per poter creare nuove conferenze.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts
index 44b75ec40..6cf02ba2c 100644
--- a/linphone-app/assets/languages/ja.ts
+++ b/linphone-app/assets/languages/ja.ts
@@ -1803,6 +1803,11 @@
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.ビデオ会議のURIが設定されていません。新しく会議を作成するためには、アカウント設定で変更する必要があります。
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts
index 34c68dba6..d12396e7c 100644
--- a/linphone-app/assets/languages/lt.ts
+++ b/linphone-app/assets/languages/lt.ts
@@ -1823,6 +1823,11 @@ Spustelėkite čia: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts
index f4aaa8faa..d826a64fb 100644
--- a/linphone-app/assets/languages/pt_BR.ts
+++ b/linphone-app/assets/languages/pt_BR.ts
@@ -1813,6 +1813,11 @@ Clique aqui: <a href="%1">%1 </a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.A URI não está configurada para videoconferência. Você tem que mudá-lo nas configurações de sua conta a fim de criar novas conferências.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts
index 1b46e9498..0d9b445f1 100644
--- a/linphone-app/assets/languages/ru.ts
+++ b/linphone-app/assets/languages/ru.ts
@@ -1823,6 +1823,11 @@
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.URI видеоконференции не задан. Измените его в параметрах своей учётной записи, чтобы создавать новые конференции.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts
index 3cda32e05..c9a7d189a 100644
--- a/linphone-app/assets/languages/sv.ts
+++ b/linphone-app/assets/languages/sv.ts
@@ -1813,6 +1813,11 @@ Klicka här: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts
index 93dcaff17..59b39d476 100644
--- a/linphone-app/assets/languages/tr.ts
+++ b/linphone-app/assets/languages/tr.ts
@@ -1803,6 +1803,11 @@ Buraya tıklayın: <a href="%1">%1</a>
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts
index 3523d7e5f..fc05e9510 100644
--- a/linphone-app/assets/languages/uk.ts
+++ b/linphone-app/assets/languages/uk.ts
@@ -1823,6 +1823,11 @@
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts
index 6130aebd7..f13eb4be1 100644
--- a/linphone-app/assets/languages/zh_CN.ts
+++ b/linphone-app/assets/languages/zh_CN.ts
@@ -1803,6 +1803,11 @@
'Video conference URI is not set. You have to change it in your account settings in order to create new meetings.' : Tooltip to warn the user to change a setting to activate an action.
+
+ confirmFetchUri
+ 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+
+ MainWindowMenuBar
diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp
index b89685a5a..1e872707b 100644
--- a/linphone-app/src/app/App.cpp
+++ b/linphone-app/src/app/App.cpp
@@ -165,34 +165,60 @@ static inline string getConfigPathIfExists (const QCommandLineParser &parser) {
return configPath;
}
-bool App::setFetchConfig (QCommandLineParser *parser) {
- bool fetched = false;
- QString filePath = parser->value("fetch-config");
+QString App::getFetchConfig (QString filePath, bool * error) {
+ *error = false;
if( !filePath.isEmpty()){
if(QUrl(filePath).isRelative()){// this is a file path
filePath = Utils::coreStringToAppString(Paths::getConfigFilePath(filePath, false));
if(!filePath.isEmpty())
filePath = "file://"+filePath;
}
- if(!filePath.isEmpty()){
- auto instance = CoreManager::getInstance();
- if(instance){
- auto core = instance->getCore();
- if(core){
- filePath.replace('\\','/');
- if(core->setProvisioningUri(Utils::appStringToCoreString(filePath)) == 0){
- parser->process(cleanParserKeys(parser, QStringList("fetch-config")));// Remove this parameter from the parser
- fetched = true;
- }else
- fetched = false;
- }
- }
- }
- if(!fetched){
+ if(filePath.isEmpty()){
qWarning() <<"Remote provisionning cannot be retrieved. Command have beend cleaned";
- createParser();
+ *error = true;
}
}
+ return filePath;
+}
+
+QString App::getFetchConfig (QCommandLineParser *parser) {
+ QString filePath = parser->value("fetch-config");
+ bool error = false;
+ filePath = getFetchConfig(filePath, &error);
+ if(error) {
+ qWarning() <<"Remote provisionning cannot be retrieved. Command have beend cleaned";
+ createParser();
+ }else if( !filePath.isEmpty())
+ mParser->process(cleanParserKeys(mParser, QStringList("fetch-config")));// Remove this parameter from the parser
+ return filePath;
+}
+
+void App::useFetchConfig(const QString& filePath){
+ if( !filePath.isEmpty()){
+ if(CoreManager::getInstance()->getSettingsModel()->getAutoApplyProvisioningConfigUriHandlerEnabled())
+ setFetchConfig(filePath);
+ else
+ emit requestFetchConfig(filePath);
+ }
+}
+
+bool App::setFetchConfig (QString filePath) {
+ bool fetched = false;
+ qDebug() << "setFetchConfig with " << filePath;
+ if(!filePath.isEmpty()){
+ auto instance = CoreManager::getInstance();
+ if(instance){
+ auto core = instance->getCore();
+ if(core){
+ filePath.replace('\\','/');
+ fetched = core->setProvisioningUri(Utils::appStringToCoreString(filePath)) == 0;
+ }
+ }
+ }
+ if(!fetched){
+ qWarning() <<"Remote provisionning cannot be retrieved. Command have beend cleaned";
+ }else
+ restart();
return fetched;
}
// -----------------------------------------------------------------------------
@@ -255,6 +281,13 @@ App::App (int &argc, char *argv[]) : SingleApplication(argc, argv, true, Mode::U
qInfo() << QStringLiteral("Starting " APPLICATION_NAME " (bin: " EXECUTABLE_NAME ")");
qInfo() << QStringLiteral("Use locale: %1 with language: %2").arg(mLocale.name()).arg(QLocale::languageToString(mLocale.language()));
+
+ // Deal with received messages and CLI.
+ QObject::connect(this, &App::receivedMessage, this, [](int, const QByteArray &byteArray) {
+ QString command(byteArray);
+ qInfo() << QStringLiteral("Received command from other application: `%1`.").arg(command);
+ Cli::executeCommand(command);
+ });
}
App::~App () {
@@ -321,6 +354,7 @@ static QQuickWindow *createSubWindow (QQmlApplicationEngine *engine, const char
// -----------------------------------------------------------------------------
void App::initContentApp () {
+
std::string configPath;
shared_ptr config;
bool mustBeIconified = false;
@@ -329,7 +363,6 @@ void App::initContentApp () {
// Destroy qml components and linphone core if necessary.
if (mEngine) {
needRestart = false;
- setFetchConfig(mParser);
setOpened(false);
qInfo() << QStringLiteral("Restarting app...");
@@ -357,12 +390,7 @@ void App::initContentApp () {
// Don't quit if last window is closed!!!
setQuitOnLastWindowClosed(false);
- // Deal with received messages and CLI.
- QObject::connect(this, &App::receivedMessage, this, [](int, const QByteArray &byteArray) {
- QString command(byteArray);
- qInfo() << QStringLiteral("Received command from other application: `%1`.").arg(command);
- Cli::executeCommand(command);
- });
+
#ifndef Q_OS_MACOS
mustBeIconified = mParser->isSet("iconified");
@@ -453,8 +481,9 @@ void App::initContentApp () {
CoreManager::getInstance(),
&CoreManager::coreManagerInitialized, CoreManager::getInstance(),
[this, mustBeIconified]() mutable {
- if(CoreManager::getInstance()->started())
+ if(CoreManager::getInstance()->started()) {
openAppAfterInit(mustBeIconified);
+ }
}
);
@@ -1062,37 +1091,35 @@ void App::openAppAfterInit (bool mustBeIconified) {
checkForUpdates();
#endif // ifdef ENABLE_UPDATE_CHECK
-
- if(setFetchConfig(mParser))
- restart();
- else{
- // Launch call if wanted and clean parser
- if( mParser->isSet("call") && coreManager->isLastRemoteProvisioningGood()){
- QString sipAddress = mParser->value("call");
- mParser->parse(cleanParserKeys(mParser, QStringList("call")));// Clean call from parser
- if(coreManager->started()){
- coreManager->getCallsListModel()->launchAudioCall(sipAddress);
- }else{
- QObject * context = new QObject();
- QObject::connect(CoreManager::getInstance(), &CoreManager::coreManagerInitialized,context,
- [sipAddress,coreManager, context]() mutable {
- if(context){
- delete context;
- context = nullptr;
- coreManager->getCallsListModel()->launchAudioCall(sipAddress);
- }
- });
- }
+ // Launch call if wanted and clean parser
+ if( mParser->isSet("call") && coreManager->isLastRemoteProvisioningGood()){
+ QString sipAddress = mParser->value("call");
+ mParser->parse(cleanParserKeys(mParser, QStringList("call")));// Clean call from parser
+ if(coreManager->started()){
+ coreManager->getCallsListModel()->launchAudioCall(sipAddress);
+ }else{
+ QObject * context = new QObject();
+ QObject::connect(CoreManager::getInstance(), &CoreManager::coreManagerInitialized,context,
+ [sipAddress,coreManager, context]() mutable {
+ if(context){
+ delete context;
+ context = nullptr;
+ coreManager->getCallsListModel()->launchAudioCall(sipAddress);
+ }
+ });
}
-#ifndef __APPLE__
- if (!mustBeIconified)
- smartShowWindow(mainWindow);
-#else
- Q_UNUSED(mustBeIconified);
- smartShowWindow(mainWindow);
-#endif
- setOpened(true);
}
+ QString fetchFilePath = getFetchConfig(mParser);
+ mustBeIconified = mustBeIconified && fetchFilePath.isEmpty();
+#ifndef __APPLE__
+ if (!mustBeIconified)
+ smartShowWindow(mainWindow);
+#else
+ Q_UNUSED(mustBeIconified);
+ smartShowWindow(mainWindow);
+#endif
+ setOpened(true);
+ useFetchConfig(fetchFilePath);
}
// -----------------------------------------------------------------------------
diff --git a/linphone-app/src/app/App.hpp b/linphone-app/src/app/App.hpp
index 7e48b935f..8ac8958d8 100644
--- a/linphone-app/src/app/App.hpp
+++ b/linphone-app/src/app/App.hpp
@@ -63,7 +63,10 @@ public:
QString getCommandArgument ();
- bool setFetchConfig (QCommandLineParser *parser);
+ QString getFetchConfig (QString filePath, bool * error);
+ QString getFetchConfig (QCommandLineParser *parser);// Return file path of fetch-config
+ void useFetchConfig(const QString& filePath); // Check if the fetch is auto or not and make gui request if needed.
+ Q_INVOKABLE bool setFetchConfig (QString filePath); // return true if filepath has been set.
#ifdef Q_OS_MACOS
bool event (QEvent *event) override;
@@ -131,6 +134,7 @@ signals:
void autoStartChanged (bool enabled);
void opened (bool status);
+ void requestFetchConfig(QString filePath);
private:
void createParser ();
diff --git a/linphone-app/src/app/cli/Cli.cpp b/linphone-app/src/app/cli/Cli.cpp
index 941db718e..937c756ee 100644
--- a/linphone-app/src/app/cli/Cli.cpp
+++ b/linphone-app/src/app/cli/Cli.cpp
@@ -488,7 +488,7 @@ void Cli::executeCommand (const QString &command, CommandFormat *format) {
// Detect if command is a CLI by testing commands
const QString &functionName = parseFunctionName(command);
-
+ const std::string configURI = string(EXECUTABLE_NAME)+"-config";
if(!functionName.isEmpty()){// It is a CLI
qInfo() << QStringLiteral("Detecting cli command: `%1`...").arg(command);
QHash args = parseArgs(command);
@@ -505,7 +505,7 @@ void Cli::executeCommand (const QString &command, CommandFormat *format) {
}else{
scheme = tempSipAddress[0].toStdString();
bool ok = false;
- for (const string &validScheme : { string("sip"), "sip-"+string(EXECUTABLE_NAME), string("sips"), "sips-"+string(EXECUTABLE_NAME), string("tel"), string("callto"), string(EXECUTABLE_NAME)+ "-config" })
+ for (const string &validScheme : { string("sip"), "sip-"+string(EXECUTABLE_NAME), string("sips"), "sips-"+string(EXECUTABLE_NAME), string("tel"), string("callto"), configURI })
if (scheme == validScheme)
ok = true;
if( !ok){
@@ -515,18 +515,22 @@ void Cli::executeCommand (const QString &command, CommandFormat *format) {
tempSipAddress[0] = "sip";
transformedCommand = tempSipAddress.join(':');
}
- if( scheme == string(EXECUTABLE_NAME)+"-config" ){
+ if( scheme == configURI ){
QHash args = parseArgs(command);
+ QString fetchUrl;
if(args.contains("fetch-config"))
- args["fetch-config"] = QByteArray::fromBase64(args["fetch-config"].toUtf8() );
+ fetchUrl = QByteArray::fromBase64(args["fetch-config"].toUtf8() );
else {
- QUrl url(command);
- url.setScheme("https");
- args["fetch-config"] = url.toString();
+ QUrl url(command.mid(configURI.size()+1));// Remove 'exec-config:'
+ if(url.scheme().isEmpty())
+ url.setScheme("https");
+ fetchUrl = url.toString();
}
if (format)
*format = CliFormat;
- mCommands["show"].execute(args);
+ QHash dummy;
+ mCommands["show"].execute(dummy);// Just open the app.
+ App::getInstance()->useFetchConfig(fetchUrl);
}else{
shared_ptr address;
if(Utils::isUsername(transformedCommand)){
diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp
index 9b4bcb321..91eb54e0c 100644
--- a/linphone-app/src/components/settings/SettingsModel.cpp
+++ b/linphone-app/src/components/settings/SettingsModel.cpp
@@ -213,6 +213,16 @@ void SettingsModel::setFetchRemoteConfigurationEnabled (bool status) {
emit fetchRemoteConfigurationEnabledChanged(status);
}
+bool SettingsModel::getAutoApplyProvisioningConfigUriHandlerEnabled () const {
+ return !!mConfig->getInt(UiSection, "auto_apply_provisioning_config_uri_handler", 0);
+}
+
+void SettingsModel::setAutoApplyProvisioningConfigUriHandlerEnabled (bool status) {
+ mConfig->setInt(UiSection, "auto_apply_provisioning_config_uri_handler", status);
+ emit autoApplyProvisioningConfigUriHandlerEnabledChanged();
+}
+
+
// ---------------------------------------------------------------------------
bool SettingsModel::getAssistantSupportsPhoneNumbers () const {
diff --git a/linphone-app/src/components/settings/SettingsModel.hpp b/linphone-app/src/components/settings/SettingsModel.hpp
index 93fe6c62e..773198710 100644
--- a/linphone-app/src/components/settings/SettingsModel.hpp
+++ b/linphone-app/src/components/settings/SettingsModel.hpp
@@ -51,6 +51,7 @@ class SettingsModel : public QObject {
Q_PROPERTY(bool fetchRemoteConfigurationEnabled READ getFetchRemoteConfigurationEnabled WRITE setFetchRemoteConfigurationEnabled NOTIFY fetchRemoteConfigurationEnabledChanged)
Q_PROPERTY(bool useAppSipAccountEnabled READ getUseAppSipAccountEnabled WRITE setUseAppSipAccountEnabled NOTIFY useAppSipAccountEnabledChanged)
Q_PROPERTY(bool useOtherSipAccountEnabled READ getUseOtherSipAccountEnabled WRITE setUseOtherSipAccountEnabled NOTIFY useOtherSipAccountEnabledChanged)
+ Q_PROPERTY(bool autoApplyProvisioningConfigUriHandlerEnabled READ getAutoApplyProvisioningConfigUriHandlerEnabled WRITE setAutoApplyProvisioningConfigUriHandlerEnabled NOTIFY autoApplyProvisioningConfigUriHandlerEnabledChanged)
Q_PROPERTY(bool assistantSupportsPhoneNumbers READ getAssistantSupportsPhoneNumbers WRITE setAssistantSupportsPhoneNumbers NOTIFY assistantSupportsPhoneNumbersChanged)
// Webviews config
@@ -278,6 +279,9 @@ public:
bool getFetchRemoteConfigurationEnabled () const;
void setFetchRemoteConfigurationEnabled (bool status);
+ bool getAutoApplyProvisioningConfigUriHandlerEnabled () const;
+ void setAutoApplyProvisioningConfigUriHandlerEnabled (bool status);
+
bool getUseAppSipAccountEnabled () const;
void setUseAppSipAccountEnabled (bool status);
@@ -675,6 +679,7 @@ signals:
void fetchRemoteConfigurationEnabledChanged (bool status);
void useAppSipAccountEnabledChanged (bool status);
void useOtherSipAccountEnabledChanged (bool status);
+ void autoApplyProvisioningConfigUriHandlerEnabledChanged();
void assistantSupportsPhoneNumbersChanged (bool status);
diff --git a/linphone-app/ui/modules/Common/Dialog/DialogDescription.qml b/linphone-app/ui/modules/Common/Dialog/DialogDescription.qml
index efe941c41..042538086 100644
--- a/linphone-app/ui/modules/Common/Dialog/DialogDescription.qml
+++ b/linphone-app/ui/modules/Common/Dialog/DialogDescription.qml
@@ -29,6 +29,7 @@ Item {
font.pointSize: DialogStyle.description.pointSize
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
- wrapMode: Text.WordWrap
+ wrapMode: Text.Wrap
+ elide: Text.ElideRight
}
}
diff --git a/linphone-app/ui/views/App/Main/Conversation.qml b/linphone-app/ui/views/App/Main/Conversation.qml
index f6818425c..1a442c905 100644
--- a/linphone-app/ui/views/App/Main/Conversation.qml
+++ b/linphone-app/ui/views/App/Main/Conversation.qml
@@ -594,7 +594,7 @@ ColumnLayout {
anchors.left: filterButtons.right
anchors.leftMargin: 50
anchors.verticalCenter: parent.verticalCenter
- color: BusyIndicatorStyle.alternateColor
+ color: BusyIndicatorStyle.alternateColor.color
running: chatArea.tryingToLoadMoreEntries
}
diff --git a/linphone-app/ui/views/App/Main/MainWindow.qml b/linphone-app/ui/views/App/Main/MainWindow.qml
index 66b162ff1..259ac1aec 100644
--- a/linphone-app/ui/views/App/Main/MainWindow.qml
+++ b/linphone-app/ui/views/App/Main/MainWindow.qml
@@ -438,4 +438,19 @@ ApplicationWindow {
mainSearchBar.text = sipAddress
}
}
+ Connections{
+ target: App
+ onRequestFetchConfig: {
+ window.attachVirtualWindow(Utils.buildCommonDialogUri('ConfirmDialog'), {
+ flat: true,
+ //: 'Do you want to download and apply configuration from this URL?' : text to confirm to fetch a specified URL
+ descriptionText: ''+qsTr('confirmFetchUri')
+ +'