diff --git a/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml
index 51c05990f..e40259ddb 100644
--- a/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml
+++ b/.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml
@@ -161,9 +161,21 @@ job-ubuntu1804-makefile-gcc-deploy:
- $NIGHTLY_MASTER
- $DEPLOY_LINUX
script:
- - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
- - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
- - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
+# Going to folder in order to avoid having path in checksum
+ - |-
+ cd build/OUTPUT/Packages
+ for file in $(find . -type f -name '*.AppImage' -exec basename {} \;)
+ do
+ rsync -rlv --ignore-existing $file $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
+ sha512sum $file > $file.sha512
+ rsync -rlv --ignore-existing $file.sha512 $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
+ done
+ cd ../../..
+ - |-
+ if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
+ rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
+ rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
+ fi
job-ubuntu1804-makefile-gcc-plugins-deploy:
diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/job-macosx-desktop.yml
index ff283f2d6..ee456c0ef 100644
--- a/.gitlab-ci-files/job-macosx-desktop.yml
+++ b/.gitlab-ci-files/job-macosx-desktop.yml
@@ -139,7 +139,7 @@ job-macosx-codesigning:
job-macosx-makefile-deploy:
stage: deploy
- tags: [ "macos-xcode13" ]
+ tags: [ "deploy" ]
needs:
- job-macosx-codesigning
only:
@@ -147,7 +147,16 @@ job-macosx-makefile-deploy:
- $NIGHTLY_MASTER
- $DEPLOY_MACOSX
script:
- - rsync -rlv --ignore-existing build/OUTPUT/linphone-app/macos/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
+# Going to folder in order to avoid having path in checksum
+ - |-
+ cd build/OUTPUT/linphone-app/macos/Packages/
+ for file in $(find . -type f -name '*.dmg' -exec basename {} \;)
+ do
+ rsync -rlv --ignore-existing $file $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
+ sha512sum $file > $file.sha512
+ rsync -rlv --ignore-existing $file.sha512 $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
+ done
+ cd ../../../../..
- |-
if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
rsync -rlv build/OUTPUT/linphone-app/macos/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
diff --git a/.gitlab-ci-files/job-windows-desktop.yml b/.gitlab-ci-files/job-windows-desktop.yml
index 01bdc3cb3..cc29fdb9d 100644
--- a/.gitlab-ci-files/job-windows-desktop.yml
+++ b/.gitlab-ci-files/job-windows-desktop.yml
@@ -167,16 +167,28 @@ vs2019-win64-package:
vs2019-win64-upload:
stage: deploy
- tags: [ "windows-powershell"]
+ tags: [ "deploy"]
rules:
- if: $NIGHTLY_MASTER
- if: $DEPLOY_WINDOWS
needs:
- vs2019-win64-package
script:
- - scp -pr build-desktop/OUTPUT/Packages/*.exe ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/${APP_FOLDER}
- - if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
- - if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${MAIN_DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
+# Going to folder in order to avoid having path in checksum
+ - |-
+ cd build-desktop/OUTPUT/Packages/
+ for file in $(find . -type f -name '*.exe' -exec basename {} \;)
+ do
+ rsync -rlv --ignore-existing $file $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$WINDOWS_PLATFORM/$APP_FOLDER
+ sha512sum $file > $file.sha512
+ rsync -rlv --ignore-existing $file.sha512 $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$WINDOWS_PLATFORM/$APP_FOLDER
+ done
+ cd ../../..
+ - |-
+ if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
+ rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$WINDOWS_PLATFORM
+ rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$WINDOWS_PLATFORM
+ fi
vs2019-win64-plugins-upload:
stage: deploy
diff --git a/external/ispell b/external/ispell
index 061c7e52b..05574fe16 160000
--- a/external/ispell
+++ b/external/ispell
@@ -1 +1 @@
-Subproject commit 061c7e52b507f146396c3b08f289c88ca598fc2f
+Subproject commit 05574fe160222c3d0b6283c1433c9b087271fad1
diff --git a/linphone-app/assets/languages/cs.ts b/linphone-app/assets/languages/cs.ts
index b7956b8d2..4010512e0 100644
--- a/linphone-app/assets/languages/cs.ts
+++ b/linphone-app/assets/languages/cs.ts
@@ -1995,6 +1995,26 @@ Klikněte zde: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
Otevřít schůzky
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2020,6 +2040,11 @@ Klikněte zde: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Nahrávky
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2045,6 +2070,11 @@ Klikněte zde: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Nahrávky
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3837,6 +3867,11 @@ Klikněte zde: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
Obnovení vyskakovacích oken
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -4024,6 +4059,29 @@ Klikněte zde: <a href="%1">%1</a>
PŘIDAT KONTAKT
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5208,6 +5266,175 @@ Klikněte zde: <a href="%1">%1</a>
%1 vteřin
+
+ okButton
+ OK
+
+
+
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
+
+ newVersionCheckError
+ Při kontrole nové verze došlo k chybě. Zkuste to později nebo kontaktujte podporu, pokud problém přetrvává.
+
+
+ newVersionAvailableInstructions
+ Chcete-li upgradovat na novou verzi, stáhněte si balíček a nainstalujte jej místo stávající verze
+
+
+ downloadUpdate
+ Stáhnout
+
+
+ noNewVersionAvailable
+ Vaše aplikace je aktuální.
+
+
+ newVersionInstalled
+ Nová verze aplikace byla úspěšně nainstalována.
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
+
+
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
+
+ newVersionCheckError
+ Při kontrole nové verze došlo k chybě. Zkuste to později nebo kontaktujte podporu, pokud problém přetrvává.
+
+
+ newVersionAvailableInstructions
+ Chcete-li upgradovat na novou verzi, stáhněte si balíček a nainstalujte jej místo stávající verze
+
+
+ downloadUpdate
+ Stáhnout
+
+
+ noNewVersionAvailable
+ Vaše aplikace je aktuální.
+
+
+ newVersionInstalled
+ Nová verze aplikace byla úspěšně nainstalována.
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
+
+
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
+
+ newVersionCheckError
+ Při kontrole nové verze došlo k chybě. Zkuste to později nebo kontaktujte podporu, pokud problém přetrvává.
+
+
+ newVersionAvailableInstructions
+ Chcete-li upgradovat na novou verzi, stáhněte si balíček a nainstalujte jej místo stávající verze
+
+
+ downloadUpdate
+ Stáhnout
+
+
+ noNewVersionAvailable
+ Vaše aplikace je aktuální.
+
+
+ newVersionInstalled
+ Nová verze aplikace byla úspěšně nainstalována.
+
+
+ spellCheckingMenuDidYouMean
+ Chtěl jste říct?
+
+
+ spellCheckingMenuAddToDictionary
+ Přidat do slovníku
+
+
+ spellCheckingMenuIgnoreOnce
+ Ignorovat
+
+
+ spellCheckingMenuIgnoreAll
+ Ignorovat vždy
+
diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts
index 9882e467b..328c06d37 100644
--- a/linphone-app/assets/languages/da.ts
+++ b/linphone-app/assets/languages/da.ts
@@ -1497,7 +1497,6 @@ Server url ikke konfigureret.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Klik her: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ En ny version (%1) er tilgængelig!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ ANNULLER
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Klik her: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Klik her: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Klik her: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Klik her: <a href="%1">%1</a>
OPRET KONTAKT
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Klik her: <a href="%1">%1</a>
+
+ okButton
+
+
diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts
index fa01528d0..7415d1d42 100644
--- a/linphone-app/assets/languages/de.ts
+++ b/linphone-app/assets/languages/de.ts
@@ -1497,7 +1497,6 @@ Server URL ist nicht konfiguriert.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Klicken Sie hier: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ Letzte Fernkonfiguration fehlgeschlagen
+
+
+ newVersionAvailable
+ Eine neue Version (%1) ist verfügbar!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Klicken Sie hier: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Aufzeichnungen
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Klicken Sie hier: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Aufzeichnungen
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Klicken Sie hier: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Klicken Sie hier: <a href="%1">%1</a>
KONTAKT HINZUFÜGEN
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Klicken Sie hier: <a href="%1">%1</a>
%1 Sekunden
+
+ okButton
+ OK
+
diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts
index 258302fcf..6f99490d6 100644
--- a/linphone-app/assets/languages/en.ts
+++ b/linphone-app/assets/languages/en.ts
@@ -1923,24 +1923,24 @@ Click here: <a href="%1">%1</a>
MainWindow
- newVersionCheckError
- An error occured checking for a new version. Try again later or contact support if problem persists.
+ newVersionCheckError
+ An error occured checking for a new version. Try again later or contact support if problem persists.
- newVersionAvailableInstructions
- To upgrade to the new version, download the package and install it over the existing one
+ newVersionAvailableInstructions
+ To upgrade to the new version, download the package and install it over the existing one
- downloadUpdate
- Download
+ downloadUpdate
+ Download
- noNewVersionAvailable
- Your application is up to date.
+ noNewVersionAvailable
+ Your application is up to date.
- newVersionInstalled
- New application version successfully installed.
+ newVersionInstalled
+ New application version successfully installed.
mainSearchBarPlaceholder
@@ -2003,6 +2003,22 @@ Click here: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
Open meetings
+
+ lastProvisioningFailed
+ Remote provisioning failed. The link might be used or expired. If it was provided to you, please contact your administrator.
+
+
+ newVersionAvailable
+ A new version (%1) is available!
+
+
+ cancel
+ Cancel
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account.
+
MainWindowMenuBar
@@ -2028,6 +2044,11 @@ Click here: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Recordings
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+ Export %1.desktop file to applications
+
MainWindowTopMenuBar
@@ -2053,6 +2074,11 @@ Click here: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Recordings
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+ Export %1.desktop file to applications
+
ManageAccounts
@@ -3843,6 +3869,11 @@ Click here: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
Restore asking popups
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+ Spell Checker
+
SettingsVideo
@@ -4030,6 +4061,29 @@ Click here: <a href="%1">%1</a>
ADD CONTACT
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+ Did you mean ?
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+ Add to Dictionnary
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+ Ignore Once
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+ Ignore All
+
+
Timeline
@@ -5207,24 +5261,9 @@ Click here: <a href="%1">%1</a>
%1 seconds
-
-
- SpellCheckerMenu
- spellCheckingMenuDidYouMean
- Did you mean ?
-
-
- spellCheckingMenuAddToDictionary
- Add to Dictionnary
-
-
- spellCheckingMenuIgnoreOnce
- Ignore Once
-
-
- spellCheckingMenuIgnoreAll
- Ignore All
+ okButton
+ OK
diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts
index e896cc8d6..c5de931b6 100644
--- a/linphone-app/assets/languages/es.ts
+++ b/linphone-app/assets/languages/es.ts
@@ -1497,7 +1497,6 @@ URL del servidor no configurada.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Haga clic aquí: <a href="%1">%1 </a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ ¡Una nueva versión (%1) está disponible!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ CANCELAR
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Haga clic aquí: <a href="%1">%1 </a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Haga clic aquí: <a href="%1">%1 </a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Haga clic aquí: <a href="%1">%1 </a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Haga clic aquí: <a href="%1">%1 </a>
AÑADIR CONTACTO
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Haga clic aquí: <a href="%1">%1 </a>
+
+ okButton
+
+
diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts
index 3ac8eb623..504cdbae0 100644
--- a/linphone-app/assets/languages/fr_FR.ts
+++ b/linphone-app/assets/languages/fr_FR.ts
@@ -1923,24 +1923,24 @@ Cliquez ici : <a href="%1">%1</a>
MainWindow
- newVersionCheckError
- Une erreur est survenue. Merci de réessayer plus tard ou de contacter le support.
+ newVersionCheckError
+ Une erreur est survenue. Merci de réessayer plus tard ou de contacter le support.
- newVersionAvailableInstructions
- Pour mettre à jour télécharger l'application et lancer l'installeur.
+ newVersionAvailableInstructions
+ Pour mettre à jour télécharger l'application et lancer l'installeur.
- downloadUpdate
- Télécharger
+ downloadUpdate
+ Télécharger
- noNewVersionAvailable
- Votre application est à jour.
+ noNewVersionAvailable
+ Votre application est à jour.
- newVersionInstalled
- La nouvelle version de l'application a été installée avec succès.
+ newVersionInstalled
+ La nouvelle version de l'application a été installée avec succès.
mainSearchBarPlaceholder
@@ -2003,6 +2003,22 @@ Cliquez ici : <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ Erreur de récupération de la configuration distante. Le lien de configuration a peut-être déjà été utilisé ou a expiré. Merci de contacter un administrateur si ce lien vous a été fourni.
+
+
+ newVersionAvailable
+ Une nouvelle version (%1) est disponible !
+
+
+ cancel
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ Un compte est déjà configuré. Cette action effacera le compte existant.
+
MainWindowMenuBar
@@ -2028,6 +2044,11 @@ Cliquez ici : <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Enregistrements
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2053,6 +2074,11 @@ Cliquez ici : <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
Enregistrements
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3818,6 +3844,11 @@ Cliquez ici : <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
Restaurer les popups de confirmation
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -4005,6 +4036,29 @@ Cliquez ici : <a href="%1">%1</a>
AJOUTER CE CONTACT
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+ Voulez-vous dire ?
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+ Ajouter au Dictionnaire
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+ Ignorer une fois
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+ Ignorer tout
+
+
Timeline
@@ -5182,24 +5236,9 @@ Cliquez ici : <a href="%1">%1</a>
%1 secondes
-
-
- SpellCheckerMenu
- spellCheckingMenuDidYouMean
- Voulez-vous dire ?
-
-
- spellCheckingMenuAddToDictionary
- Ajouter au Dictionnaire
-
-
- spellCheckingMenuIgnoreOnce
- Ignorer une fois
-
-
- spellCheckingMenuIgnoreAll
- Ignorer tout
+ okButton
+ OK
diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts
index c5a7b8bfe..d220cb88c 100644
--- a/linphone-app/assets/languages/hu.ts
+++ b/linphone-app/assets/languages/hu.ts
@@ -1486,7 +1486,6 @@ A kiszolgáló URL-je nincs konfigurálva.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1973,6 +1972,42 @@ Kattintson ide: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ Az utolsó távoli kiépítés nem sikerült
+
+
+ newVersionAvailable
+ Egy új frissítés (%1) érhető el!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ Mégse
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -1998,6 +2033,11 @@ Kattintson ide: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2023,6 +2063,11 @@ Kattintson ide: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3785,6 +3830,11 @@ Kattintson ide: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3972,6 +4022,29 @@ Kattintson ide: <a href="%1">%1</a>
Névjegy hozzáadása
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5142,5 +5215,9 @@ Kattintson ide: <a href="%1">%1</a>
+
+ okButton
+ Rendben
+
diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts
index 85c9aa884..7f26b25c9 100644
--- a/linphone-app/assets/languages/it.ts
+++ b/linphone-app/assets/languages/it.ts
@@ -1497,7 +1497,6 @@ URL del server non configurato.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Clicca: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ L'ultima configurazione remota è fallita
+
+
+ newVersionAvailable
+ È disponibile una nuova versione (%1)!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Clicca: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Clicca: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Clicca: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Clicca: <a href="%1">%1</a>
AGGIUNGI UN CONTATTO
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Clicca: <a href="%1">%1</a>
+
+ okButton
+ OK
+
diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts
index d328ac793..1b16a0e64 100644
--- a/linphone-app/assets/languages/ja.ts
+++ b/linphone-app/assets/languages/ja.ts
@@ -1486,7 +1486,6 @@
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1973,6 +1972,42 @@
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ 最後のリモートプロビジョニングに失敗
+
+
+ newVersionAvailable
+ 新しいバージョン (%1) が利用可能です!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ キャンセル
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -1998,6 +2033,11 @@
'Recordings' : Label for the recordings menu.
録音
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2023,6 +2063,11 @@
'Recordings' : Label for the recordings menu.
録音
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3785,6 +3830,11 @@
'Restore asking popups' : Text button for restoring asking popups.
質問ポップアップの復元
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3972,6 +4022,29 @@
連絡先に追加
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5142,5 +5215,9 @@
%1 秒
+
+ okButton
+ OK
+
diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts
index fd8dac505..7e768d0a2 100644
--- a/linphone-app/assets/languages/lt.ts
+++ b/linphone-app/assets/languages/lt.ts
@@ -1508,10 +1508,9 @@ Nesukonfigūruotas serverio url.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
-
+
lastProvisioningFailed
'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed.
@@ -1995,6 +1994,42 @@ Spustelėkite čia: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ Yra prieinama nauja versija (%1)!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ ATSISAKYTI
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2020,6 +2055,11 @@ Spustelėkite čia: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2045,6 +2085,11 @@ Spustelėkite čia: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3813,6 +3858,11 @@ Spustelėkite čia: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -4000,6 +4050,29 @@ Spustelėkite čia: <a href="%1">%1</a>
PRIDĖTI KONTAKTĄ
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5184,5 +5257,9 @@ Spustelėkite čia: <a href="%1">%1</a>
+
+ okButton
+
+
diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts
index e32dc41d3..b07f3139d 100644
--- a/linphone-app/assets/languages/pt_BR.ts
+++ b/linphone-app/assets/languages/pt_BR.ts
@@ -1497,7 +1497,6 @@ URL do servidor não configurado.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Clique aqui: <a href="%1">%1 </a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ O último provisionamento remoto falhou
+
+
+ newVersionAvailable
+ Está disponível uma nova versão (%1)!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Clique aqui: <a href="%1">%1 </a>
'Recordings' : Label for the recordings menu.
Gravações
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Clique aqui: <a href="%1">%1 </a>
'Recordings' : Label for the recordings menu.
Gravações
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Clique aqui: <a href="%1">%1 </a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Clique aqui: <a href="%1">%1 </a>
ADICIONAR CONTATO
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Clique aqui: <a href="%1">%1 </a>
%1 segundos
+
+ okButton
+ OK
+
diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts
index d82f3df75..f21fbc900 100644
--- a/linphone-app/assets/languages/ru.ts
+++ b/linphone-app/assets/languages/ru.ts
@@ -1508,7 +1508,6 @@
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1995,6 +1994,42 @@
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ Последняя удалённая инициализация не удалась
+
+
+ newVersionAvailable
+ Доступна новая (%1) версия!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2020,6 +2055,11 @@
'Recordings' : Label for the recordings menu.
Записи
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2045,6 +2085,11 @@
'Recordings' : Label for the recordings menu.
Записи
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3813,6 +3858,11 @@
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -4000,6 +4050,29 @@
ДОБАВИТЬ КОНТАКТ
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5184,5 +5257,9 @@
%1 секунд
+
+ okButton
+ ОК
+
diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts
index 635c7d165..befde22b4 100644
--- a/linphone-app/assets/languages/sv.ts
+++ b/linphone-app/assets/languages/sv.ts
@@ -1497,7 +1497,6 @@ Serverwebbadressen är inte konfigurerad.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1984,6 +1983,42 @@ Klicka här: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ En ny version (%1) är tillgänglig!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ AVBRYT
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2009,6 +2044,11 @@ Klicka här: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2034,6 +2074,11 @@ Klicka här: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3799,6 +3844,11 @@ Klicka här: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3986,6 +4036,29 @@ Klicka här: <a href="%1">%1</a>
LÄGG TILL KONTAKT
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5163,5 +5236,9 @@ Klicka här: <a href="%1">%1</a>
+
+ okButton
+
+
diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts
index aa8513264..a34e88dec 100644
--- a/linphone-app/assets/languages/tr.ts
+++ b/linphone-app/assets/languages/tr.ts
@@ -1486,7 +1486,6 @@ Sunucu url'si yapılandırılmadı.
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1973,6 +1972,42 @@ Buraya tıklayın: <a href="%1">%1</a>
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+ Son uzaktan ön hazırlık başarısız
+
+
+ newVersionAvailable
+ Yeni sürüm (%1) var!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -1998,6 +2033,11 @@ Buraya tıklayın: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2023,6 +2063,11 @@ Buraya tıklayın: <a href="%1">%1</a>
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3785,6 +3830,11 @@ Buraya tıklayın: <a href="%1">%1</a>
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3972,6 +4022,29 @@ Buraya tıklayın: <a href="%1">%1</a>
KİŞİ EKLE
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5142,5 +5215,9 @@ Buraya tıklayın: <a href="%1">%1</a>
+
+ okButton
+ TAMAM
+
diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts
index 82ba1b1fd..48e7b91a1 100644
--- a/linphone-app/assets/languages/uk.ts
+++ b/linphone-app/assets/languages/uk.ts
@@ -1994,6 +1994,42 @@
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ Доступна нова (%1) версія!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ СКАСУВАТИ
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -2019,6 +2055,11 @@
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2044,6 +2085,11 @@
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3812,6 +3858,11 @@
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3999,6 +4050,29 @@
ДОДАТИ КОНТАКТ
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5183,5 +5257,9 @@
+
+ okButton
+
+
diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts
index 2e4ea1df0..cb50a0553 100644
--- a/linphone-app/assets/languages/zh_CN.ts
+++ b/linphone-app/assets/languages/zh_CN.ts
@@ -1486,7 +1486,6 @@
remoteProvisioningWarnAccountOverwrite
- 'An account is already provisioned. This action will erase the existing account. : Warn user about it.
An account is already provisioned. This action will erase the existing account. : Warn user about it.
@@ -1973,6 +1972,42 @@
'Open meetings' : Tooltip for a button that open the meetings list
+
+ lastProvisioningFailed
+
+
+
+ newVersionAvailable
+ 新版本( %1 )可用!
+
+
+ newVersionAvailableInstructions
+
+
+
+ cancel
+ 取消
+
+
+ downloadUpdate
+
+
+
+ newVersionCheckError
+
+
+
+ noNewVersionAvailable
+
+
+
+ newVersionInstalled
+
+
+
+ remoteProvisioningWarnAccountOverwrite
+ An account is already provisioned. This action will erase the existing account. : Warn user about it.
+
MainWindowMenuBar
@@ -1998,6 +2033,11 @@
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
MainWindowTopMenuBar
@@ -2023,6 +2063,11 @@
'Recordings' : Label for the recordings menu.
+
+ exportDesktopFile
+ 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+
+
ManageAccounts
@@ -3785,6 +3830,11 @@
'Restore asking popups' : Text button for restoring asking popups.
+
+ spellCheckerLabel
+ 'Spell Checker' : label for spell checker settings
+
+
SettingsVideo
@@ -3972,6 +4022,29 @@
添加联系人
+
+ SpellCheckerMenu
+
+ spellCheckingMenuDidYouMean
+ 'Did you mean ?' : Suggest new words
+
+
+
+ spellCheckingMenuAddToDictionary
+ 'Add to dictionary' : Add word to dictionary
+
+
+
+ spellCheckingMenuIgnoreOnce
+ 'Ignore Once' : Ignore spell checking only for this occurences
+
+
+
+ spellCheckingMenuIgnoreAll
+ 'Ignore All' : Ignore spell checking for all occurences
+
+
+
Timeline
@@ -5142,5 +5215,9 @@
+
+ okButton
+ 好
+
diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp
index e85c834bc..8c9bdf1f8 100644
--- a/linphone-app/src/app/App.cpp
+++ b/linphone-app/src/app/App.cpp
@@ -73,6 +73,7 @@ using namespace std;
namespace {
#ifdef Q_OS_LINUX
const QString AutoStartDirectory(QDir::homePath().append(QStringLiteral("/.config/autostart/")));
+const QString ApplicationsDirectory(QDir::homePath().append(QStringLiteral("/.local/share/applications/")));
#elif defined(Q_OS_MACOS)
const QString OsascriptExecutable(QStringLiteral("osascript"));
#else
@@ -464,6 +465,7 @@ void App::initContentApp () {
mEngine->addImageProvider(ThumbnailProvider::ProviderId, new ThumbnailProvider());
mEngine->rootContext()->setContextProperty("applicationName", APPLICATION_NAME);
+ mEngine->rootContext()->setContextProperty("executableName", EXECUTABLE_NAME);
#ifdef APPLICATION_URL
mEngine->rootContext()->setContextProperty("applicationUrl", APPLICATION_URL);
@@ -997,23 +999,37 @@ void App::setAutoStart (bool enabled) {
}
const QString confPath(AutoStartDirectory + EXECUTABLE_NAME ".desktop");
+ if(generateDesktopFile(confPath, !enabled)) {
+ mAutoStart = enabled;
+ emit autoStartChanged(enabled);
+ }
+}
+void App::exportDesktopFile(){
+ QDir dir(ApplicationsDirectory);
+ if (!dir.exists() && !dir.mkpath(ApplicationsDirectory)) {
+ qWarning() << QStringLiteral("Unable to build applications dir path: `%1`.").arg(ApplicationsDirectory);
+ return;
+ }
+
+ const QString confPath(ApplicationsDirectory + EXECUTABLE_NAME ".desktop");
+ if(generateDesktopFile(confPath, true))
+ generateDesktopFile(confPath, false);
+}
+bool App::generateDesktopFile(const QString& confPath, bool remove){
qInfo() << QStringLiteral("Updating `%1`...").arg(confPath);
QFile file(confPath);
- if (!enabled) {
+ if (remove) {
if (file.exists() && !file.remove()) {
qWarning() << QLatin1String("Unable to remove autostart file: `" EXECUTABLE_NAME ".desktop`.");
- return;
+ return false;
}
-
- mAutoStart = enabled;
- emit autoStartChanged(enabled);
- return;
+ return true;
}
if (!file.open(QFile::WriteOnly)) {
qWarning() << "Unable to open autostart file: `" EXECUTABLE_NAME ".desktop`.";
- return;
+ return false;
}
const QString binPath(applicationFilePath());
@@ -1044,11 +1060,10 @@ void App::setAutoStart (bool enabled) {
"Exec=" + exec + " --iconified\n"
"Terminal=false\n"
"Categories=Network;Telephony;\n"
- "MimeType=x-scheme-handler/sip-" EXECUTABLE_NAME ";x-scheme-handler/sip;x-scheme-handler/sips-" EXECUTABLE_NAME ";x-scheme-handler/sips;x-scheme-handler/tel;x-scheme-handler/callto;\n"
+ "MimeType=x-scheme-handler/sip-" EXECUTABLE_NAME ";x-scheme-handler/sip;x-scheme-handler/sips-" EXECUTABLE_NAME ";x-scheme-handler/sips;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/" EXECUTABLE_NAME "-config;\n"
+ "X-PulseAudio-Properties=media.role=phone\n"
);
-
- mAutoStart = enabled;
- emit autoStartChanged(enabled);
+ return true;
}
#elif defined(Q_OS_MACOS)
@@ -1208,3 +1223,11 @@ bool App::isPdfAvailable(){
return false;
#endif
}
+
+bool App::isLinux(){
+#ifdef Q_OS_LINUX
+ return true;
+#else
+ return false;
+#endif
+}
diff --git a/linphone-app/src/app/App.hpp b/linphone-app/src/app/App.hpp
index 2fc5b36a6..352c158f2 100644
--- a/linphone-app/src/app/App.hpp
+++ b/linphone-app/src/app/App.hpp
@@ -127,6 +127,11 @@ public:
// Check module availability when no dependencies are needed (else use SettingsModel)
Q_INVOKABLE static bool isPdfAvailable();
+ Q_INVOKABLE static bool isLinux();
+#ifdef Q_OS_LINUX
+ Q_INVOKABLE void exportDesktopFile();
+ bool generateDesktopFile(const QString& confPath, bool remove);
+#endif
public slots:
void stateChanged(Qt::ApplicationState);
diff --git a/linphone-app/src/components/assistant/AssistantModel.cpp b/linphone-app/src/components/assistant/AssistantModel.cpp
index 0feb3d939..5f0d5f4e3 100644
--- a/linphone-app/src/components/assistant/AssistantModel.cpp
+++ b/linphone-app/src/components/assistant/AssistantModel.cpp
@@ -33,7 +33,7 @@
#endif
#ifdef ENABLE_QRCODE
-#include
+#include
#endif
#include
@@ -410,7 +410,7 @@ void AssistantModel::login () {
return;
}
- mAccountCreator->setAsDefault(false);
+ mAccountCreator->setAsDefault(true);
auto account = mAccountCreator->createAccountInCore();
if(account){
auto listener = std::make_shared(this);
@@ -532,28 +532,28 @@ void AssistantModel::createTestAccount(){
}
void AssistantModel::generateQRCode(){
#ifdef ENABLE_QRCODE
- auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
+ auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
flexiAPIClient
->accountProvision()
- ->then([this](FlexiAPIClient::Response response){
+ ->then([this](LinphonePrivate::FlexiAPIClient::Response response){
emit newQRCodeReceived(response.json()["provisioning_token"].asCString());
})
- ->error([this](FlexiAPIClient::Response response){
+ ->error([this](LinphonePrivate::FlexiAPIClient::Response response){
emit newQRCodeNotReceived(Utils::coreStringToAppString(response.body), response.code);
});
#endif
}
void AssistantModel::requestQRCode(){
#ifdef ENABLE_QRCODE
- auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
+ auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
flexiAPIClient
->accountAuthTokenCreate()
- ->then([this](FlexiAPIClient::Response response) {
+ ->then([this](LinphonePrivate::FlexiAPIClient::Response response) {
mToken = response.json()["token"].asCString();
emit newQRCodeReceived(mToken);
QTimer::singleShot(5000, this, &AssistantModel::checkLinkingAccount);
- })->error([this](FlexiAPIClient::Response response){
+ })->error([this](LinphonePrivate::FlexiAPIClient::Response response){
qWarning() << response.code << " => " << response.body.c_str();
emit newQRCodeNotReceived(Utils::coreStringToAppString(response.body), response.code);
});
@@ -568,12 +568,12 @@ void AssistantModel::newQRCodeNotReceivedTest(){
}
void AssistantModel::checkLinkingAccount(){
#ifdef ENABLE_QRCODE
- auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
+ auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
flexiAPIClient
->accountApiKeyFromAuthTokenGenerate(mToken.toStdString())
- ->then([this](FlexiAPIClient::Response response)mutable{
+ ->then([this](LinphonePrivate::FlexiAPIClient::Response response)mutable{
emit apiReceived(Utils::coreStringToAppString(response.json()["api_key"].asCString()));
- })->error([this](FlexiAPIClient::Response){
+ })->error([this](LinphonePrivate::FlexiAPIClient::Response){
QTimer::singleShot(5000, this, &AssistantModel::checkLinkingAccount);
});
#endif
@@ -581,12 +581,12 @@ void AssistantModel::checkLinkingAccount(){
void AssistantModel::onApiReceived(QString apiKey){
#ifdef ENABLE_QRCODE
- auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
+ auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
flexiAPIClient->setApiKey(Utils::appStringToCoreString(apiKey).c_str())
->accountProvision()
- ->then([this](FlexiAPIClient::Response response){
+ ->then([this](LinphonePrivate::FlexiAPIClient::Response response){
emit provisioningTokenReceived(response.json()["provisioning_token"].asCString());
- })->error([this](FlexiAPIClient::Response response){
+ })->error([this](LinphonePrivate::FlexiAPIClient::Response response){
//it provisioningTokenReceived("token");
emit this->newQRCodeNotReceived("Cannot generate a provisioning key"+(response.body.empty() ? "" : " : " +Utils::coreStringToAppString(response.body)), response.code);
});
@@ -599,14 +599,14 @@ void AssistantModel::onQRCodeFound(const std::string & result){
void AssistantModel::attachAccount(const QString& token){
#ifdef ENABLE_QRCODE
- auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
+ auto flexiAPIClient = make_shared(CoreManager::getInstance()->getCore()->cPtr());
flexiAPIClient->
accountAuthTokenAttach(Utils::appStringToCoreString(token))
- ->then([this](FlexiAPIClient::Response response){
+ ->then([this](LinphonePrivate::FlexiAPIClient::Response response){
qWarning() << "Attached";
emit qRCodeAttached();
})
- ->error([this](FlexiAPIClient::Response response){
+ ->error([this](LinphonePrivate::FlexiAPIClient::Response response){
emit qRCodeNotAttached("Cannot attach"+ (response.body.empty() ? "" : " : " +Utils::coreStringToAppString(response.body)), response.code);
});
#endif
diff --git a/linphone-app/src/components/history/CallHistoryListModel.cpp b/linphone-app/src/components/history/CallHistoryListModel.cpp
index 1269e8802..1652d9088 100644
--- a/linphone-app/src/components/history/CallHistoryListModel.cpp
+++ b/linphone-app/src/components/history/CallHistoryListModel.cpp
@@ -61,8 +61,6 @@ CallHistoryListModel::~CallHistoryListModel(){
void CallHistoryListModel::add(const std::list>& callLogs){
QList> toAdd;
for(auto callLog : callLogs) {
- if(!callLog->getLocalAddress()->weakEqual(CoreManager::getInstance()->getAccountSettingsModel()->getUsedSipAddress()))
- continue;
QString confUri;
auto remoteAddress = callLog->getRemoteAddress()->clone();
remoteAddress->clean();
@@ -88,6 +86,9 @@ void CallHistoryListModel::add(const std::list &call){
+ auto haveAccount = CoreManager::getInstance()->getCore()->getDefaultAccount();
+ if(haveAccount && !call->getLocalAddress()->weakEqual(CoreManager::getInstance()->getAccountSettingsModel()->getUsedSipAddress()))
+ return;
add(std::list>{call});
}
diff --git a/linphone-app/src/components/other/spell-checker/SpellChecker.cpp b/linphone-app/src/components/other/spell-checker/SpellChecker.cpp
index a46732d3c..0bbda670d 100644
--- a/linphone-app/src/components/other/spell-checker/SpellChecker.cpp
+++ b/linphone-app/src/components/other/spell-checker/SpellChecker.cpp
@@ -23,8 +23,7 @@
#include
#include
#include
-#include "components/core/CoreManager.hpp"
-#include "components/settings/SettingsModel.hpp"
+
#ifdef WIN32
#include
@@ -52,14 +51,16 @@ SpellChecker::SpellChecker(QObject *parent) : QSyntaxHighlighter(parent) {
graceTimer = new QTimer(this);
graceTimer->setSingleShot(true);
connect(graceTimer, SIGNAL(timeout()), SLOT(highlightAfterGracePeriod()));
+ connect(CoreManager::getInstance()->getSettingsModel(), &SettingsModel::spellCheckerOverrideLocaleChanged, this, &SpellChecker::setLanguage);
mAvailable = false;
- setLanguage();
+ if (CoreManager::getInstance()->getSettingsModel()->getSpellCheckerEnabled())
+ setLanguage();
}
SpellChecker::~SpellChecker () {
graceTimer->stop();
-#ifdef WIN32
+#ifdef _WIN32
if (mNativeSpellChecker != nullptr)
mNativeSpellChecker->Release();
#endif
@@ -91,7 +92,7 @@ QString SpellChecker::underLine(qreal minLength) {
}
void SpellChecker::highlightDocument() {
-
+ if(!CoreManager::getInstance()->getSettingsModel()->getSpellCheckerEnabled()) return;
if (!fromTimer && QDateTime::currentMSecsSinceEpoch() <= mLastHightlight + GRACE_PERIOD_SECS*1000) {
scheduleHighlight();
return;
diff --git a/linphone-app/src/components/other/spell-checker/SpellChecker.hpp b/linphone-app/src/components/other/spell-checker/SpellChecker.hpp
index 52564231a..84d9abdfd 100644
--- a/linphone-app/src/components/other/spell-checker/SpellChecker.hpp
+++ b/linphone-app/src/components/other/spell-checker/SpellChecker.hpp
@@ -35,6 +35,8 @@
#include
#include
#include "app/App.hpp"
+#include "components/core/CoreManager.hpp"
+#include "components/settings/SettingsModel.hpp"
#ifdef __linux__
#include
@@ -46,7 +48,7 @@
#define LOG_TAG "[SpellChecker]"
#define WORD_DELIMITERS_REGEXP "[^\r\n\t\u2028 ]+"
-#ifdef WIN32
+#ifdef _WIN32
class ISpellChecker;
#endif
@@ -55,9 +57,12 @@ class SpellChecker : public QSyntaxHighlighter {
public:
SpellChecker(QObject* parent = nullptr);
~SpellChecker();
-
+
// Common
- static QString currentLanguage() { return App::getInstance()->getLocale().name();}
+ static QString currentLanguage() {
+ QString overrideLocale = CoreManager::getInstance()->getSettingsModel()->getSpellCheckerOverrideLocale();
+ return overrideLocale.isEmpty() ? App::getInstance()->getLocale().name() : overrideLocale;
+ }
Q_INVOKABLE void setTextDocument(QQuickTextDocument *textDocument);
Q_INVOKABLE int wordPosition(int x, int y);
Q_INVOKABLE bool isWordAtPositionValid(int cursorPosition);
@@ -103,7 +108,7 @@ private:
bool wasIgnoredOnce(QString word, int wordStartIndex, int wordEndIndex);
void scheduleHighlight();
QString underLine(qreal minLength);
-#ifdef WIN32
+#ifdef _WIN32
ISpellChecker* mNativeSpellChecker = nullptr;
#endif
diff --git a/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp b/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp
index 0308ce25c..a9a56a48f 100644
--- a/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp
+++ b/linphone-app/src/components/other/spell-checker/SpellCheckerLinux.cpp
@@ -19,8 +19,8 @@
*/
-#import "SpellChecker.hpp"
-#import
+#include "SpellChecker.hpp"
+#include
#include "app/paths/Paths.hpp"
#include
#include
diff --git a/linphone-app/src/components/other/spell-checker/SpellCheckerMacOsNative.mm b/linphone-app/src/components/other/spell-checker/SpellCheckerMacOsNative.mm
index 273072464..0b2d4084b 100644
--- a/linphone-app/src/components/other/spell-checker/SpellCheckerMacOsNative.mm
+++ b/linphone-app/src/components/other/spell-checker/SpellCheckerMacOsNative.mm
@@ -28,12 +28,15 @@ void SpellChecker::setLanguage() {
if ([spellChecker setLanguage:locale.toNSString()]) {
[spellChecker updatePanels];
qDebug() << LOG_TAG << "Macos native spell checker Language set to " << locale;
+ mAvailable = true;
} else {
qWarning() << LOG_TAG << "Macos native spell checker unable to set language to " << locale;
}
}
bool SpellChecker::isValid(QString word) {
+ if (!mAvailable)
+ return true;
NSSpellChecker *spellChecker = [NSSpellChecker sharedSpellChecker];
QString locale = SpellChecker::currentLanguage();
bool isValid = [spellChecker checkSpellingOfString:word.toNSString() startingAt:0 language:locale.toNSString() wrap:NO inSpellDocumentWithTag:0 wordCount:nullptr].length == 0;
diff --git a/linphone-app/src/components/other/spell-checker/SpellCheckerWindowsNative.cpp b/linphone-app/src/components/other/spell-checker/SpellCheckerWindowsNative.cpp
index 9a761216e..975c497db 100644
--- a/linphone-app/src/components/other/spell-checker/SpellCheckerWindowsNative.cpp
+++ b/linphone-app/src/components/other/spell-checker/SpellCheckerWindowsNative.cpp
@@ -58,12 +58,13 @@ void SpellChecker::setLanguage() {
qWarning() << LOG_TAG << "Windows native spell checker unable to create spell checker";
return;
}
- qWarning() << LOG_TAG << "Windows native spell checker created for locale" << locale;
+ qDebug() << LOG_TAG << "Windows native spell checker created for locale" << locale;
+ mAvailable = true;
}
bool SpellChecker::isValid(QString word) {
- if (mNativeSpellChecker == nullptr)
+ if (!mAvailable)
return true;
wchar_t *text = reinterpret_cast(word.data());
IEnumSpellingError* enumSpellingError = nullptr;
diff --git a/linphone-app/src/components/settings/AccountSettingsModel.cpp b/linphone-app/src/components/settings/AccountSettingsModel.cpp
index 09040585c..ed2e8f1e8 100644
--- a/linphone-app/src/components/settings/AccountSettingsModel.cpp
+++ b/linphone-app/src/components/settings/AccountSettingsModel.cpp
@@ -144,8 +144,8 @@ bool AccountSettingsModel::addOrUpdateAccount (std::shared_ptrgetParams()->getIdentityAddress()->asString()));
return false;
}
-
coreManager->addingAccount(account->getParams());
+ setDefaultAccount(account);
}
emit accountSettingsUpdated();
return true;
diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp
index 92ab848a7..2b82f638a 100644
--- a/linphone-app/src/components/settings/SettingsModel.cpp
+++ b/linphone-app/src/components/settings/SettingsModel.cpp
@@ -1566,6 +1566,27 @@ void SettingsModel::setSavedScreenshotsFolder (const QString &folder) {
emit savedScreenshotsFolderChanged(cleanedFolder);
}
+QString SettingsModel::getSpellCheckerOverrideLocale() const{
+ return Utils::coreStringToAppString(mConfig->getString(UiSection, "spell_checker_override_locale", ""));
+}
+
+void SettingsModel::setSpellCheckerOverrideLocale (const QString &locale) {
+ CoreManager::getInstance()->getCore()->getConfig()->setString(
+ SettingsModel::UiSection, "spell_checker_override_locale", Utils::appStringToCoreString(locale)
+ );
+
+ emit spellCheckerOverrideLocaleChanged();
+}
+
+bool SettingsModel::getSpellCheckerEnabled() const{
+ return mConfig->getBool(UiSection, "spell_checker_enabled", false);
+}
+
+void SettingsModel::setSpellCheckerEnabled(bool enable){
+ mConfig->setBool(UiSection, "spell_checker_enabled", enable);
+ emit spellCheckerEnabledChanged();
+}
+
// -----------------------------------------------------------------------------
static inline string getLegacySavedCallsFolder (const shared_ptr &config) {
@@ -1753,6 +1774,10 @@ QString SettingsModel::getDefaultOtherSipAccountDomain() const {
return Utils::coreStringToAppString(mConfig->getString(UiSection, "default_other_sip_account_domain", ""));
}
+bool SettingsModel::getMessageCounterRedirectEnabled() const {
+ return !!mConfig->getInt(UiSection, "message_counter_redirect_enabled", false);
+}
+
bool SettingsModel::isMipmapEnabled() const{
return !!mConfig->getInt(UiSection, "mipmap_enabled", 0);
}
diff --git a/linphone-app/src/components/settings/SettingsModel.hpp b/linphone-app/src/components/settings/SettingsModel.hpp
index 509b4687c..0b7e55689 100644
--- a/linphone-app/src/components/settings/SettingsModel.hpp
+++ b/linphone-app/src/components/settings/SettingsModel.hpp
@@ -200,6 +200,9 @@ class SettingsModel : public QObject {
// UI. -----------------------------------------------------------------------
+ Q_PROPERTY(QString spellCheckerOverrideLocale READ getSpellCheckerOverrideLocale WRITE setSpellCheckerOverrideLocale NOTIFY spellCheckerOverrideLocaleChanged)
+ Q_PROPERTY(bool spellCheckerEnabled READ getSpellCheckerEnabled WRITE setSpellCheckerEnabled NOTIFY spellCheckerEnabledChanged)
+
Q_PROPERTY(QFont textMessageFont READ getTextMessageFont WRITE setTextMessageFont NOTIFY textMessageFontChanged)
Q_PROPERTY(int textMessageFontSize READ getTextMessageFontSize WRITE setTextMessageFontSize NOTIFY textMessageFontSizeChanged)
Q_PROPERTY(QFont emojiFont READ getEmojiFont WRITE setEmojiFont NOTIFY emojiFontChanged)
@@ -222,6 +225,7 @@ class SettingsModel : public QObject {
Q_PROPERTY(bool showStartVideoCallButton READ getShowStartVideoCallButton CONSTANT)
Q_PROPERTY(bool showHomeInviteButton READ getShowHomeInviteButton CONSTANT)
Q_PROPERTY(QString defaultOtherSipAccountDomain READ getDefaultOtherSipAccountDomain CONSTANT)
+ Q_PROPERTY(bool messageCounterRedirectEnabled READ getMessageCounterRedirectEnabled CONSTANT)
Q_PROPERTY(bool mipmapEnabled READ isMipmapEnabled WRITE setMipmapEnabled NOTIFY mipmapEnabledChanged)
Q_PROPERTY(bool useMinimalTimelineFilter READ useMinimalTimelineFilter WRITE setUseMinimalTimelineFilter NOTIFY useMinimalTimelineFilterChanged)
@@ -589,6 +593,11 @@ public:
int getEmojiFontSize() const;
void setEmojiFontSize(const int& size);
+ QString getSpellCheckerOverrideLocale() const;
+ void setSpellCheckerOverrideLocale (const QString &locale);
+ bool getSpellCheckerEnabled() const;
+ void setSpellCheckerEnabled(bool enable);
+
QString getSavedScreenshotsFolder () const;
void setSavedScreenshotsFolder (const QString &folder);
@@ -632,6 +641,7 @@ public:
Q_INVOKABLE bool getShowHomePage() const;
Q_INVOKABLE bool getShowHomeInviteButton() const;
Q_INVOKABLE QString getDefaultOtherSipAccountDomain() const;
+ Q_INVOKABLE bool getMessageCounterRedirectEnabled() const;
bool isMipmapEnabled() const;
@@ -858,6 +868,9 @@ signals:
// UI. -----------------------------------------------------------------------
+ void spellCheckerOverrideLocaleChanged();
+ void spellCheckerEnabledChanged();
+
void textMessageFontChanged(const QFont& font);
void textMessageFontSizeChanged(const int& size);
diff --git a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake
index dca99094b..93157a450 100644
--- a/linphone-app/src/config.h.cmake
+++ b/linphone-app/src/config.h.cmake
@@ -33,10 +33,11 @@
#cmakedefine APPLICATION_SEMVER "${APPLICATION_SEMVER}"
#cmakedefine COPYRIGHT_RANGE_DATE "${COPYRIGHT_RANGE_DATE}"
#cmakedefine ENABLE_UPDATE_CHECK 1
+#cmakedefine ENABLE_QRCODE
#cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}"
#cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}"
#cmakedefine ENABLE_APP_WEBVIEW "${ENABLE_APP_WEBVIEW}"
#cmakedefine QTKEYCHAIN_TARGET_NAME ${QTKEYCHAIN_TARGET_NAME}
#cmakedefine PDF_ENABLED
-#endif
\ No newline at end of file
+#endif
diff --git a/linphone-app/src/utils/Constants.hpp b/linphone-app/src/utils/Constants.hpp
index 79c7f1d6f..2d14ebb35 100644
--- a/linphone-app/src/utils/Constants.hpp
+++ b/linphone-app/src/utils/Constants.hpp
@@ -139,7 +139,7 @@ public:
static constexpr char PathConfig[] = "/linphonerc";
static constexpr char PathDatabase[] = "/linphone.db";
static constexpr char PathFactoryConfig[] = "/" EXECUTABLE_NAME "/linphonerc-factory";
- static constexpr char PathRootCa[] = "/" EXECUTABLE_NAME "/rootca.pem";
+ static constexpr char PathRootCa[] = "/linphone/rootca.pem";
static constexpr char PathFriendsList[] = "/friends.db";
static constexpr char PathLimeDatabase[] = "/x3dh.c25519.sqlite3";
static constexpr char PathMessageHistoryList[] = "/message-history.db";
diff --git a/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml b/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml
index 9201fe1c6..f5e034edf 100644
--- a/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml
+++ b/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml
@@ -16,6 +16,7 @@ Item {
// ---------------------------------------------------------------------------
signal clicked
+ signal messageCounterClicked
property alias cursorShape:mouseArea.cursorShape
property alias betterIcon : presenceLevel.betterIcon
property bool noAccountConfigured: AccountSettingsModel.accounts.length <= ((SettingsModel.showLocalSipAccount ? 1 : 0))
@@ -96,6 +97,11 @@ Item {
count: CoreManager.eventCount
iconSize: AccountStatusStyle.messageCounter.iconSize
pointSize: AccountStatusStyle.messageCounter.pointSize
+ MouseArea{
+ anchors.fill: parent
+ visible: SettingsModel.messageCounterRedirectEnabled
+ onClicked: accountStatus.messageCounterClicked()
+ }
}
}
}//RowLayout
diff --git a/linphone-app/ui/views/App/Main/Assistant/UseOtherSipAccount.qml b/linphone-app/ui/views/App/Main/Assistant/UseOtherSipAccount.qml
index d645c8a0b..30d16196a 100644
--- a/linphone-app/ui/views/App/Main/Assistant/UseOtherSipAccount.qml
+++ b/linphone-app/ui/views/App/Main/Assistant/UseOtherSipAccount.qml
@@ -165,6 +165,7 @@ import Common.Styles 1.0
ComboBox {
id: transport
model: [ 'UDP', 'TCP', 'TLS']
+ currentIndex: 2
}
}
}
diff --git a/linphone-app/ui/views/App/Main/MainWindow.qml b/linphone-app/ui/views/App/Main/MainWindow.qml
index 3b86da049..fa957ea23 100644
--- a/linphone-app/ui/views/App/Main/MainWindow.qml
+++ b/linphone-app/ui/views/App/Main/MainWindow.qml
@@ -161,6 +161,7 @@ ApplicationWindow {
CoreManager.forceRefreshRegisters()
Logic.manageAccounts()
}
+ onMessageCounterClicked: window.setView('Calls')
}
ColumnLayout {
@@ -192,7 +193,7 @@ ApplicationWindow {
id: smartSearchBar
Layout.fillWidth: true
- Layout.maximumWidth: parent.width - telKeypad.width - x
+
maxMenuHeight: MainWindowStyle.searchBox.maxHeight
placeholderText: qsTr('mainSearchBarPlaceholder')
@@ -226,8 +227,14 @@ ApplicationWindow {
}
onLaunchVideoCall: CallsListModel.launchVideoCall(sipAddress, '')
}
+ Item{
+ Layout.preferredWidth: telKeypad.width - 30
+ - (keypadButton.visible ? keypadButton.width : 0)
+ - (newChatGroupButton.visible ? newChatGroupButton.width : 0)
+ - 4 * MainWindowStyle.toolBar.spacing
+ }
ActionButton {
- Layout.leftMargin: 30
+ id: keypadButton
isCustom: true
backgroundRadius: 90
colorSet: MainWindowStyle.buttons.telKeyad
@@ -235,6 +242,7 @@ ApplicationWindow {
toggled: telKeypad.visible
}
ActionButton {
+ id: newChatGroupButton
isCustom: true
backgroundRadius: 4
colorSet: MainWindowStyle.buttons.newChatGroup
@@ -258,6 +266,7 @@ ApplicationWindow {
}
ActionButton {
+ id:newConferenceButton
isCustom: true
backgroundRadius: 4
colorSet: MainWindowStyle.buttons.newConference
diff --git a/linphone-app/ui/views/App/Main/MainWindowMenuBar.qml b/linphone-app/ui/views/App/Main/MainWindowMenuBar.qml
index b6220b88f..49fd53797 100644
--- a/linphone-app/ui/views/App/Main/MainWindowMenuBar.qml
+++ b/linphone-app/ui/views/App/Main/MainWindowMenuBar.qml
@@ -89,6 +89,13 @@ Item {
onTriggered: App.checkForUpdates(true)
}
+ MenuItem{
+ visible: App.isLinux()
+ //: 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+ text: qsTr('exportDesktopFile').arg(executableName)
+ onTriggered: App.exportDesktopFile()
+ }
+
MenuItem {
text: qsTr('about')
diff --git a/linphone-app/ui/views/App/Main/MainWindowTopMenuBar.qml b/linphone-app/ui/views/App/Main/MainWindowTopMenuBar.qml
index 8381b4ea7..28ff24006 100644
--- a/linphone-app/ui/views/App/Main/MainWindowTopMenuBar.qml
+++ b/linphone-app/ui/views/App/Main/MainWindowTopMenuBar.qml
@@ -42,7 +42,12 @@ MenuBar {
role: MenuItem.ApplicationSpecificRole
onTriggered: App.checkForUpdates(true)
}
-
+ MenuItem{
+ visible: App.isLinux()
+ //: 'Export %1.desktop file to applications' : Label menu to export the %1.desktop file to the ~/.local/share/applications/ folder on Linux (%1 is the exectuable name)
+ text: qsTr('exportDesktopFile').arg(executableName)
+ onTriggered: App.exportDesktopFile()
+ }
MenuItem {
text: qsTr('about')
role: MenuItem.AboutRole
diff --git a/linphone-app/ui/views/App/Settings/SettingsUi.qml b/linphone-app/ui/views/App/Settings/SettingsUi.qml
index 2334fd1c0..c9d35689c 100644
--- a/linphone-app/ui/views/App/Settings/SettingsUi.qml
+++ b/linphone-app/ui/views/App/Settings/SettingsUi.qml
@@ -55,6 +55,41 @@ TabContainer {
}
}
}
+ FormLine {
+ FormGroup {
+ //: 'Spell Checker' : label for spell checker settings
+ label: qsTr('spellCheckerLabel')
+ RowLayout{
+ ComboBox {
+ Layout.fillWidth: true
+ textRole: 'key'
+
+ Component.onCompleted: {
+ var locales = Logic.getAvailableLocales()
+ model = locales
+
+ var locale = SettingsModel.spellCheckerOverrideLocale
+ if (!locale.length) {
+ currentIndex = 0
+ return
+ }
+
+ var value = Qt.locale(locale).name
+ currentIndex = Number(Utils.findIndex(locales, function (locale) {
+ return locale.value === value
+ }))
+ }
+
+ onActivated: SettingsModel.spellCheckerOverrideLocale = model[index].value
+ }
+ Switch {
+ checked: SettingsModel.spellCheckerEnabled
+
+ onClicked: SettingsModel.spellCheckerEnabled = !checked
+ }
+ }
+ }
+ }
Form {
//: 'Fonts' : title of fonts section in settings
title: qsTr('fontsTitle')
diff --git a/linphone-sdk b/linphone-sdk
index 40373878e..a20e90bab 160000
--- a/linphone-sdk
+++ b/linphone-sdk
@@ -1 +1 @@
-Subproject commit 40373878e26ab10c31c7237f1a22758aac3939ab
+Subproject commit a20e90babe7e6dc4def83720e7dce96ba3f917af