Group Titles window + toolbar button: pick any title from all your groups in one list #868

Open
opened 2026-10-19 13:52:40 +00:00 by sky_line · 0 comments
Owner

A toolbar button (and menu entry) that opens a Group Titles window listing every title you can wear across all of your groups, so switching your active group + title is one click instead of going through each group's profile.

Behaviour

  • One list, one row per (group, title) you hold: Title, Group, with the currently active title highlighted.
  • A "No group / hide title" row at the top to clear the active group.
  • Selecting a row (double-click or an Activate button) makes that group active and sets that title in one step.
  • A filter box to search by title or group name; columns sortable.
  • Stays in sync: updates when you join/leave a group, get a new role, or change the active group/title elsewhere (group profile, chat command, script).
  • Shows a loading state per group while its titles are being fetched; groups whose titles fail to load show a retry instead of silently missing.

UI entry points

  • Toolbar command (commands.xml) with an icon, toggling the window.
  • Menu entry (Me or Communicate > Groups area) opening the same window.

Implementation notes

  • Titles per group: LLGroupMgr::sendGroupTitlesRequest(group_id) -> LLGroupMgrGroupData::mTitles (LLGroupTitle: name, role id, selected). Request for each of gAgent.mGroups when the window opens; listen via LLGroupMgrObserver (GC_TITLES) to fill rows as replies arrive.
  • Activate: LLGroupActions::activate(group_id) (or the existing activate-group message) followed by LLGroupMgr::sendGroupTitleUpdate(group_id, title_role_id); order matters so the title applies to the newly active group.
  • Don't flood the sim: throttle the per-group title requests when an avatar is in many groups (e.g. a few in flight at a time), and reuse cached titles that are fresh.
  • Our own floater (XUI + LLFloaterReg), settings-backed column/sort state.

Acceptance

  • With 40+ groups, opening the window lists every holdable title without stalling the viewer.
  • One click switches active group + title; the name tag updates.
  • Filter finds a title by partial text.
  • Joining/leaving a group or a role change updates the list without reopening it.
A toolbar button (and menu entry) that opens a **Group Titles** window listing every title you can wear across all of your groups, so switching your active group + title is one click instead of going through each group's profile. ## Behaviour - One list, one row per (group, title) you hold: **Title**, **Group**, with the currently active title highlighted. - A **"No group / hide title"** row at the top to clear the active group. - Selecting a row (double-click or an *Activate* button) makes that group active **and** sets that title in one step. - A filter box to search by title or group name; columns sortable. - Stays in sync: updates when you join/leave a group, get a new role, or change the active group/title elsewhere (group profile, chat command, script). - Shows a loading state per group while its titles are being fetched; groups whose titles fail to load show a retry instead of silently missing. ## UI entry points - Toolbar command (commands.xml) with an icon, toggling the window. - Menu entry (Me or Communicate > Groups area) opening the same window. ## Implementation notes - Titles per group: `LLGroupMgr::sendGroupTitlesRequest(group_id)` -> `LLGroupMgrGroupData::mTitles` (`LLGroupTitle`: name, role id, selected). Request for each of `gAgent.mGroups` when the window opens; listen via `LLGroupMgrObserver` (GC_TITLES) to fill rows as replies arrive. - Activate: `LLGroupActions::activate(group_id)` (or the existing activate-group message) followed by `LLGroupMgr::sendGroupTitleUpdate(group_id, title_role_id)`; order matters so the title applies to the newly active group. - Don't flood the sim: throttle the per-group title requests when an avatar is in many groups (e.g. a few in flight at a time), and reuse cached titles that are fresh. - Our own floater (XUI + LLFloaterReg), settings-backed column/sort state. ## Acceptance - With 40+ groups, opening the window lists every holdable title without stalling the viewer. - One click switches active group + title; the name tag updates. - Filter finds a title by partial text. - Joining/leaving a group or a role change updates the list without reopening it.
sky_line added this to the Slipstream project 2026-10-19 13:52:40 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#868
No description provided.