This repository has been archived on 2025-09-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Password-Manager-Legacy/Password Manager/MainForm.cs
2023-03-27 00:19:30 +02:00

61 lines
2.2 KiB
C#

namespace Password_Manager
{
public delegate void ProfileChanges(string profileName);
public delegate string[] ProfileList();
public delegate void Save();
public partial class MainForm : Form
{
public event ProfileDataRequest? CurrentProfilePathRequest;
public event ProfileDataRequest? CurrentProfileNameRequest;
public event ProfileList? CurrentProfileListRequest;
public event ProfileChanges? CurrentProfileChanged;
public event Save? SaveRequest;
public MainForm(ProfileDataRequest CurrentProfileNameRequest, ProfileDataRequest CurrentProfilePathRequest, ProfileList CurrentProfileListRequest, ProfileChanges CurrentProfileChanged)
{
this.CurrentProfileNameRequest = CurrentProfileNameRequest;
this.CurrentProfilePathRequest = CurrentProfilePathRequest;
this.CurrentProfileListRequest = CurrentProfileListRequest;
this.CurrentProfileChanged = CurrentProfileChanged;
InitializeComponent();
LoadCurrentProfile();
foreach (string s in CurrentProfileListRequest?.Invoke())
{
profileSelection.Items.Add(s);
}
profileSelection.SelectedIndex = 0;
SaveRequest?.Invoke();
}
private void LoadCurrentProfile()
{
this.Text = CurrentProfileNameRequest?.Invoke();
resultList.ReloadResults();
}
private void ChangeProfile(object sender, EventArgs e)
{
CurrentProfileChanged?.Invoke(profileSelection.Text);
foreach (string s in CurrentProfileListRequest?.Invoke())
{
profileSelection.Items.Add(s);
}
}
private void AddProfile(object sender, EventArgs e)
{
NewProfileForm npf = new NewProfileForm();
npf.ReloadPasswordsRequest += () => resultList.ReloadResults();
npf.Show();
}
private void Generate(object sender, EventArgs e)
{
GeneratePassword gp = new GeneratePassword(searchBox.Text, CurrentProfilePathRequest?.Invoke());
gp.Show();
}
}
}