diff --git a/src/KeyKeeper/Views/Converters/StringPresenceToOpacityConverter.cs b/src/KeyKeeper/Views/Converters/StringPresenceToOpacityConverter.cs new file mode 100644 index 0000000..bb71a4b --- /dev/null +++ b/src/KeyKeeper/Views/Converters/StringPresenceToOpacityConverter.cs @@ -0,0 +1,18 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; + +namespace KeyKeeper.Views.Converters; + +public class StringPresenceToOpacityConverter : IValueConverter +{ + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + return string.IsNullOrEmpty(value as string) ? 0.0 : 1.0; + } + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/src/KeyKeeper/Views/TotpCodeConverter.cs b/src/KeyKeeper/Views/Converters/TotpCodeConverter.cs similarity index 94% rename from src/KeyKeeper/Views/TotpCodeConverter.cs rename to src/KeyKeeper/Views/Converters/TotpCodeConverter.cs index 9e78d0e..f9dc851 100644 --- a/src/KeyKeeper/Views/TotpCodeConverter.cs +++ b/src/KeyKeeper/Views/Converters/TotpCodeConverter.cs @@ -5,7 +5,7 @@ using Avalonia.Data.Converters; using KeyKeeper.PasswordStore; using KeyKeeper.ViewModels; -namespace KeyKeeper.Views; +namespace KeyKeeper.Views.Converters; public class TotpCodeConverter : IMultiValueConverter { diff --git a/src/KeyKeeper/Views/RepositoryWindow.axaml b/src/KeyKeeper/Views/RepositoryWindow.axaml index 6378b15..ef2ba4b 100644 --- a/src/KeyKeeper/Views/RepositoryWindow.axaml +++ b/src/KeyKeeper/Views/RepositoryWindow.axaml @@ -3,6 +3,7 @@ xmlns:vm="using:KeyKeeper.ViewModels" xmlns:i="using:Avalonia.Interactivity" xmlns:kkp="using:KeyKeeper.Views" + xmlns:converters="using:KeyKeeper.Views.Converters" x:Class="KeyKeeper.Views.RepositoryWindow" Closing="RepositoryWindow_Closing" Title="KeyKeeper - Password store" @@ -13,7 +14,8 @@ x:DataType="vm:RepositoryWindowViewModel"> - + + @@ -36,8 +38,7 @@ Padding="8,4" HorizontalAlignment="Left" Margin="0,12,0,12" - IsVisible="{Binding $parent[Window].DataContext.LockTimerDisplay, - Converter={x:Static StringConverters.IsNotNullOrEmpty}}"> + Opacity="{Binding $parent[Window].DataContext.LockTimerDisplay, Converter={StaticResource StringPresenceToOpacityConverter}}">