optional action button toggle for pair request (default on)
This commit is contained in:
@@ -125,6 +125,7 @@ public class LightlessConfig : ILightlessConfiguration
|
|||||||
public bool DisablePairRequestSound { get; set; } = true;
|
public bool DisablePairRequestSound { get; set; } = true;
|
||||||
public bool DisablePerformanceSound { get; set; } = true;
|
public bool DisablePerformanceSound { get; set; } = true;
|
||||||
public bool ShowPerformanceNotificationActions { get; set; } = true;
|
public bool ShowPerformanceNotificationActions { get; set; } = true;
|
||||||
|
public bool ShowPairRequestNotificationActions { get; set; } = true;
|
||||||
public bool UseFocusTarget { get; set; } = false;
|
public bool UseFocusTarget { get; set; } = false;
|
||||||
public bool overrideFriendColor { get; set; } = false;
|
public bool overrideFriendColor { get; set; } = false;
|
||||||
public bool overridePartyColor { get; set; } = false;
|
public bool overridePartyColor { get; set; } = false;
|
||||||
|
|||||||
@@ -118,8 +118,10 @@ public class NotificationService : DisposableMediatorSubscriberBase, IHostedServ
|
|||||||
ShowChat(new NotificationMessage("Pair Request Received", $"{senderName} wants to directly pair with you.", NotificationType.PairRequest));
|
ShowChat(new NotificationMessage("Pair Request Received", $"{senderName} wants to directly pair with you.", NotificationType.PairRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show Lightless notification if configured
|
// Show Lightless notification if configured and action buttons are enabled
|
||||||
if (location == NotificationLocation.LightlessUi || location == NotificationLocation.ChatAndLightlessUi)
|
if ((location == NotificationLocation.LightlessUi || location == NotificationLocation.ChatAndLightlessUi)
|
||||||
|
&& _configService.Current.UseLightlessNotifications
|
||||||
|
&& _configService.Current.ShowPairRequestNotificationActions)
|
||||||
{
|
{
|
||||||
var notification = new LightlessNotification
|
var notification = new LightlessNotification
|
||||||
{
|
{
|
||||||
@@ -139,6 +141,11 @@ public class NotificationService : DisposableMediatorSubscriberBase, IHostedServ
|
|||||||
|
|
||||||
Mediator.Publish(new LightlessNotificationMessage(notification));
|
Mediator.Publish(new LightlessNotificationMessage(notification));
|
||||||
}
|
}
|
||||||
|
else if (location != NotificationLocation.Nowhere && location != NotificationLocation.Chat)
|
||||||
|
{
|
||||||
|
// Fall back to regular notification without action buttons
|
||||||
|
HandleNotificationMessage(new NotificationMessage("Pair Request Received", $"{senderName} wants to directly pair with you.", NotificationType.PairRequest));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private uint? GetPairRequestSoundId() =>
|
private uint? GetPairRequestSoundId() =>
|
||||||
|
|||||||
@@ -4085,6 +4085,22 @@ public class SettingsUi : WindowMediatorSubscriberBase
|
|||||||
ImGui.TreePop();
|
ImGui.TreePop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_uiShared.MediumTreeNode("Pair Request Notifications", UIColors.Get("PairBlue")))
|
||||||
|
{
|
||||||
|
var showPairRequestActions = _configService.Current.ShowPairRequestNotificationActions;
|
||||||
|
if (ImGui.Checkbox("Show action buttons on pair requests", ref showPairRequestActions))
|
||||||
|
{
|
||||||
|
_configService.Current.ShowPairRequestNotificationActions = showPairRequestActions;
|
||||||
|
_configService.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
_uiShared.DrawHelpText(
|
||||||
|
"When you receive a pair request, show Accept/Decline buttons in the notification.");
|
||||||
|
|
||||||
|
_uiShared.ColoredSeparator(UIColors.Get("LightlessPurple"), 1.5f);
|
||||||
|
ImGui.TreePop();
|
||||||
|
}
|
||||||
|
|
||||||
if (_uiShared.MediumTreeNode("Performance Notifications", UIColors.Get("LightlessOrange")))
|
if (_uiShared.MediumTreeNode("Performance Notifications", UIColors.Get("LightlessOrange")))
|
||||||
{
|
{
|
||||||
var showPerformanceActions = _configService.Current.ShowPerformanceNotificationActions;
|
var showPerformanceActions = _configService.Current.ShowPerformanceNotificationActions;
|
||||||
|
|||||||
Reference in New Issue
Block a user