2023-08-10 10:46:33 +01:00
|
|
|
|
// 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.
|
|
|
|
|
|
|
2025-08-20 09:31:52 +08:00
|
|
|
|
using System.Collections.Generic;
|
2023-08-10 10:46:33 +01:00
|
|
|
|
using System.Text.Json.Serialization;
|
2025-08-20 09:31:52 +08:00
|
|
|
|
using ManagedCommon;
|
|
|
|
|
|
using Microsoft.PowerToys.Settings.UI.Library.Helpers;
|
2023-08-10 10:46:33 +01:00
|
|
|
|
using Microsoft.PowerToys.Settings.UI.Library.Interfaces;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library
|
|
|
|
|
|
{
|
2025-08-20 09:31:52 +08:00
|
|
|
|
public class CropAndLockSettings : BasePTModuleSettings, ISettingsConfig, IHotkeyConfig
|
2023-08-10 10:46:33 +01:00
|
|
|
|
{
|
|
|
|
|
|
public const string ModuleName = "CropAndLock";
|
|
|
|
|
|
public const string ModuleVersion = "0.0.1";
|
|
|
|
|
|
|
|
|
|
|
|
public CropAndLockSettings()
|
|
|
|
|
|
{
|
|
|
|
|
|
Name = ModuleName;
|
|
|
|
|
|
Version = ModuleVersion;
|
|
|
|
|
|
Properties = new CropAndLockProperties();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("properties")]
|
|
|
|
|
|
public CropAndLockProperties Properties { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string GetModuleName()
|
|
|
|
|
|
{
|
|
|
|
|
|
return Name;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-20 09:31:52 +08:00
|
|
|
|
public ModuleType GetModuleType() => ModuleType.CropAndLock;
|
|
|
|
|
|
|
|
|
|
|
|
public HotkeyAccessor[] GetAllHotkeyAccessors()
|
|
|
|
|
|
{
|
|
|
|
|
|
var hotkeyAccessors = new List<HotkeyAccessor>
|
|
|
|
|
|
{
|
|
|
|
|
|
new HotkeyAccessor(
|
|
|
|
|
|
() => Properties.ReparentHotkey.Value,
|
|
|
|
|
|
value => Properties.ReparentHotkey.Value = value ?? CropAndLockProperties.DefaultReparentHotkeyValue,
|
|
|
|
|
|
"CropAndLock_ReparentActivation_Shortcut"),
|
|
|
|
|
|
new HotkeyAccessor(
|
|
|
|
|
|
() => Properties.ThumbnailHotkey.Value,
|
|
|
|
|
|
value => Properties.ThumbnailHotkey.Value = value ?? CropAndLockProperties.DefaultThumbnailHotkeyValue,
|
|
|
|
|
|
"CropAndLock_ThumbnailActivation_Shortcut"),
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
return hotkeyAccessors.ToArray();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-08-10 10:46:33 +01:00
|
|
|
|
public bool UpgradeSettingsConfiguration()
|
|
|
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|