add shared character data sets display to main ui
This commit is contained in:
@@ -44,6 +44,7 @@ public class CompactUi : WindowMediatorSubscriberBase
|
|||||||
private readonly SelectPairForGroupUi _selectPairsForGroupUi;
|
private readonly SelectPairForGroupUi _selectPairsForGroupUi;
|
||||||
private readonly ServerConfigurationManager _serverManager;
|
private readonly ServerConfigurationManager _serverManager;
|
||||||
private readonly Stopwatch _timeout = new();
|
private readonly Stopwatch _timeout = new();
|
||||||
|
private readonly CharaDataManager _charaDataManager;
|
||||||
private readonly UidDisplayHandler _uidDisplayHandler;
|
private readonly UidDisplayHandler _uidDisplayHandler;
|
||||||
private readonly UiSharedService _uiSharedService;
|
private readonly UiSharedService _uiSharedService;
|
||||||
private bool _buttonState;
|
private bool _buttonState;
|
||||||
@@ -59,7 +60,7 @@ public class CompactUi : WindowMediatorSubscriberBase
|
|||||||
private bool _wasOpen;
|
private bool _wasOpen;
|
||||||
|
|
||||||
public CompactUi(ILogger<CompactUi> logger, UiSharedService uiShared, MareConfigService configService, ApiController apiController, PairManager pairManager, ChatService chatService,
|
public CompactUi(ILogger<CompactUi> logger, UiSharedService uiShared, MareConfigService configService, ApiController apiController, PairManager pairManager, ChatService chatService,
|
||||||
ServerConfigurationManager serverManager, MareMediator mediator, FileUploadManager fileTransferManager, UidDisplayHandler uidDisplayHandler,
|
ServerConfigurationManager serverManager, MareMediator mediator, FileUploadManager fileTransferManager, UidDisplayHandler uidDisplayHandler, CharaDataManager charaDataManager,
|
||||||
PerformanceCollectorService performanceCollectorService)
|
PerformanceCollectorService performanceCollectorService)
|
||||||
: base(logger, mediator, "###LoporritSyncMainUI", performanceCollectorService)
|
: base(logger, mediator, "###LoporritSyncMainUI", performanceCollectorService)
|
||||||
{
|
{
|
||||||
@@ -71,9 +72,10 @@ public class CompactUi : WindowMediatorSubscriberBase
|
|||||||
_serverManager = serverManager;
|
_serverManager = serverManager;
|
||||||
_fileTransferManager = fileTransferManager;
|
_fileTransferManager = fileTransferManager;
|
||||||
_uidDisplayHandler = uidDisplayHandler;
|
_uidDisplayHandler = uidDisplayHandler;
|
||||||
|
_charaDataManager = charaDataManager;
|
||||||
var tagHandler = new TagHandler(_serverManager);
|
var tagHandler = new TagHandler(_serverManager);
|
||||||
|
|
||||||
_groupPanel = new(this, uiShared, _pairManager, _chatService, uidDisplayHandler, _configService, _serverManager);
|
_groupPanel = new(this, uiShared, _pairManager, _chatService, uidDisplayHandler, _configService, _serverManager, _charaDataManager);
|
||||||
_selectGroupForPairUi = new(tagHandler, uidDisplayHandler, _uiSharedService);
|
_selectGroupForPairUi = new(tagHandler, uidDisplayHandler, _uiSharedService);
|
||||||
_selectPairsForGroupUi = new(tagHandler, uidDisplayHandler);
|
_selectPairsForGroupUi = new(tagHandler, uidDisplayHandler);
|
||||||
_pairGroupsUi = new(configService, tagHandler, uidDisplayHandler, apiController, _selectPairsForGroupUi, _uiSharedService);
|
_pairGroupsUi = new(configService, tagHandler, uidDisplayHandler, apiController, _selectPairsForGroupUi, _uiSharedService);
|
||||||
@@ -371,9 +373,9 @@ public class CompactUi : WindowMediatorSubscriberBase
|
|||||||
: (ImGui.GetWindowContentRegionMax().Y - ImGui.GetWindowContentRegionMin().Y) - TransferPartHeight - ImGui.GetCursorPosY();
|
: (ImGui.GetWindowContentRegionMax().Y - ImGui.GetWindowContentRegionMin().Y) - TransferPartHeight - ImGui.GetCursorPosY();
|
||||||
var users = GetFilteredUsers().OrderBy(u => u.GetPairSortKey());
|
var users = GetFilteredUsers().OrderBy(u => u.GetPairSortKey());
|
||||||
|
|
||||||
var onlineUsers = users.Where(u => u.UserPair!.OtherPermissions.IsPaired() && (u.IsOnline || u.UserPair!.OwnPermissions.IsPaused())).Select(c => new DrawUserPair("Online" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService)).ToList();
|
var onlineUsers = users.Where(u => u.UserPair!.OtherPermissions.IsPaired() && (u.IsOnline || u.UserPair!.OwnPermissions.IsPaused())).Select(c => new DrawUserPair("Online" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService, _charaDataManager)).ToList();
|
||||||
var visibleUsers = users.Where(u => u.IsVisible).Select(c => new DrawUserPair("Visible" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService)).ToList();
|
var visibleUsers = users.Where(u => u.IsVisible).Select(c => new DrawUserPair("Visible" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService, _charaDataManager)).ToList();
|
||||||
var offlineUsers = users.Where(u => !u.UserPair!.OtherPermissions.IsPaired() || (!u.IsOnline && !u.UserPair!.OwnPermissions.IsPaused())).Select(c => new DrawUserPair("Offline" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService)).ToList();
|
var offlineUsers = users.Where(u => !u.UserPair!.OtherPermissions.IsPaired() || (!u.IsOnline && !u.UserPair!.OwnPermissions.IsPaused())).Select(c => new DrawUserPair("Offline" + c.UserData.UID, c, _uidDisplayHandler, _apiController, Mediator, _selectGroupForPairUi, _uiSharedService, _charaDataManager)).ToList();
|
||||||
|
|
||||||
ImGui.BeginChild("list", new Vector2(WindowContentWidth, ySize), border: false);
|
ImGui.BeginChild("list", new Vector2(WindowContentWidth, ySize), border: false);
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using MareSynchronos.API.Data.Enum;
|
|||||||
using MareSynchronos.Services.Mediator;
|
using MareSynchronos.Services.Mediator;
|
||||||
using Dalamud.Interface.Utility;
|
using Dalamud.Interface.Utility;
|
||||||
using MareSynchronos.UI.Components.Popup;
|
using MareSynchronos.UI.Components.Popup;
|
||||||
|
using MareSynchronos.Services;
|
||||||
|
|
||||||
namespace MareSynchronos.UI.Components;
|
namespace MareSynchronos.UI.Components;
|
||||||
|
|
||||||
@@ -20,15 +21,17 @@ public class DrawGroupPair : DrawPairBase
|
|||||||
protected readonly MareMediator _mediator;
|
protected readonly MareMediator _mediator;
|
||||||
private readonly GroupPairFullInfoDto _fullInfoDto;
|
private readonly GroupPairFullInfoDto _fullInfoDto;
|
||||||
private readonly GroupFullInfoDto _group;
|
private readonly GroupFullInfoDto _group;
|
||||||
|
private readonly CharaDataManager _charaDataManager;
|
||||||
|
|
||||||
public DrawGroupPair(string id, Pair entry, ApiController apiController,
|
public DrawGroupPair(string id, Pair entry, ApiController apiController,
|
||||||
MareMediator mareMediator, GroupFullInfoDto group, GroupPairFullInfoDto fullInfoDto,
|
MareMediator mareMediator, GroupFullInfoDto group, GroupPairFullInfoDto fullInfoDto,
|
||||||
UidDisplayHandler handler, UiSharedService uiSharedService)
|
UidDisplayHandler handler, UiSharedService uiSharedService, CharaDataManager charaDataManager)
|
||||||
: base(id, entry, apiController, handler, uiSharedService)
|
: base(id, entry, apiController, handler, uiSharedService)
|
||||||
{
|
{
|
||||||
_group = group;
|
_group = group;
|
||||||
_fullInfoDto = fullInfoDto;
|
_fullInfoDto = fullInfoDto;
|
||||||
_mediator = mareMediator;
|
_mediator = mareMediator;
|
||||||
|
_charaDataManager = charaDataManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void DrawLeftSide(float textPosY, float originalY)
|
protected override void DrawLeftSide(float textPosY, float originalY)
|
||||||
@@ -140,6 +143,7 @@ public class DrawGroupPair : DrawPairBase
|
|||||||
var individualAnimDisabled = (_pair.UserPair?.OwnPermissions.IsDisableAnimations() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableAnimations() ?? false);
|
var individualAnimDisabled = (_pair.UserPair?.OwnPermissions.IsDisableAnimations() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableAnimations() ?? false);
|
||||||
var individualVFXDisabled = (_pair.UserPair?.OwnPermissions.IsDisableVFX() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableVFX() ?? false);
|
var individualVFXDisabled = (_pair.UserPair?.OwnPermissions.IsDisableVFX() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableVFX() ?? false);
|
||||||
|
|
||||||
|
bool showShared = _charaDataManager.SharedWithYouData.TryGetValue(_pair.UserData, out var sharedData);
|
||||||
bool showInfo = (individualAnimDisabled || individualSoundsDisabled || animDisabled || soundsDisabled);
|
bool showInfo = (individualAnimDisabled || individualSoundsDisabled || animDisabled || soundsDisabled);
|
||||||
bool showPlus = _pair.UserPair == null;
|
bool showPlus = _pair.UserPair == null;
|
||||||
bool showBars = (userIsOwner || (userIsModerator && !entryIsMod && !entryIsOwner)) || !_pair.IsPaused;
|
bool showBars = (userIsOwner || (userIsModerator && !entryIsMod && !entryIsOwner)) || !_pair.IsPaused;
|
||||||
@@ -147,16 +151,33 @@ public class DrawGroupPair : DrawPairBase
|
|||||||
var spacing = ImGui.GetStyle().ItemSpacing.X;
|
var spacing = ImGui.GetStyle().ItemSpacing.X;
|
||||||
var permIcon = (individualAnimDisabled || individualSoundsDisabled || individualVFXDisabled) ? FontAwesomeIcon.ExclamationTriangle
|
var permIcon = (individualAnimDisabled || individualSoundsDisabled || individualVFXDisabled) ? FontAwesomeIcon.ExclamationTriangle
|
||||||
: ((soundsDisabled || animDisabled || vfxDisabled) ? FontAwesomeIcon.InfoCircle : FontAwesomeIcon.None);
|
: ((soundsDisabled || animDisabled || vfxDisabled) ? FontAwesomeIcon.InfoCircle : FontAwesomeIcon.None);
|
||||||
|
var runningIconWidth = _uiSharedService.GetIconButtonSize(FontAwesomeIcon.Running).X;
|
||||||
var infoIconWidth = UiSharedService.GetIconSize(permIcon).X;
|
var infoIconWidth = UiSharedService.GetIconSize(permIcon).X;
|
||||||
var plusButtonWidth = _uiSharedService.GetIconButtonSize(FontAwesomeIcon.Plus).X;
|
var plusButtonWidth = _uiSharedService.GetIconButtonSize(FontAwesomeIcon.Plus).X;
|
||||||
var barButtonWidth = _uiSharedService.GetIconButtonSize(FontAwesomeIcon.Bars).X;
|
var barButtonWidth = _uiSharedService.GetIconButtonSize(FontAwesomeIcon.Bars).X;
|
||||||
|
|
||||||
var pos = ImGui.GetWindowContentRegionMin().X + UiSharedService.GetWindowContentRegionWidth() + spacing
|
var pos = ImGui.GetWindowContentRegionMin().X + UiSharedService.GetWindowContentRegionWidth() + spacing
|
||||||
|
- (showShared ? (runningIconWidth + spacing) : 0)
|
||||||
- (showInfo ? (infoIconWidth + spacing) : 0)
|
- (showInfo ? (infoIconWidth + spacing) : 0)
|
||||||
- (showPlus ? (plusButtonWidth + spacing) : 0)
|
- (showPlus ? (plusButtonWidth + spacing) : 0)
|
||||||
- (showBars ? (barButtonWidth + spacing) : 0);
|
- (showBars ? (barButtonWidth + spacing) : 0);
|
||||||
|
|
||||||
ImGui.SameLine(pos);
|
ImGui.SameLine(pos);
|
||||||
|
|
||||||
|
if (showShared)
|
||||||
|
{
|
||||||
|
_uiSharedService.IconText(FontAwesomeIcon.Running);
|
||||||
|
|
||||||
|
UiSharedService.AttachToolTip($"This user has shared {sharedData!.Count} Character Data Sets with you." + UiSharedService.TooltipSeparator
|
||||||
|
+ "Click to open the Character Data Hub and show the entries.");
|
||||||
|
|
||||||
|
if (ImGui.IsItemClicked(ImGuiMouseButton.Left))
|
||||||
|
{
|
||||||
|
_mediator.Publish(new OpenCharaDataHubWithFilterMessage(_pair.UserData));
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
}
|
||||||
|
|
||||||
if (individualAnimDisabled || individualSoundsDisabled)
|
if (individualAnimDisabled || individualSoundsDisabled)
|
||||||
{
|
{
|
||||||
ImGui.SetCursorPosY(textPosY);
|
ImGui.SetCursorPosY(textPosY);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ using MareSynchronos.API.Dto.User;
|
|||||||
using MareSynchronos.Services.Mediator;
|
using MareSynchronos.Services.Mediator;
|
||||||
using MareSynchronos.UI.Handlers;
|
using MareSynchronos.UI.Handlers;
|
||||||
using Dalamud.Interface.Utility;
|
using Dalamud.Interface.Utility;
|
||||||
|
using MareSynchronos.Services;
|
||||||
|
|
||||||
namespace MareSynchronos.UI.Components;
|
namespace MareSynchronos.UI.Components;
|
||||||
|
|
||||||
@@ -18,16 +19,18 @@ public class DrawUserPair : DrawPairBase
|
|||||||
{
|
{
|
||||||
protected readonly MareMediator _mediator;
|
protected readonly MareMediator _mediator;
|
||||||
private readonly SelectGroupForPairUi _selectGroupForPairUi;
|
private readonly SelectGroupForPairUi _selectGroupForPairUi;
|
||||||
|
private readonly CharaDataManager _charaDataManager;
|
||||||
|
|
||||||
public DrawUserPair(string id, Pair entry, UidDisplayHandler displayHandler, ApiController apiController,
|
public DrawUserPair(string id, Pair entry, UidDisplayHandler displayHandler, ApiController apiController,
|
||||||
MareMediator mareMediator, SelectGroupForPairUi selectGroupForPairUi,
|
MareMediator mareMediator, SelectGroupForPairUi selectGroupForPairUi,
|
||||||
UiSharedService uiSharedService)
|
UiSharedService uiSharedService, CharaDataManager charaDataManager)
|
||||||
: base(id, entry, apiController, displayHandler, uiSharedService)
|
: base(id, entry, apiController, displayHandler, uiSharedService)
|
||||||
{
|
{
|
||||||
if (_pair.UserPair == null) throw new ArgumentException("Pair must be UserPair", nameof(entry));
|
if (_pair.UserPair == null) throw new ArgumentException("Pair must be UserPair", nameof(entry));
|
||||||
_pair = entry;
|
_pair = entry;
|
||||||
_selectGroupForPairUi = selectGroupForPairUi;
|
_selectGroupForPairUi = selectGroupForPairUi;
|
||||||
_mediator = mareMediator;
|
_mediator = mareMediator;
|
||||||
|
_charaDataManager = charaDataManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsOnline => _pair.IsOnline;
|
public bool IsOnline => _pair.IsOnline;
|
||||||
@@ -103,22 +106,51 @@ public class DrawUserPair : DrawPairBase
|
|||||||
var entryUID = _pair.UserData.AliasOrUID;
|
var entryUID = _pair.UserData.AliasOrUID;
|
||||||
var spacingX = ImGui.GetStyle().ItemSpacing.X;
|
var spacingX = ImGui.GetStyle().ItemSpacing.X;
|
||||||
var windowEndX = ImGui.GetWindowContentRegionMin().X + UiSharedService.GetWindowContentRegionWidth();
|
var windowEndX = ImGui.GetWindowContentRegionMin().X + UiSharedService.GetWindowContentRegionWidth();
|
||||||
var rightSideStart = 0f;
|
var rightSidePos = windowEndX - barButtonSize.X;
|
||||||
|
|
||||||
|
// Flyout Menu
|
||||||
|
ImGui.SameLine(rightSidePos);
|
||||||
|
ImGui.SetCursorPosY(originalY);
|
||||||
|
|
||||||
|
if (_uiSharedService.IconButton(FontAwesomeIcon.Bars))
|
||||||
|
{
|
||||||
|
ImGui.OpenPopup("User Flyout Menu");
|
||||||
|
}
|
||||||
|
if (ImGui.BeginPopup("User Flyout Menu"))
|
||||||
|
{
|
||||||
|
using (ImRaii.PushId($"buttons-{_pair.UserData.UID}")) DrawPairedClientMenu(_pair);
|
||||||
|
ImGui.EndPopup();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pause (mutual pairs only)
|
||||||
if (_pair.UserPair!.OwnPermissions.IsPaired() && _pair.UserPair!.OtherPermissions.IsPaired())
|
if (_pair.UserPair!.OwnPermissions.IsPaired() && _pair.UserPair!.OtherPermissions.IsPaired())
|
||||||
{
|
{
|
||||||
|
rightSidePos -= pauseIconSize.X + spacingX;
|
||||||
|
ImGui.SameLine(rightSidePos);
|
||||||
|
ImGui.SetCursorPosY(originalY);
|
||||||
|
if (_uiSharedService.IconButton(pauseIcon))
|
||||||
|
{
|
||||||
|
var perm = _pair.UserPair!.OwnPermissions;
|
||||||
|
perm.SetPaused(!perm.IsPaused());
|
||||||
|
_ = _apiController.UserSetPairPermissions(new(_pair.UserData, perm));
|
||||||
|
}
|
||||||
|
UiSharedService.AttachToolTip(!_pair.UserPair!.OwnPermissions.IsPaused()
|
||||||
|
? "Pause pairing with " + entryUID
|
||||||
|
: "Resume pairing with " + entryUID);
|
||||||
|
|
||||||
|
|
||||||
var individualSoundsDisabled = (_pair.UserPair?.OwnPermissions.IsDisableSounds() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableSounds() ?? false);
|
var individualSoundsDisabled = (_pair.UserPair?.OwnPermissions.IsDisableSounds() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableSounds() ?? false);
|
||||||
var individualAnimDisabled = (_pair.UserPair?.OwnPermissions.IsDisableAnimations() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableAnimations() ?? false);
|
var individualAnimDisabled = (_pair.UserPair?.OwnPermissions.IsDisableAnimations() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableAnimations() ?? false);
|
||||||
var individualVFXDisabled = (_pair.UserPair?.OwnPermissions.IsDisableVFX() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableVFX() ?? false);
|
var individualVFXDisabled = (_pair.UserPair?.OwnPermissions.IsDisableVFX() ?? false) || (_pair.UserPair?.OtherPermissions.IsDisableVFX() ?? false);
|
||||||
|
|
||||||
if (individualAnimDisabled || individualSoundsDisabled || individualVFXDisabled)
|
// Icon for individually applied permissions
|
||||||
|
if (individualSoundsDisabled || individualAnimDisabled || individualVFXDisabled)
|
||||||
{
|
{
|
||||||
var infoIconPosDist = windowEndX - barButtonSize.X - spacingX - pauseIconSize.X - spacingX;
|
|
||||||
var icon = FontAwesomeIcon.ExclamationTriangle;
|
var icon = FontAwesomeIcon.ExclamationTriangle;
|
||||||
var iconwidth = _uiSharedService.GetIconButtonSize(icon);
|
var iconwidth = _uiSharedService.GetIconButtonSize(icon);
|
||||||
|
|
||||||
rightSideStart = infoIconPosDist - iconwidth.X;
|
rightSidePos -= iconwidth.X + spacingX / 2f;
|
||||||
ImGui.SameLine(infoIconPosDist - iconwidth.X);
|
ImGui.SameLine(rightSidePos);
|
||||||
|
|
||||||
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
|
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudYellow);
|
||||||
_uiSharedService.IconText(icon);
|
_uiSharedService.IconText(icon);
|
||||||
@@ -165,43 +197,27 @@ public class DrawUserPair : DrawPairBase
|
|||||||
ImGui.EndTooltip();
|
ImGui.EndTooltip();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rightSideStart == 0f)
|
|
||||||
{
|
|
||||||
rightSideStart = windowEndX - barButtonSize.X - spacingX * 2 - pauseIconSize.X;
|
|
||||||
}
|
|
||||||
ImGui.SameLine(windowEndX - barButtonSize.X - spacingX - pauseIconSize.X);
|
|
||||||
ImGui.SetCursorPosY(originalY);
|
|
||||||
if (_uiSharedService.IconButton(pauseIcon))
|
|
||||||
{
|
|
||||||
var perm = _pair.UserPair!.OwnPermissions;
|
|
||||||
perm.SetPaused(!perm.IsPaused());
|
|
||||||
_ = _apiController.UserSetPairPermissions(new(_pair.UserData, perm));
|
|
||||||
}
|
|
||||||
UiSharedService.AttachToolTip(!_pair.UserPair!.OwnPermissions.IsPaused()
|
|
||||||
? "Pause pairing with " + entryUID
|
|
||||||
: "Resume pairing with " + entryUID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Flyout Menu
|
// Icon for shared character data
|
||||||
if (rightSideStart == 0f)
|
if (_charaDataManager.SharedWithYouData.TryGetValue(_pair.UserData, out var sharedData))
|
||||||
{
|
{
|
||||||
rightSideStart = windowEndX - barButtonSize.X;
|
var icon = FontAwesomeIcon.Running;
|
||||||
}
|
var iconwidth = _uiSharedService.GetIconButtonSize(icon);
|
||||||
ImGui.SameLine(windowEndX - barButtonSize.X);
|
rightSidePos -= iconwidth.X + spacingX / 2f;
|
||||||
ImGui.SetCursorPosY(originalY);
|
ImGui.SameLine(rightSidePos);
|
||||||
|
_uiSharedService.IconText(icon);
|
||||||
|
|
||||||
if (_uiSharedService.IconButton(FontAwesomeIcon.Bars))
|
UiSharedService.AttachToolTip($"This user has shared {sharedData.Count} Character Data Sets with you." + UiSharedService.TooltipSeparator
|
||||||
|
+ "Click to open the Character Data Hub and show the entries.");
|
||||||
|
|
||||||
|
if (ImGui.IsItemClicked(ImGuiMouseButton.Left))
|
||||||
{
|
{
|
||||||
ImGui.OpenPopup("User Flyout Menu");
|
_mediator.Publish(new OpenCharaDataHubWithFilterMessage(_pair.UserData));
|
||||||
}
|
}
|
||||||
if (ImGui.BeginPopup("User Flyout Menu"))
|
|
||||||
{
|
|
||||||
using (ImRaii.PushId($"buttons-{_pair.UserData.UID}")) DrawPairedClientMenu(_pair);
|
|
||||||
ImGui.EndPopup();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rightSideStart;
|
return rightSidePos - spacingX;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DrawPairedClientMenu(Pair entry)
|
private void DrawPairedClientMenu(Pair entry)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ internal sealed class GroupPanel
|
|||||||
private readonly ChatService _chatService;
|
private readonly ChatService _chatService;
|
||||||
private readonly MareConfigService _mareConfig;
|
private readonly MareConfigService _mareConfig;
|
||||||
private readonly ServerConfigurationManager _serverConfigurationManager;
|
private readonly ServerConfigurationManager _serverConfigurationManager;
|
||||||
|
private readonly CharaDataManager _charaDataManager;
|
||||||
private readonly Dictionary<string, bool> _showGidForEntry = new(StringComparer.Ordinal);
|
private readonly Dictionary<string, bool> _showGidForEntry = new(StringComparer.Ordinal);
|
||||||
private readonly UidDisplayHandler _uidDisplayHandler;
|
private readonly UidDisplayHandler _uidDisplayHandler;
|
||||||
private readonly UiSharedService _uiShared;
|
private readonly UiSharedService _uiShared;
|
||||||
@@ -56,7 +57,8 @@ internal sealed class GroupPanel
|
|||||||
private string _syncShellToJoin = string.Empty;
|
private string _syncShellToJoin = string.Empty;
|
||||||
|
|
||||||
public GroupPanel(CompactUi mainUi, UiSharedService uiShared, PairManager pairManager, ChatService chatServivce,
|
public GroupPanel(CompactUi mainUi, UiSharedService uiShared, PairManager pairManager, ChatService chatServivce,
|
||||||
UidDisplayHandler uidDisplayHandler, MareConfigService mareConfig, ServerConfigurationManager serverConfigurationManager)
|
UidDisplayHandler uidDisplayHandler, MareConfigService mareConfig, ServerConfigurationManager serverConfigurationManager,
|
||||||
|
CharaDataManager charaDataManager)
|
||||||
{
|
{
|
||||||
_mainUi = mainUi;
|
_mainUi = mainUi;
|
||||||
_uiShared = uiShared;
|
_uiShared = uiShared;
|
||||||
@@ -65,6 +67,7 @@ internal sealed class GroupPanel
|
|||||||
_uidDisplayHandler = uidDisplayHandler;
|
_uidDisplayHandler = uidDisplayHandler;
|
||||||
_mareConfig = mareConfig;
|
_mareConfig = mareConfig;
|
||||||
_serverConfigurationManager = serverConfigurationManager;
|
_serverConfigurationManager = serverConfigurationManager;
|
||||||
|
_charaDataManager = charaDataManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ApiController ApiController => _uiShared.ApiController;
|
private ApiController ApiController => _uiShared.ApiController;
|
||||||
@@ -435,7 +438,8 @@ internal sealed class GroupPanel
|
|||||||
g => GroupDataComparer.Instance.Equals(g.Key.Group, groupDto.Group)
|
g => GroupDataComparer.Instance.Equals(g.Key.Group, groupDto.Group)
|
||||||
).Value,
|
).Value,
|
||||||
_uidDisplayHandler,
|
_uidDisplayHandler,
|
||||||
_uiShared);
|
_uiShared,
|
||||||
|
_charaDataManager);
|
||||||
|
|
||||||
if (pair.IsVisible)
|
if (pair.IsVisible)
|
||||||
visibleUsers.Add(drawPair);
|
visibleUsers.Add(drawPair);
|
||||||
|
|||||||
Reference in New Issue
Block a user