/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/settings-ui/Settings.UI.Library/SettingPath.cs
64 строки
2 KB
Noraa Junker
Remove ISettingsUtils and ISettingsPath interfaces (#44331)
19 дек 2025, 05:30
Не верифицирован
19 дек 2025, 05:30
7cd201d
Код
Авторство
О чём код?
// 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.IO.Abstractions; using Microsoft.PowerToys.Settings.UI.Library.Utilities; namespace Microsoft.PowerToys.Settings.UI.Library { public class SettingPath { private const string DefaultFileName = "settings.json"; private readonly IDirectory _directory; private readonly IPath _path; public SettingPath(IDirectory directory, IPath path) { _directory = directory ?? throw new ArgumentNullException(nameof(directory)); _path = path ?? throw new ArgumentNullException(nameof(path)); } public SettingPath() : this(new FileSystem().Directory, new FileSystem().Path) { } public bool SettingsFolderExists(string powertoy) { return _directory.Exists(System.IO.Path.Combine(Helper.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}")); } public void CreateSettingsFolder(string powertoy) { _directory.CreateDirectory(System.IO.Path.Combine(Helper.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}")); } public void DeleteSettings(string powertoy = "") { _directory.Delete(System.IO.Path.Combine(Helper.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}")); } /// <summary> /// Get path to the json settings file. /// </summary> /// <returns>string path.</returns> public string GetSettingsPath(string powertoy, string fileName = DefaultFileName) { if (string.IsNullOrWhiteSpace(powertoy)) { return _path.Combine( Helper.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{fileName}"); } return _path.Combine( Helper.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}\\{fileName}"); } } }