diff --git a/CHANGELOG.md b/CHANGELOG.md index f2166cc0e..ee5a9e9f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## 4.4.0 - [Undefined] -## Added +### Added - Features: - * messages features : Reply, forward (to contact, to a SIP address or to a timeline), Vocal record (on send) + * messages features : Reply, forward (to contact, to a SIP address or to a timeline), Vocal record (on send). + +- Add a feedback on fetching remote provisioning when it failed. + +### Fixed +- Simplify filtering timelines on 3 kind of search : security level, simple/group chats, ephemerals. +- Fix systemTrayIcon that could be cloned on each restart. +- Fix errors on Action-Buttons on restart. ## 4.3.2 diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index d96e412dd..725060821 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -1107,6 +1107,11 @@ Server url ikke konfigureret. remoteProvisioningUpdateDescription Det er nødvendigt at genstarte applikationen. Vil du gøre det nu? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Klik her: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 05c385891..548718759 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -1107,6 +1107,11 @@ Server URL ist nicht konfiguriert. remoteProvisioningUpdateDescription Ein Neustart der Anwendung ist notwendig. Möchten Sie die Anwendung jetzt neu starten? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Klicken Sie hier: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). Einfache Räume - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. Sichere Räume - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). Chatgruppen - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - Sichere Chatgruppen - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. Kurzlebiges - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list In der Liste suchen + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 2c66afe80..239227920 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -1107,6 +1107,11 @@ Server URL not configured. remoteProvisioningUpdateDescription It is necessary to restart the application. Do you want to restart now? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + Last remote provisioning failed + HistoryView @@ -2755,39 +2760,54 @@ Click here: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). Simple rooms - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. Secure rooms - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). Chat groups - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - Secure chat groups - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. Ephemerals - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list Search in the list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + All security levels + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + Standard rooms + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + Any conversations + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + Ephemerals on/off + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + Without ephemerals + UseAppSipAccount diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 54fdb5b3b..e17264236 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -1107,6 +1107,11 @@ URL del servidor no configurada. remoteProvisioningUpdateDescription Es necesario reiniciar la aplicación. ¿Desea reiniciarla ahora? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Haga clic aquí: <a href="%1">%1 </a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index d669c4e74..bf235a595 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -1107,6 +1107,11 @@ URL du serveur non configurée. remoteProvisioningUpdateDescription Voulez-vous redémarrer maintenant pour prendre en compte ces modifications ? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Cliquez ici : <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). Standards - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. Sécurisées - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). Groupes standards - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - Groupes sécurisés - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. Éphémères - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list Rechercher dans la chronologie + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 079957201..1034a0db9 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -1098,6 +1098,11 @@ A kiszolgáló URL-je nincs konfigurálva. remoteProvisioningUpdateDescription Az alkalmazás újraindítása szükséges. Szeretné most újraindítani? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2722,39 +2727,54 @@ Kattintson ide: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). Egyszerű szobák - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. Biztonságos szobák - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). Csevegőcsoportok - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - Biztonságos csevegőcsoportok - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. Elmúlók - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list Keresés a listában + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 905fcbde0..fbbcbe073 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -1107,6 +1107,11 @@ URL del server non configurato. remoteProvisioningUpdateDescription È necessario riavviare l'applicazione. Vuoi riavviare ora? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Clicca: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 466155d3d..567c838db 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -1098,6 +1098,11 @@ remoteProvisioningUpdateDescription アプリケーションを再起動する必要があります。今すぐ再起動しますか? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2722,39 +2727,54 @@ timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index a3823b536..169e5f1d5 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -1116,6 +1116,11 @@ Nesukonfigūruotas serverio url. remoteProvisioningUpdateDescription Yra būtina paleisti programą iš naujo. Ar norite tai atlikti dabar? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2742,39 +2747,54 @@ Spustelėkite čia: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 6f5810515..0f47a9160 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -1107,6 +1107,11 @@ URL do servidor não configurado. remoteProvisioningUpdateDescription É necessário reiniciar o aplicativo. Deseja reiniciar agora? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Clique aqui: <a href="%1">%1 </a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 268bec528..0b3b59722 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -1116,6 +1116,11 @@ remoteProvisioningUpdateDescription Требуется перезапустить приложение. Хотите перезапустить сейчас? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2742,39 +2747,54 @@ timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 111b335eb..1283eabb2 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -1107,6 +1107,11 @@ Serverwebbadressen är inte konfigurerad. remoteProvisioningUpdateDescription Det är nödvändigt att starta om programmet. Vill du starta om nu? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2732,39 +2737,54 @@ Klicka här: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 532be4828..5ff2d50b6 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -1098,6 +1098,11 @@ Sunucu url'si yapılandırılmadı. remoteProvisioningUpdateDescription Uygulamanın yeniden başlaması gerekiyor. Şimdi yeniden başlatmak ister misiniz? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2722,39 +2727,54 @@ Buraya tıklayın: <a href="%1">%1</a> timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 5dfbac8bd..67e240aef 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -1116,6 +1116,11 @@ remoteProvisioningUpdateDescription Потрібно перезапустити застосунок. Бажаєте перезапустити зараз? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2742,39 +2747,54 @@ timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index e416a13ec..11553c069 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -1098,6 +1098,11 @@ remoteProvisioningUpdateDescription 需要重启应用程序。您想要立刻重启吗? + + lastProvisioningFailed + 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + + HistoryView @@ -2722,39 +2727,54 @@ timelineFilterSimpleRooms - 'Simple rooms' : Filter item + 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). 基础聊天室 - Selecting it will show all simple rooms timelineFilterSecureRooms - 'Secure rooms' : Filter item + 'Secure rooms' : Filter item. Selecting it will show all secure rooms. 安全室 - Selecting it will show all secure rooms timelineFilterChatGroups - 'Chat groups' : Filter item + 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). 聊天群 - Selecting it will show all chat groups (with more than one participant) - - - timelineFilterSecureChatGroups - 'Secure Chat Groups' : Filter item - 安全聊天群 - Selecting it will show all secure chat groups (with more than one participant) timelineFilterEphemerals - 'Ephemerals' : Filter item + 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. 阅后即焚 - Selecting it will show all chat rooms where the ephemeral mode has been enabled. timelineSearchPlaceholderText 'Search in the list' : ths is a placeholder when searching something in the timeline list 在列表中查找 + + timelineFilterAllSecureLevelRooms + 'All security levels' : Filter item. Selecting it will not do any filter on security level. + + + + timelineFilterStandardRooms + 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + + + + timelineFilterAnyChatRooms + 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + + + + timelineFilterAnyEphemerals + 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + + + + timelineFilterNoEphemerals + 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + + UseAppSipAccount diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp index eea329ac8..990b63748 100644 --- a/linphone-app/src/app/App.cpp +++ b/linphone-app/src/app/App.cpp @@ -301,10 +301,10 @@ void App::initContentApp () { setFetchConfig(mParser); setOpened(false); qInfo() << QStringLiteral("Restarting app..."); + delete mEngine; mNotifier = nullptr; - mSystemTrayIcon = nullptr; // CoreManager::uninit(); removeTranslator(mTranslator); @@ -723,8 +723,8 @@ void App::registerSharedToolTypes () { void App::setTrayIcon () { QQuickWindow *root = getMainWindow(); - QSystemTrayIcon *systemTrayIcon = new QSystemTrayIcon(mEngine); - + QSystemTrayIcon* systemTrayIcon = (mSystemTrayIcon?mSystemTrayIcon : new QSystemTrayIcon(nullptr));// Workaround : QSystemTrayIcon cannot be deleted because of setContextMenu (indirectly) + // trayIcon: Right click actions. QAction *settingsAction = new QAction(tr("settings"), root); root->connect(settingsAction, &QAction::triggered, root, [this] { @@ -754,7 +754,7 @@ void App::setTrayIcon () { root->connect(quitAction, &QAction::triggered, this, &App::quit); // trayIcon: Left click actions. - QMenu *menu = new QMenu(); + static QMenu *menu = new QMenu();// Static : Workaround about a bug with setContextMenu where it cannot be called more than once. root->connect(systemTrayIcon, &QSystemTrayIcon::activated, [root]( QSystemTrayIcon::ActivationReason reason ) { @@ -774,12 +774,13 @@ void App::setTrayIcon () { menu->addAction(restoreAction); menu->addSeparator(); menu->addAction(quitAction); - - systemTrayIcon->setContextMenu(menu); + if(!mSystemTrayIcon) + systemTrayIcon->setContextMenu(menu);// This is a Qt bug. We cannot call setContextMenu more than once. So we have to keep an instance of the menu. systemTrayIcon->setIcon(QIcon(Constants::WindowIconPath)); systemTrayIcon->setToolTip(APPLICATION_NAME); systemTrayIcon->show(); - mSystemTrayIcon = systemTrayIcon; + if(!mSystemTrayIcon) + mSystemTrayIcon = systemTrayIcon; if(!QSystemTrayIcon::isSystemTrayAvailable()) qInfo() << "System tray is not available"; } diff --git a/linphone-app/src/components/core/CoreManager.hpp b/linphone-app/src/components/core/CoreManager.hpp index 264ac3c94..220ca2603 100644 --- a/linphone-app/src/components/core/CoreManager.hpp +++ b/linphone-app/src/components/core/CoreManager.hpp @@ -166,7 +166,7 @@ public: static bool isInstanciated(){return mInstance!=nullptr;} - bool isLastRemoteProvisioningGood(); + Q_INVOKABLE bool isLastRemoteProvisioningGood(); public slots: void initCoreManager(); diff --git a/linphone-app/src/components/timeline/TimelineProxyModel.cpp b/linphone-app/src/components/timeline/TimelineProxyModel.cpp index 5d1450602..82497e16f 100644 --- a/linphone-app/src/components/timeline/TimelineProxyModel.cpp +++ b/linphone-app/src/components/timeline/TimelineProxyModel.cpp @@ -102,26 +102,16 @@ bool TimelineProxyModel::filterAcceptsRow (int sourceRow, const QModelIndex &sou if( mFilterFlags > 0) { if( !show && ( (mFilterFlags & TimelineFilter::SimpleChatRoom) == TimelineFilter::SimpleChatRoom)) - show = !isGroup && !haveEncryption; + show = !isGroup; if( !show && ( (mFilterFlags & TimelineFilter::SecureChatRoom) == TimelineFilter::SecureChatRoom)) - show = !isGroup && haveEncryption; + show = haveEncryption; if( !show && ( (mFilterFlags & TimelineFilter::GroupChatRoom) == TimelineFilter::GroupChatRoom)) - show = isGroup && !haveEncryption; - if( !show && ( (mFilterFlags & TimelineFilter::SecureGroupChatRoom) == TimelineFilter::SecureGroupChatRoom)) - show = isGroup && haveEncryption; + show = isGroup; + if( !show && ( (mFilterFlags & TimelineFilter::StandardChatRoom) == TimelineFilter::StandardChatRoom)) + show = !haveEncryption; if( !show && ( (mFilterFlags & TimelineFilter::EphemeralChatRoom) == TimelineFilter::EphemeralChatRoom)) show = isEphemeral; - - show = ( (mFilterFlags & AllChatRooms) == 0) || show; - if( show && ( (mFilterFlags & TimelineFilter::NoSimpleChatRoom) == TimelineFilter::NoSimpleChatRoom)) - show = !(!isGroup && !haveEncryption); - if( show && ( (mFilterFlags & TimelineFilter::NoSecureChatRoom) == TimelineFilter::NoSecureChatRoom)) - show = !(!isGroup && haveEncryption); - if( show && ( (mFilterFlags & TimelineFilter::NoGroupChatRoom) == TimelineFilter::NoGroupChatRoom)) - show = !(isGroup && !haveEncryption); - if( show && ( (mFilterFlags & TimelineFilter::NoSecureGroupChatRoom) == TimelineFilter::NoSecureGroupChatRoom)) - show = !(isGroup && haveEncryption); - if( show && ( (mFilterFlags & TimelineFilter::NoEphemeralChatRoom) == TimelineFilter::NoEphemeralChatRoom)) + if( !show && ( (mFilterFlags & TimelineFilter::NoEphemeralChatRoom) == TimelineFilter::NoEphemeralChatRoom)) show = !isEphemeral; } diff --git a/linphone-app/src/components/timeline/TimelineProxyModel.hpp b/linphone-app/src/components/timeline/TimelineProxyModel.hpp index d3f66f607..7b188c0c4 100644 --- a/linphone-app/src/components/timeline/TimelineProxyModel.hpp +++ b/linphone-app/src/components/timeline/TimelineProxyModel.hpp @@ -34,19 +34,14 @@ class TimelineProxyModel : public QSortFilterProxyModel { public: enum TimelineFilter { - SimpleChatRoom=1, + StandardChatRoom=1, SecureChatRoom=2, - GroupChatRoom=4, - SecureGroupChatRoom=8, + SimpleChatRoom=4, + GroupChatRoom=8, EphemeralChatRoom=16, + NoEphemeralChatRoom=32, - NoSimpleChatRoom=32, - NoSecureChatRoom=64, - NoGroupChatRoom=128, - NoSecureGroupChatRoom=256, - NoEphemeralChatRoom=512, - - AllChatRooms = SimpleChatRoom+SecureChatRoom+GroupChatRoom+SecureGroupChatRoom+EphemeralChatRoom + AllChatRooms = 0 }; Q_ENUM(TimelineFilter) diff --git a/linphone-app/ui/modules/Common/Form/ActionButton.qml b/linphone-app/ui/modules/Common/Form/ActionButton.qml index f2c09444e..de5f4558f 100644 --- a/linphone-app/ui/modules/Common/Form/ActionButton.qml +++ b/linphone-app/ui/modules/Common/Form/ActionButton.qml @@ -13,7 +13,7 @@ Item { id: wrappedButton // --------------------------------------------------------------------------- - property QtObject colorSet: QtObject { + readonly property QtObject defaultColorSet : QtObject { property int iconSize: 30 property string icon : '' property color backgroundNormalColor : "white" @@ -28,12 +28,14 @@ Item { property color foregroundUpdatingColor : "black" property color foregroundPressedColor : "black" } + property QtObject colorSet: defaultColorSet + onColorSetChanged: if(!colorSet) colorSet = defaultColorSet property bool isCustom : false property bool enabled: true property bool updating: false property bool useStates: true //property bool autoIcon : false // hovered/pressed : use an automatic layer instead of specific icon image - property int iconSize : colorSet.iconSize + property int iconSize : colorSet ? colorSet.iconSize : 0 property int iconHeight: colorSet.iconHeight ? colorSet.iconHeight : 0 property int iconWidth: colorSet.iconWidth ? colorSet.iconWidth : 0 readonly property alias hovered: button.hovered @@ -70,7 +72,7 @@ Item { // If `useStates` = true, the used icons are: // `icon`_pressed, `icon`_hovered and `icon`_normal. - property string icon : colorSet.icon + property string icon : colorSet ? colorSet.icon : '' // --------------------------------------------------------------------------- @@ -220,10 +222,15 @@ Item { anchors.centerIn: parent anchors.fill: iconHeight>0 || iconWidth ? parent : undefined icon: { - if(!Images[_getIcon()]) - console.log("No images for: "+_getIcon()) - return Images[_getIcon()].id + var iconString = _getIcon() + if( iconString ) { + if(Images[iconString]) + return Images[iconString].id + else + console.log("No images for: "+iconString) } + return '' + } iconSize: wrappedButton.iconSize || ( parent.width > parent.height ? parent.height : parent.width ) diff --git a/linphone-app/ui/modules/Common/Form/CheckBoxText.qml b/linphone-app/ui/modules/Common/Form/CheckBoxText.qml index da9db6bc4..da0280341 100644 --- a/linphone-app/ui/modules/Common/Form/CheckBoxText.qml +++ b/linphone-app/ui/modules/Common/Form/CheckBoxText.qml @@ -1,5 +1,5 @@ import QtQuick 2.7 -import QtQuick.Controls 2.2 +import QtQuick.Controls 2.4 import QtQuick.Shapes 1.10 import Common.Styles 1.0 diff --git a/linphone-app/ui/modules/Linphone/Chat/ChatAudioPreview.qml b/linphone-app/ui/modules/Linphone/Chat/ChatAudioPreview.qml index 689898c7d..5a32d264c 100644 --- a/linphone-app/ui/modules/Linphone/Chat/ChatAudioPreview.qml +++ b/linphone-app/ui/modules/Linphone/Chat/ChatAudioPreview.qml @@ -73,7 +73,7 @@ Rectangle{ MediaProgressBar{ id: mediaProgressBar anchors.fill: parent - progressDuration: !vocalPlayer.item ? vocalRecorder.getDuration() : 0 + progressDuration: !vocalPlayer.item && vocalRecorder? vocalRecorder.getDuration() : 0 progressPosition: !vocalPlayer.item ? progressDuration : 0 value: !vocalPlayer.item ? 0.01 * progressDuration / 5 : 100 stopAtEnd: !audioPreviewBlock.isRecording diff --git a/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml b/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml index a01d5fc53..17b2a397b 100644 --- a/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml +++ b/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml @@ -160,54 +160,61 @@ Rectangle { anchors.right:parent.right spacing:-4 function getFilterFlags(){ - return simpleFilter.value | secureFilter.value | groupFilter.value | secureGroupFilter.value | ephemeralsFilter.value; - } - CheckBoxText { - id:simpleFilter - //: 'Simple rooms' : Filter item - //~ Mode Selecting it will show all simple rooms - text:qsTr('timelineFilterSimpleRooms') - property var value : (checkState==Qt.Checked?TimelineProxyModel.SimpleChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.NoSimpleChatRoom:0)) - onValueChanged: timeline.model.filterFlags = filterChoices.getFilterFlags() - tristate: true + return secureFilter.value | groupFilter.value | ephemeralsFilter.value; + } + function getNextState(checkState){ + if(checkState === Qt.Unchecked) + return Qt.Checked; + else if(checkState === Qt.Checked) + return Qt.PartiallyChecked; + else + return Qt.Unchecked; } CheckBoxText { + Layout.fillWidth: true id:secureFilter - //: 'Secure rooms' : Filter item - //~ Mode Selecting it will show all secure rooms - text:qsTr('timelineFilterSecureRooms') - property var value : (checkState==Qt.Checked?TimelineProxyModel.SecureChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.NoSecureChatRoom:0)) + //: 'Secure rooms' : Filter item. Selecting it will show all secure rooms. + text: checkState === Qt.Checked ? qsTr('timelineFilterSecureRooms') : checkState === Qt.Unchecked + //: 'All security levels' : Filter item. Selecting it will not do any filter on security level. + ? qsTr('timelineFilterAllSecureLevelRooms') + //: 'Standard rooms' : Filter item. Selecting it will show all simple rooms. + : qsTr('timelineFilterStandardRooms') + property var value : (checkState==Qt.Checked?TimelineProxyModel.SecureChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.StandardChatRoom:0)) onValueChanged: timeline.model.filterFlags = filterChoices.getFilterFlags() tristate: true + visible: SettingsModel.secureChatEnabled && SettingsModel.standardChatEnabled + nextCheckState: function(){ return parent.getNextState(checkState)} } CheckBoxText { id:groupFilter - //: 'Chat groups' : Filter item - //~ Mode Selecting it will show all chat groups (with more than one participant) - text:qsTr('timelineFilterChatGroups') - property var value : (checkState==Qt.Checked?TimelineProxyModel.GroupChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.NoGroupChatRoom:0)) - onValueChanged: timeline.model.filterFlags = filterChoices.getFilterFlags() - tristate: true - } - CheckBoxText { - id:secureGroupFilter - //: 'Secure Chat Groups' : Filter item - //~ Mode Selecting it will show all secure chat groups (with more than one participant) - text:qsTr('timelineFilterSecureChatGroups') - property var value : (checkState==Qt.Checked?TimelineProxyModel.SecureGroupChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.NoSecureGroupChatRoom:0)) + Layout.fillWidth: true + //: 'Chat groups' : Filter item. Selecting it will show all chat groups (with more than one participant). + text: checkState === Qt.Checked ? qsTr('timelineFilterChatGroups') : checkState === Qt.Unchecked + //: 'Any conversations' : Filter item. Selecting it will not do any filter on the type of conversations. + ? qsTr('timelineFilterAnyChatRooms') + //: 'Simple rooms' : Filter item. Selecting it will show all secure chat groups (with more than one participant). + : qsTr('timelineFilterSimpleRooms') + property var value : (checkState==Qt.Checked?TimelineProxyModel.GroupChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.SimpleChatRoom:0)) onValueChanged: timeline.model.filterFlags = filterChoices.getFilterFlags() tristate: true + visible: SettingsModel.secureChatEnabled || SettingsModel.standardChatEnabled + nextCheckState: function(){ return parent.getNextState(checkState)} } CheckBoxText { id:ephemeralsFilter - //: 'Ephemerals' : Filter item - //~ Mode Selecting it will show all chat rooms where the ephemeral mode has been enabled. - text:qsTr('timelineFilterEphemerals') + Layout.fillWidth: true + //: 'Ephemerals' : Filter item. Selecting it will show all chat rooms where the ephemeral mode has been enabled. + text: checkState === Qt.Checked ? qsTr('timelineFilterEphemerals') : checkState === Qt.Unchecked + //: 'Ephemerals on/off' : Filter item. Selecting it will not do any filter on ephemerals activation. + ? qsTr('timelineFilterAnyEphemerals') + //: 'No Ephemerals' : Filter item. Selecting it will hide all chat rooms where the ephemeral mode has been enabled. + : qsTr('timelineFilterNoEphemerals') property var value : (checkState==Qt.Checked?TimelineProxyModel.EphemeralChatRoom: (checkState == Qt.PartiallyChecked ?TimelineProxyModel.NoEphemeralChatRoom:0)) + visible: SettingsModel.secureChatEnabled || SettingsModel.standardChatEnabled onValueChanged: timeline.model.filterFlags = filterChoices.getFilterFlags() tristate: true + nextCheckState: function(){ return parent.getNextState(checkState)} } - } } // ------------------------------------------------------------------------- diff --git a/linphone-app/ui/views/App/Main/Assistant/FetchRemoteConfiguration.qml b/linphone-app/ui/views/App/Main/Assistant/FetchRemoteConfiguration.qml index 3833c4f98..62219587d 100644 --- a/linphone-app/ui/views/App/Main/Assistant/FetchRemoteConfiguration.qml +++ b/linphone-app/ui/views/App/Main/Assistant/FetchRemoteConfiguration.qml @@ -7,63 +7,69 @@ import Utils 1.0 // ============================================================================= AssistantAbstractView { - mainAction: requestBlock.execute - mainActionEnabled: url.text.length > 0 - mainActionLabel: qsTr('confirmAction') - - title: qsTr('fetchRemoteConfigurationTitle') - - // --------------------------------------------------------------------------- - - Connections { - target: SettingsModel - - onRemoteProvisioningChanged: { - requestBlock.stop('') - - window.detachVirtualWindow() - window.attachVirtualWindow(Utils.buildDialogUri('ConfirmDialog'), { - descriptionText: qsTr('remoteProvisioningUpdateDescription'), - }, function (status) { - if (status) { - App.restart() - } else { - window.setView('Home') - } - }) - } - - onRemoteProvisioningNotChanged: requestBlock.stop(qsTr('remoteProvisioningError')) - } - - // --------------------------------------------------------------------------- - - Column { - anchors.fill: parent - - Form { - orientation: Qt.Vertical - width: parent.width - - FormLine { - FormGroup { - label: qsTr('urlLabel') - - TextField { - id: url - } - } - } - } - - RequestBlock { - id: requestBlock - - action: (function () { - SettingsModel.remoteProvisioning = url.text - }) - - width: parent.width - } - } + mainAction: requestBlock.execute + mainActionEnabled: url.text.length > 0 + mainActionLabel: qsTr('confirmAction') + + title: qsTr('fetchRemoteConfigurationTitle') + + // --------------------------------------------------------------------------- + + Connections { + target: SettingsModel + + onRemoteProvisioningChanged: { + requestBlock.stop('') + + window.detachVirtualWindow() + window.attachVirtualWindow(Utils.buildDialogUri('ConfirmDialog'), { + descriptionText: qsTr('remoteProvisioningUpdateDescription'), + }, function (status) { + if (status) { + App.restart() + } else { + window.setView('Home') + } + }) + } + + onRemoteProvisioningNotChanged: requestBlock.stop(qsTr('remoteProvisioningError')) + } + + // --------------------------------------------------------------------------- + + Column { + anchors.fill: parent + + Form { + orientation: Qt.Vertical + width: parent.width + + FormLine { + FormGroup { + label: qsTr('urlLabel') + + TextField { + id: url + } + } + } + } + + RequestBlock { + id: requestBlock + + action: (function () { + SettingsModel.remoteProvisioning = url.text + }) + + width: parent.width + } + } + Component.onCompleted: { + if( !CoreManager.isLastRemoteProvisioningGood() ) + //: 'Last remote provisioning failed' : Test to warn the user that the last fetch of remote provisioning has failed. + requestBlock.stop(qsTr('lastProvisioningFailed')) + } + }