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}}">