From bad52def4d9dfec014d982888c6e026c81d02ddc Mon Sep 17 00:00:00 2001 From: Gaelle Braud Date: Wed, 3 Sep 2025 16:01:58 +0200 Subject: [PATCH] scrollbar in meeting and conversation participant list #LINQT-1890 --- Linphone/data/languages/de.ts | 54 +++++++++---------- Linphone/data/languages/en.ts | 54 +++++++++---------- Linphone/data/languages/fr_FR.ts | 54 +++++++++---------- .../Display/Contact/AllContactListView.qml | 2 +- .../view/Page/Form/Meeting/MeetingForm.qml | 9 +++- .../Page/Layout/Chat/ConversationInfos.qml | 9 +++- .../view/Page/Main/Meeting/MeetingPage.qml | 11 ++-- 7 files changed, 106 insertions(+), 87 deletions(-) diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts index 2d5df1042..250db3ce9 100644 --- a/Linphone/data/languages/de.ts +++ b/Linphone/data/languages/de.ts @@ -2864,41 +2864,41 @@ Error Suchen - + group_infos_participants Participants (%1) - + group_infos_media_docs Medias & documents Medien & Dokumente - + group_infos_shared_medias Shared medias - + group_infos_shared_docs Shared documents Geteilte Dokumente - + group_infos_other_actions Other actions Weitere Aktionen - + group_infos_ephemerals Ephemeral messages : - + group_infos_enable_ephemerals Flüchtige Nachrichten aktivieren @@ -2909,37 +2909,37 @@ Error Meeting - + group_infos_leave_room Leave chat room - + group_infos_leave_room_toast_title Leave Chat Room ? Chatraum verlassen? - + group_infos_leave_room_toast_message All the messages will be removed from the chat room. Do you want to continue ? Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren? - + group_infos_delete_history Delete history Verlauf löschen - + group_infos_delete_history_toast_title Delete history ? Verlauf löschen? - + group_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren? @@ -2957,28 +2957,28 @@ Error Kontakt erstellen - + one_one_infos_ephemerals Ephemeral messages : - + one_one_infos_enable_ephemerals Flüchtige Nachrichten aktivieren - + one_one_infos_delete_history Verlauf löschen - + one_one_infos_delete_history_toast_title Delete history ? Verlauf löschen? - + one_one_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren? @@ -3949,7 +3949,7 @@ Error Teilnehmer hinzufügen - + meeting_schedule_send_invitations_title "Envoyer une invitation aux participants" Einladung an Teilnehmer senden @@ -4106,7 +4106,7 @@ Error - + saved "Enregistré" Gespeichert @@ -4136,7 +4136,7 @@ Error Teilnehmer hinzufügen - + meeting_schedule_add_participants_apply Apply @@ -4145,7 +4145,7 @@ Error Hinzufügen - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4154,31 +4154,31 @@ Error - + meeting_info_delete "Supprimer la réunion" Besprechung löschen - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Besprechungs-URI kopiert - + meeting_schedule_timezone_title "Fuseau horaire" Zeitzone - + meeting_info_organizer_label "Organisateur" Organisator - + meeting_info_join_title "Rejoindre la réunion" Besprechung beitreten diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts index abd4f54d7..d8053639f 100644 --- a/Linphone/data/languages/en.ts +++ b/Linphone/data/languages/en.ts @@ -2777,41 +2777,41 @@ Only your correspondent can decrypt them. Mute - + group_infos_participants Participants (%1) - + group_infos_media_docs Medias & documents Medias & documents - + group_infos_shared_medias Shared medias Shared medias - + group_infos_shared_docs Shared documents Shared documents - + group_infos_other_actions Other actions Other actions - + group_infos_ephemerals Ephemeral messages : - + group_infos_enable_ephemerals Enable ephemeral messages @@ -2822,37 +2822,37 @@ Only your correspondent can decrypt them. Schedule a meeting - + group_infos_leave_room Leave chat room Leave Chat Room - + group_infos_leave_room_toast_title Leave Chat Room ? Leave Chat Room ? - + group_infos_leave_room_toast_message All the messages will be removed from the chat room. Do you want to continue ? All the messages will be removed from the chat room. Do you want to continue ? - + group_infos_delete_history Delete history Delete history - + group_infos_delete_history_toast_title Delete history ? Delete history ? - + group_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? All the messages will be removed from the chat room. Do you want to continue ? @@ -2870,28 +2870,28 @@ Only your correspondent can decrypt them. Create contact - + one_one_infos_ephemerals Ephemeral messages : - + one_one_infos_enable_ephemerals Enable ephemeral messages - + one_one_infos_delete_history Delete history - + one_one_infos_delete_history_toast_title Delete history ? Delete history ? - + one_one_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? All the messages will be removed from the chat room. Do you want to continue ? @@ -3859,7 +3859,7 @@ Expiration : %1 Add participants - + meeting_schedule_send_invitations_title "Envoyer une invitation aux participants" Send an invitation to participants @@ -4016,7 +4016,7 @@ Expiration : %1 - + saved "Enregistré" Saved @@ -4046,12 +4046,12 @@ Expiration : %1 Add participants - + meeting_schedule_add_participants_apply Apply - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4060,31 +4060,31 @@ Expiration : %1 - + meeting_info_delete "Supprimer la réunion" Delete meeting - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Meeting URI copied - + meeting_schedule_timezone_title "Fuseau horaire" Timezone - + meeting_info_organizer_label "Organisateur" Organizer - + meeting_info_join_title "Rejoindre la réunion" Join meeting diff --git a/Linphone/data/languages/fr_FR.ts b/Linphone/data/languages/fr_FR.ts index 39688cca1..5f8bc6bbb 100644 --- a/Linphone/data/languages/fr_FR.ts +++ b/Linphone/data/languages/fr_FR.ts @@ -2777,41 +2777,41 @@ en bout. Seul votre correspondant peut les déchiffrer. Sourdine - + group_infos_participants Participants (%1) - + group_infos_media_docs Medias & documents Medias & documents - + group_infos_shared_medias Shared medias Médias partagés - + group_infos_shared_docs Shared documents Documents partagés - + group_infos_other_actions Other actions Autres actions - + group_infos_ephemerals Messages éphémères : - + group_infos_enable_ephemerals Activer les messages éphémères @@ -2822,37 +2822,37 @@ en bout. Seul votre correspondant peut les déchiffrer. Programmer une réunion - + group_infos_leave_room Leave chat room Quitter la conversation - + group_infos_leave_room_toast_title Leave Chat Room ? Quitter la conversation ? - + group_infos_leave_room_toast_message All the messages will be removed from the chat room. Do you want to continue ? Vous ne recevrez ni pourrez envoyer des messages dans cette conversation, quitter ? - + group_infos_delete_history Delete history Supprimer l'historique - + group_infos_delete_history_toast_title Delete history ? Supprimer l'historique ? - + group_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? Tous les messages seront supprimés. Souhaitez-vous continuer ? @@ -2870,28 +2870,28 @@ en bout. Seul votre correspondant peut les déchiffrer. Créer un contact - + one_one_infos_ephemerals Messages éphémères : - + one_one_infos_enable_ephemerals Activer les messages éphémères - + one_one_infos_delete_history Supprimer l'historique - + one_one_infos_delete_history_toast_title Delete history ? Supprimer l'historique ? - + one_one_infos_delete_history_toast_message All the messages will be removed from the chat room. Do you want to continue ? Tous les messages seront supprimés. Souhaitez-vous continuer ? @@ -3859,7 +3859,7 @@ Expiration : %1 Ajouter des participants - + meeting_schedule_send_invitations_title "Envoyer une invitation aux participants" Envoyer une invitation aux participants @@ -4016,7 +4016,7 @@ Expiration : %1 - + saved "Enregistré" Enregistré @@ -4046,12 +4046,12 @@ Expiration : %1 Ajouter des participants - + meeting_schedule_add_participants_apply Appliquer - + group_call_participant_selected "%n participant(s) sélectionné(s)" @@ -4060,31 +4060,31 @@ Expiration : %1 - + meeting_info_delete "Supprimer la réunion" Supprimer la réunion - + meeting_address_copied_to_clipboard_toast "Adresse de la réunion copiée" Adresse de la réunion copiée - + meeting_schedule_timezone_title "Fuseau horaire" Fuseau horaire - + meeting_info_organizer_label "Organisateur" Organisateur - + meeting_info_join_title "Rejoindre la réunion" Rejoindre la réunion diff --git a/Linphone/view/Control/Display/Contact/AllContactListView.qml b/Linphone/view/Control/Display/Contact/AllContactListView.qml index d66c3e5ce..9f0b30587 100644 --- a/Linphone/view/Control/Display/Contact/AllContactListView.qml +++ b/Linphone/view/Control/Display/Contact/AllContactListView.qml @@ -47,7 +47,7 @@ Flickable { property real sectionsPixelSize: Typography.h4.pixelSize property real sectionsWeight: Typography.h4.weight property real sectionsSpacing: Math.round(18 * DefaultStyle.dp) - property real busyIndicatorSize: Math.round(40 * DefaultStyle.dp) + property real busyIndicatorSize: Math.round(60 * DefaultStyle.dp) property real itemsRightMargin: Math.round(39 * DefaultStyle.dp) property int count: contactsList.count + suggestionsList.count + favoritesList.count diff --git a/Linphone/view/Page/Form/Meeting/MeetingForm.qml b/Linphone/view/Page/Form/Meeting/MeetingForm.qml index ff73e55ac..d620feb7e 100644 --- a/Linphone/view/Page/Form/Meeting/MeetingForm.qml +++ b/Linphone/view/Page/Form/Meeting/MeetingForm.qml @@ -287,9 +287,16 @@ FocusScope { Layout.maximumHeight: Math.round(250 * DefaultStyle.dp) clip: true model: mainItem.conferenceInfoGui.core.participants + Control.ScrollBar.vertical: ScrollBar { + id: participantScrollBar + anchors.right: participantList.right + anchors.top: participantList.top + anchors.bottom: participantList.bottom + visible: participantList.height < participantList.contentHeight + } delegate: Item { height: Math.round(56 * DefaultStyle.dp) - width: participantList.width + width: participantList.width - participantScrollBar.width RowLayout { anchors.fill: parent spacing: Math.round(16 * DefaultStyle.dp) diff --git a/Linphone/view/Page/Layout/Chat/ConversationInfos.qml b/Linphone/view/Page/Layout/Chat/ConversationInfos.qml index c1ef60ad1..881c1605a 100644 --- a/Linphone/view/Page/Layout/Chat/ConversationInfos.qml +++ b/Linphone/view/Page/Layout/Chat/ConversationInfos.qml @@ -244,10 +244,17 @@ ColumnLayout { Layout.topMargin: Math.round(30 * DefaultStyle.dp) clip: true Layout.leftMargin: Math.round(15 * DefaultStyle.dp) + + Control.ScrollBar.vertical: ScrollBar { + id: scrollbar + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: parent.right + } ColumnLayout { spacing: 0 - width: scrollView.width + width: scrollView.width - scrollbar.width - Math.round(5 * DefaultStyle.dp) Loader { id: participantLoader diff --git a/Linphone/view/Page/Main/Meeting/MeetingPage.qml b/Linphone/view/Page/Main/Meeting/MeetingPage.qml index 2cffa7fab..744767da1 100644 --- a/Linphone/view/Page/Main/Meeting/MeetingPage.qml +++ b/Linphone/view/Page/Main/Meeting/MeetingPage.qml @@ -544,7 +544,6 @@ AbstractMainPage { id: addParticipantInItem property Control.StackView container property ConferenceInfoGui conferenceInfoGui - width: overridenRightPanelStackView.width ColumnLayout { id: addParticipantsLayout spacing: Math.round(18 * DefaultStyle.dp) @@ -584,7 +583,6 @@ AbstractMainPage { SmallButton { id: addButton enabled: addParticipantLayout.selectedParticipantsCount.length != 0 - Layout.leftMargin: Math.round(11 * DefaultStyle.dp) focus: enabled style: ButtonStyle.main text: qsTr("meeting_schedule_add_participants_apply") @@ -865,9 +863,16 @@ AbstractMainPage { Layout.fillWidth: true model: mainItem.selectedConference && mainItem.selectedConference.core ? mainItem.selectedConference.core.participants : [] clip: true + Control.ScrollBar.vertical: ScrollBar { + id: participantScrollBar + anchors.right: participantList.right + anchors.top: participantList.top + anchors.bottom: participantList.bottom + visible: participantList.height < participantList.contentHeight + } delegate: RowLayout { height: Math.round(56 * DefaultStyle.dp) - width: participantList.width + width: participantList.width - participantScrollBar.width - Math.round(5 * DefaultStyle.dp) Avatar { Layout.preferredWidth: Math.round(45 * DefaultStyle.dp) Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)