Files
PowerToys/src/settings-ui/Microsoft.PowerToys.Settings.UI/Converters/EspressoModeToReverseBoolConverter.cs
2021-05-02 10:29:50 -07:00

45 lines
1.3 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 Microsoft.PowerToys.Settings.UI.Library;
using Windows.UI.Xaml.Data;
namespace Microsoft.PowerToys.Settings.UI.Converters
{
public sealed class EspressoModeToReverseBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (targetType != typeof(bool))
{
throw new InvalidOperationException("The target type needs to be a boolean.");
}
switch ((EspressoMode)value)
{
case EspressoMode.INDEFINITE:
return false;
case EspressoMode.TIMED:
return true;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
switch ((bool)value)
{
case false:
return EspressoMode.INDEFINITE;
case true:
return EspressoMode.TIMED;
}
return EspressoMode.INDEFINITE;
}
}
}