diff --git a/Dalamud/Interface/ImGuiNotification/IActiveNotification.cs b/Dalamud/Interface/ImGuiNotification/IActiveNotification.cs index cbe5d9e25..0a8f656b9 100644 --- a/Dalamud/Interface/ImGuiNotification/IActiveNotification.cs +++ b/Dalamud/Interface/ImGuiNotification/IActiveNotification.cs @@ -17,7 +17,7 @@ public interface IActiveNotification : INotification /// Invoked upon clicking on the notification. /// - /// This event is not applicable when is set to false. + /// This event is not applicable when is set to false. /// Note that this function may be called even after has been invoked. /// Refer to . /// @@ -25,7 +25,7 @@ public interface IActiveNotification : INotification /// Invoked when the mouse enters the notification window. /// - /// This event is applicable regardless of . + /// This event is applicable regardless of . /// Note that this function may be called even after has been invoked. /// Refer to . /// @@ -33,7 +33,7 @@ public interface IActiveNotification : INotification /// Invoked when the mouse leaves the notification window. /// - /// This event is applicable regardless of . + /// This event is applicable regardless of . /// Note that this function may be called even after has been invoked. /// Refer to . /// @@ -41,7 +41,7 @@ public interface IActiveNotification : INotification /// Invoked upon drawing the action bar of the notification. /// - /// This event is applicable regardless of . + /// This event is applicable regardless of . /// Note that this function may be called even after has been invoked. /// Refer to . /// @@ -64,8 +64,8 @@ public interface IActiveNotification : INotification /// new DateTime Expiry { get; set; } - /// - new bool Interactible { get; set; } + /// + new bool Interactable { get; set; } /// new bool UserDismissable { get; set; } diff --git a/Dalamud/Interface/ImGuiNotification/INotification.cs b/Dalamud/Interface/ImGuiNotification/INotification.cs index 92b28fb15..6b47b69f4 100644 --- a/Dalamud/Interface/ImGuiNotification/INotification.cs +++ b/Dalamud/Interface/ImGuiNotification/INotification.cs @@ -36,12 +36,12 @@ public interface INotification /// /// Set this value to true if you want to respond to user inputs from /// . - /// Note that the close buttons for notifications are always provided and interactible. + /// Note that the close buttons for notifications are always provided and interactable. /// If set to true, then clicking on the notification itself will be interpreted as user-initiated dismissal, /// unless is set or is unset. /// - bool Interactible { get; } - + bool Interactable { get; } + /// Gets a value indicating whether the user can dismiss the notification by themselves. /// Consider adding a cancel button to . bool UserDismissable { get; } @@ -49,7 +49,7 @@ public interface INotification /// Gets the new duration for this notification if mouse cursor is on the notification window. /// /// If set to or less, then this feature is turned off. - /// This property is applicable regardless of . + /// This property is applicable regardless of . /// TimeSpan HoverExtendDuration { get; } diff --git a/Dalamud/Interface/ImGuiNotification/Internal/ActiveNotification.cs b/Dalamud/Interface/ImGuiNotification/Internal/ActiveNotification.cs index c81bba7ff..2e82af6a3 100644 --- a/Dalamud/Interface/ImGuiNotification/Internal/ActiveNotification.cs +++ b/Dalamud/Interface/ImGuiNotification/Internal/ActiveNotification.cs @@ -139,15 +139,15 @@ internal sealed class ActiveNotification : IActiveNotification, IDisposable } } - /// - public bool Interactible + /// + public bool Interactable { - get => this.underlyingNotification.Interactible; + get => this.underlyingNotification.Interactable; set { if (this.IsDismissed) return; - this.underlyingNotification.Interactible = value; + this.underlyingNotification.Interactable = value; } } @@ -407,7 +407,7 @@ internal sealed class ActiveNotification : IActiveNotification, IDisposable $"##NotifyMainWindow{this.Id}", ImGuiWindowFlags.AlwaysAutoResize | ImGuiWindowFlags.NoDecoration | - (this.Interactible + (this.Interactable ? ImGuiWindowFlags.None : ImGuiWindowFlags.NoInputs | ImGuiWindowFlags.NoBringToFrontOnFocus) | ImGuiWindowFlags.NoNav | @@ -514,7 +514,7 @@ internal sealed class ActiveNotification : IActiveNotification, IDisposable this.Type = newNotification.Type; this.IconSource = newNotification.IconSource; this.Expiry = newNotification.Expiry; - this.Interactible = newNotification.Interactible; + this.Interactable = newNotification.Interactable; this.HoverExtendDuration = newNotification.HoverExtendDuration; this.newProgress = newNotification.Progress; } @@ -538,16 +538,14 @@ internal sealed class ActiveNotification : IActiveNotification, IDisposable this.MouseEnter = RemoveNonDalamudInvocationsCore(this.MouseEnter); this.MouseLeave = RemoveNonDalamudInvocationsCore(this.MouseLeave); - this.underlyingNotification.Interactible = false; + this.Interactable = true; this.IsInitiatorUnloaded = true; + this.UserDismissable = true; + this.HoverExtendDuration = NotificationConstants.DefaultHoverExtendDuration; - var now = DateTime.Now; - var newMaxExpiry = now + NotificationConstants.DefaultDisplayDuration; - if (this.underlyingNotification.Expiry > newMaxExpiry) - { - this.underlyingNotification.Expiry = newMaxExpiry; - this.ExpiryRelativeToTime = now; - } + var newMaxExpiry = DateTime.Now + NotificationConstants.DefaultDisplayDuration; + if (this.Expiry > newMaxExpiry) + this.Expiry = newMaxExpiry; return; diff --git a/Dalamud/Interface/ImGuiNotification/Notification.cs b/Dalamud/Interface/ImGuiNotification/Notification.cs index e082aaaed..97279d6c1 100644 --- a/Dalamud/Interface/ImGuiNotification/Notification.cs +++ b/Dalamud/Interface/ImGuiNotification/Notification.cs @@ -1,4 +1,3 @@ -using Dalamud.Interface.ImGuiNotification.Internal; using Dalamud.Interface.Internal.Notifications; namespace Dalamud.Interface.ImGuiNotification; @@ -22,10 +21,10 @@ public sealed record Notification : INotification public DateTime Expiry { get; set; } = DateTime.Now + NotificationConstants.DefaultDisplayDuration; /// - public bool Interactible { get; set; } + public bool Interactable { get; set; } = true; /// - public bool UserDismissable { get; set; } + public bool UserDismissable { get; set; } = true; /// public TimeSpan HoverExtendDuration { get; set; } = NotificationConstants.DefaultHoverExtendDuration; diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/ImGuiWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/ImGuiWidget.cs index 65418cdbe..74dc8939c 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/ImGuiWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/ImGuiWidget.cs @@ -119,7 +119,7 @@ internal class ImGuiWidget : IDataWindowWidget NotificationTemplate.ProgressModeTitles, NotificationTemplate.ProgressModeTitles.Length); - ImGui.Checkbox("Interactible", ref this.notificationTemplate.Interactible); + ImGui.Checkbox("Interactable", ref this.notificationTemplate.Interactable); ImGui.Checkbox("User Dismissable", ref this.notificationTemplate.UserDismissable); @@ -148,7 +148,7 @@ internal class ImGuiWidget : IDataWindowWidget Content = text, Title = title, Type = type, - Interactible = this.notificationTemplate.Interactible, + Interactable = this.notificationTemplate.Interactable, UserDismissable = this.notificationTemplate.UserDismissable, Expiry = duration == TimeSpan.MaxValue ? DateTime.MaxValue : DateTime.Now + duration, Progress = this.notificationTemplate.ProgressMode switch @@ -331,7 +331,7 @@ internal class ImGuiWidget : IDataWindowWidget public bool ManualType; public int TypeInt; public int DurationInt; - public bool Interactible; + public bool Interactable; public bool UserDismissable; public bool ActionBar; public int ProgressMode; @@ -348,7 +348,7 @@ internal class ImGuiWidget : IDataWindowWidget this.ManualType = false; this.TypeInt = (int)NotificationType.None; this.DurationInt = 2; - this.Interactible = true; + this.Interactable = true; this.UserDismissable = true; this.ActionBar = true; this.ProgressMode = 0;