mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 02:06:36 +02:00
* [AdvancedPaste] Semantic Kernel support * Changed log-line with potentially sensitive info * Spellcheck issues * Various improvements for Semantic Kernel * Spellcheck issue * Refactored Clipboard routines * Added integration tests for KernelService * Extra telemetry for AdvancedPaste * Added 'Hotkey' suffix to AdvancedPaste_Settings telemetry event * Added IsSavedQuery * Added KernelQueryCache * Refactoring * Added KernelQueryCache to BugReportTool delete list * Added opt-n for Semantic Kernel * Fixed bug with KernelQueryCache * Ability to view last AI chat message on error * Improved kernel query cache * Used System.IO.Abstractions and improved tests * Fixed under-count of token usage * Used Semantic Kernel icon * Cleanup * Add missing EndProject line * Fix dependency version conflicts * Fix NOTICE.md * Correct place of SemanticKernel in NOTICE.md * Unlinked CustomPreview toggle from AI * Added Microsoft.Bcl.AsyncInterfaces dependency to AdvancedPaste * Fixed NOTICE.md order * Moved Custom Preview to behaviour section * Made Image to Text raise error on empty output * Added AIServiceBatchIntegrationTests * Updated AIServiceBatchIntegrationTests * Added prompt moderation * Moved GPO Infobar to better location
64 lines
2.4 KiB
C#
64 lines
2.4 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.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
using Settings.UI.Library.Attributes;
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library
|
|
{
|
|
public class AdvancedPasteProperties
|
|
{
|
|
public static readonly HotkeySettings DefaultAdvancedPasteUIShortcut = new HotkeySettings(true, false, false, true, 0x56); // Win+Shift+V
|
|
|
|
public static readonly HotkeySettings DefaultPasteAsPlainTextShortcut = new HotkeySettings(true, true, true, false, 0x56); // Ctrl+Win+Alt+V
|
|
|
|
public AdvancedPasteProperties()
|
|
{
|
|
AdvancedPasteUIShortcut = DefaultAdvancedPasteUIShortcut;
|
|
PasteAsPlainTextShortcut = DefaultPasteAsPlainTextShortcut;
|
|
PasteAsMarkdownShortcut = new();
|
|
PasteAsJsonShortcut = new();
|
|
CustomActions = new();
|
|
AdditionalActions = new();
|
|
IsAdvancedAIEnabled = false;
|
|
ShowCustomPreview = true;
|
|
CloseAfterLosingFocus = false;
|
|
}
|
|
|
|
[JsonConverter(typeof(BoolPropertyJsonConverter))]
|
|
public bool IsAdvancedAIEnabled { get; set; }
|
|
|
|
[JsonConverter(typeof(BoolPropertyJsonConverter))]
|
|
public bool ShowCustomPreview { get; set; }
|
|
|
|
[JsonConverter(typeof(BoolPropertyJsonConverter))]
|
|
public bool CloseAfterLosingFocus { get; set; }
|
|
|
|
[JsonPropertyName("advanced-paste-ui-hotkey")]
|
|
public HotkeySettings AdvancedPasteUIShortcut { get; set; }
|
|
|
|
[JsonPropertyName("paste-as-plain-hotkey")]
|
|
public HotkeySettings PasteAsPlainTextShortcut { get; set; }
|
|
|
|
[JsonPropertyName("paste-as-markdown-hotkey")]
|
|
public HotkeySettings PasteAsMarkdownShortcut { get; set; }
|
|
|
|
[JsonPropertyName("paste-as-json-hotkey")]
|
|
public HotkeySettings PasteAsJsonShortcut { get; set; }
|
|
|
|
[JsonPropertyName("custom-actions")]
|
|
[CmdConfigureIgnoreAttribute]
|
|
public AdvancedPasteCustomActions CustomActions { get; init; }
|
|
|
|
[JsonPropertyName("additional-actions")]
|
|
[CmdConfigureIgnoreAttribute]
|
|
public AdvancedPasteAdditionalActions AdditionalActions { get; init; }
|
|
|
|
public override string ToString()
|
|
=> JsonSerializer.Serialize(this);
|
|
}
|
|
}
|