hide chatroom actions if user left group #LINQT-2189

hide new group chat button if no conference factory uri defined for the account #LINQT-2178
This commit is contained in:
gaelle.braud 2025-11-18 14:41:09 +01:00
parent 3c264fd3ee
commit b802fec33c
8 changed files with 48 additions and 32 deletions

View file

@ -63,9 +63,14 @@ int SortFilterProxy::getFilterType() const {
void SortFilterProxy::setFilterType(int filterType) { void SortFilterProxy::setFilterType(int filterType) {
if (getFilterType() != filterType) { if (getFilterType() != filterType) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0)
beginFilterChange(); beginFilterChange();
mFilterType = filterType; mFilterType = filterType;
endFilterChange(); endFilterChange();
#else
mFilterType = filterType;
invalidateFilter();
#endif
emit filterTypeChanged(filterType); emit filterTypeChanged(filterType);
} }
} }
@ -76,9 +81,14 @@ QString SortFilterProxy::getFilterText() const {
void SortFilterProxy::setFilterText(const QString &filter) { void SortFilterProxy::setFilterText(const QString &filter) {
if (mFilterText != filter) { if (mFilterText != filter) {
#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0)
beginFilterChange(); beginFilterChange();
mFilterText = filter; mFilterText = filter;
endFilterChange(); endFilterChange();
#else
mFilterText = filter;
invalidateFilter();
#endif
emit filterTextChanged(); emit filterTextChanged();
} }
} }
@ -92,6 +102,10 @@ void SortFilterProxy::remove(int index, int count) {
} }
void SortFilterProxy::invalidateFilter() { void SortFilterProxy::invalidateFilter() {
#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0)
QSortFilterProxyModel::beginFilterChange(); QSortFilterProxyModel::beginFilterChange();
QSortFilterProxyModel::endFilterChange(); QSortFilterProxyModel::endFilterChange();
#else
invalidateFilter();
#endif
} }

View file

@ -2573,26 +2573,26 @@ Error</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="290"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="291"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="292"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="293"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Erstellen</translation> <translation>Erstellen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="308"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="331"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="332"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="310"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -2603,25 +2603,25 @@ Error</extracomment>
<translation type="obsolete">Der Codec konnte nicht installiert werden.</translation> <translation type="obsolete">Der Codec konnte nicht installiert werden.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="328"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="329"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="333"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="338"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="339"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Sie sind nicht verbunden</translation> <translation>Sie sind nicht verbunden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="344"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="345"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>

View file

@ -2547,50 +2547,50 @@ Only your correspondent can decrypt them.</translation>
<translation>New conversation</translation> <translation>New conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="290"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="291"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>New group</translation> <translation>New group</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="292"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="293"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Create</translation> <translation>Create</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="308"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="331"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="332"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="310"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation>Creation failed</translation> <translation>Creation failed</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="328"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="329"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>A name must be set for the group</translation> <translation>A name must be set for the group</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="333"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation>Please select at least one participant</translation> <translation>Please select at least one participant</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="338"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="339"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>You are not connected</translation> <translation>You are not connected</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="344"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="345"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation>Chat creation pending</translation> <translation>Chat creation pending</translation>

View file

@ -2547,50 +2547,50 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<translation>Nouvelle conversation</translation> <translation>Nouvelle conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="290"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="291"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>Nouveau groupe</translation> <translation>Nouveau groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="292"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="293"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Créer</translation> <translation>Créer</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="308"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="309"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="331"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="332"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="310"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="311"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation>La création a échoué</translation> <translation>La création a échoué</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="328"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="329"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>Un nom doit être donné au groupe</translation> <translation>Un nom doit être donné au groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="333"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation>Veuillez sélectionner au moins un participant</translation> <translation>Veuillez sélectionner au moins un participant</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="338"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="339"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Vous n&apos;êtes pas connecté</translation> <translation>Vous n&apos;êtes pas connecté</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="344"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="345"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation>Création de la conversation en cours</translation> <translation>Création de la conversation en cours</translation>

View file

@ -135,7 +135,7 @@ FocusScope {
RowLayout { RowLayout {
spacing: Utils.getSizeWithScreenRatio(16) spacing: Utils.getSizeWithScreenRatio(16)
RoundButton { RoundButton {
visible: !mainItem.call visible: !mainItem.call && !mainItem.chat?.core.isReadOnly
style: ButtonStyle.noBackground style: ButtonStyle.noBackground
icon.source: AppIcons.phone icon.source: AppIcons.phone
onPressed: { onPressed: {

View file

@ -171,6 +171,7 @@ ColumnLayout {
} }
RowLayout { RowLayout {
visible: !mainItem.chatCore.isReadOnly
spacing: Utils.getSizeWithScreenRatio(10) spacing: Utils.getSizeWithScreenRatio(10)
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.topMargin: Utils.getSizeWithScreenRatio(30) Layout.topMargin: Utils.getSizeWithScreenRatio(30)

View file

@ -130,7 +130,7 @@ AbstractSettingsLayout {
} else { } else {
UtilsCpp.showInformationPopup(qsTr("error"), UtilsCpp.showInformationPopup(qsTr("error"),
//: Error copying your SIP address //: Error copying your SIP address
qsTr("account_settings_sip_address_copied_error_message")) qsTr("account_settings_sip_address_copied_error_message"), false)
} }
} }
} }

View file

@ -261,6 +261,7 @@ AbstractMainPage {
} }
NewChatForm { NewChatForm {
id: newChatForm id: newChatForm
startGroupButtonVisible: mainItem.account && mainItem.account.core.conferenceFactoryAddress !== ""
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.rightMargin: Utils.getSizeWithScreenRatio(8) Layout.rightMargin: Utils.getSizeWithScreenRatio(8)