Browse Source

room-details: Only show members with default PL in view to add custom PLs

It is more consistent with the wording that way.
fractal-12
Kévin Commaille 8 months ago
parent
commit
87406c1278
No known key found for this signature in database
GPG Key ID: F26F4BE20A08255B
  1. 10
      src/session/view/content/room_details/permissions/add_members_subpage.rs
  2. 41
      src/session/view/content/room_details/permissions/select_member_row.ui

10
src/session/view/content/room_details/permissions/add_members_subpage.rs

@ -3,7 +3,7 @@ use gtk::{
CompositeTemplate, glib,
glib::{clone, closure, closure_local},
};
use ruma::{OwnedUserId, events::room::power_levels::PowerLevelUserAction};
use ruma::OwnedUserId;
use tracing::error;
use super::{MemberPowerLevel, PermissionsSelectMemberRow, PrivilegedMembers};
@ -120,11 +120,9 @@ mod imp {
return false;
};
// Filter out members whose power level cannot be changed.
permissions.can_do_to_user(
member.user_id(),
PowerLevelUserAction::ChangePowerLevel,
)
// Since this is a view to add custom power levels, filter out members with
// a custom power level already.
member.power_level() == permissions.default_power_level()
}
));
}

41
src/session/view/content/room_details/permissions/select_member_row.ui

@ -31,36 +31,21 @@
<class name="title"/>
</style>
<child>
<object class="GtkBox">
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="display-name">
<property name="halign">start</property>
<property name="ellipsize">end</property>
<binding name="label">
<lookup name="display-name">
<lookup name="member">RoomDetailsPermissionsSelectMemberRow</lookup>
</lookup>
</binding>
<style>
<class name="title"/>
</style>
</object>
</child>
<child>
<object class="RoleBadge" id="role_badge">
<property name="visible" bind-source="role_badge" bind-property="is-default-role" bind-flags="sync-create | invert-boolean"/>
<binding name="role">
<lookup name="role">
<lookup name="member">RoomDetailsPermissionsSelectMemberRow</lookup>
</lookup>
</binding>
</object>
</child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="ellipsize">end</property>
<binding name="label">
<lookup name="display-name">
<lookup name="member">RoomDetailsPermissionsSelectMemberRow</lookup>
</lookup>
</binding>
<style>
<class name="title"/>
</style>
</object>
</child>
<child>
<object class="GtkLabel" id="subtitle">
<object class="GtkLabel">
<property name="hexpand">True</property>
<property name="halign">start</property>
<property name="ellipsize">end</property>
@ -77,7 +62,7 @@
</object>
</child>
<child>
<object class="GtkCheckButton" id="check_button">
<object class="GtkCheckButton">
<property name="focusable">False</property>
<property name="active" bind-source="RoomDetailsPermissionsSelectMemberRow" bind-property="selected" bind-flags="sync-create | bidirectional" />
</object>

Loading…
Cancel
Save