mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 18:26:39 +02:00
* Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces (#11697) * Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces * Cleanup property names * Implement System.Text.Json for Microsoft.PowerToys.Settings.UI (#11702) * Implement System.Text.Json for Powerlauncher (#11699) * Implement System.Text.Json for Wox.Infrastructure * Implement System.Text.Json for Powerlauncher * Implement System.Text.Json for Microsoft.Plugin.Folder * Implement System.Text.Json for Wox.Plugin * Remove Newtonsoft.Json from launcherInstallComponent * Update properties with private setter Format JSON output * Serialize Get with private set property * Implement System.Text.Json for ImageResizerUI (#11847) * Implement System.Text.Json for ImageRezierUI * Change Newtonsoft.Json.dll to System.Text.Json in ImageResizer * Add writefile to spelling whitelist * Fix installer * Fix bad merge Co-authored-by: mykhailopylyp <17161067+mykhailopylyp@users.noreply.github.com>
46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
// Copyright (c) Microsoft Corporation
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace PowerLauncher.Storage
|
|
{
|
|
public class QueryHistory
|
|
{
|
|
[JsonInclude]
|
|
public List<HistoryItem> Items { get; private set; } = new List<HistoryItem>();
|
|
|
|
private readonly int _maxHistory = 300;
|
|
|
|
public void Add(string query)
|
|
{
|
|
if (string.IsNullOrEmpty(query))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (Items.Count > _maxHistory)
|
|
{
|
|
Items.RemoveAt(0);
|
|
}
|
|
|
|
if (Items.Count > 0 && Items.Last().Query == query)
|
|
{
|
|
Items.Last().ExecutedDateTime = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
Items.Add(new HistoryItem
|
|
{
|
|
Query = query,
|
|
ExecutedDateTime = DateTime.Now,
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|