add logic for the entry edit window

This commit is contained in:
2025-12-05 20:22:36 +03:00
parent 8e63ff9af4
commit 6172cbbc79
3 changed files with 42 additions and 4 deletions

View File

@@ -29,6 +29,7 @@ public class UnlockedRepositoryViewModel : ViewModelBase
if (entry is PassStoreEntryPassword) if (entry is PassStoreEntryPassword)
{ {
(passStore.GetRootDirectory() as PassStoreEntryGroup)!.ChildEntries.Add(entry); (passStore.GetRootDirectory() as PassStoreEntryGroup)!.ChildEntries.Add(entry);
OnPropertyChanged(nameof(Passwords));
} }
} }
} }

View File

@@ -15,19 +15,19 @@
<TextBlock Text="Entry name:" HorizontalAlignment="Right" <TextBlock Text="Entry name:" HorizontalAlignment="Right"
Grid.Row="1" Grid.Column="0" Margin="5" /> Grid.Row="1" Grid.Column="0" Margin="5" />
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" /> <TextBox Name="EntryNameEdit" Grid.Row="1" Grid.Column="1" Margin="5" />
<TextBlock Text="Username:" HorizontalAlignment="Right" <TextBlock Text="Username:" HorizontalAlignment="Right"
Grid.Row="2" Grid.Column="0" Margin="5" /> Grid.Row="2" Grid.Column="0" Margin="5" />
<TextBox Grid.Row="2" Grid.Column="1" Margin="5" /> <TextBox Name="UsernameEdit" Grid.Row="2" Grid.Column="1" Margin="5" />
<TextBlock Text="Password:" HorizontalAlignment="Right" <TextBlock Text="Password:" HorizontalAlignment="Right"
Grid.Row="3" Grid.Column="0" Margin="5" /> Grid.Row="3" Grid.Column="0" Margin="5" />
<TextBox Grid.Row="3" Grid.Column="1" Margin="5" PasswordChar="*" /> <TextBox Name="PasswordEdit" Grid.Row="3" Grid.Column="1" Margin="5" PasswordChar="*" />
<Button Content="Add!" HorizontalAlignment="Center" <Button Content="Add!" HorizontalAlignment="Center"
Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2"
Background="#aaa" /> Background="#aaa" Click="AddButton_Click" />
</Grid> </Grid>
<Window.Styles> <Window.Styles>

View File

@@ -1,6 +1,8 @@
using System;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using KeyKeeper.PasswordStore; using KeyKeeper.PasswordStore;
using static KeyKeeper.PasswordStore.FileFormatConstants;
namespace KeyKeeper.Views; namespace KeyKeeper.Views;
@@ -12,4 +14,39 @@ public partial class EntryEditWindow: Window
{ {
InitializeComponent(); InitializeComponent();
} }
private void AddButton_Click(object sender, RoutedEventArgs args)
{
string name = EntryNameEdit.Text ?? "";
name = name.Trim();
if (name.Length == 0) return;
string username = UsernameEdit.Text ?? "";
username = username.Trim();
if (username.Length == 0) return;
string password = UsernameEdit.Text ?? "";
password = password.Trim();
if (password.Length == 0) return;
EditedEntry = new PassStoreEntryPassword(
new Guid(),
DateTime.UtcNow,
DateTime.UtcNow,
Guid.Empty,
name,
new LoginField()
{
Type = LOGIN_FIELD_USERNAME_ID,
Value = username
},
new LoginField()
{
Type = LOGIN_FIELD_PASSWORD_ID,
Value = password
},
null
);
Close();
}
} }