diff --git a/Flow.Launcher/Storage/LastOpenedHistoryResult.cs b/Flow.Launcher/Storage/LastOpenedHistoryResult.cs index 7d49df44b..90d47a4d7 100644 --- a/Flow.Launcher/Storage/LastOpenedHistoryResult.cs +++ b/Flow.Launcher/Storage/LastOpenedHistoryResult.cs @@ -5,17 +5,37 @@ using Flow.Launcher.Plugin; namespace Flow.Launcher.Storage; +/// +/// A serializable result used to record the last opened history for reopening results. +/// Inherits common result fields from and adds the original query and execution time. +/// public class LastOpenedHistoryResult : Result { + /// + /// The query string from Query.TrimmedQuery property, it is stored as a string instead of the entire Query class . + /// This is used so results can be reopened or re-run using the serialized query string. + /// public string Query { get; set; } = string.Empty; + /// + /// The UTC date and time when this result was executed/opened. + /// public DateTime ExecutedDateTime { get; set; } + /// + /// Initializes a new instance of . + /// Sets using the current value, because OriginQuery is not serialized. + /// public LastOpenedHistoryResult() { this.OriginQuery = new Query { TrimmedQuery = Query }; } + /// + /// Creates a from an existing . + /// Copies required fields and sets up default reopening actions. + /// + /// The original result to create history from. public LastOpenedHistoryResult(Result result) { Title = result.Title; @@ -39,6 +59,10 @@ public class LastOpenedHistoryResult : Result AsyncAction = null; } + /// + /// Creates a deep copy of . + /// + /// A new containing the same required data. public LastOpenedHistoryResult Copy() { @@ -59,6 +83,12 @@ public class LastOpenedHistoryResult : Result }; } + /// + /// Determines whether the specified is equivalent to this history result. + /// Comparison uses when available; otherwise falls back to title/subtitle/plugin id and query. + /// + /// The result to compare to. + /// true if the results are considered equal; otherwise false. public bool Equals(Result r) { if (string.IsNullOrEmpty(RecordKey) || string.IsNullOrEmpty(r.RecordKey))