Renamed project to GUI
This commit is contained in:
14
GUI/Config.cs
Normal file
14
GUI/Config.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
class Config
|
||||
{
|
||||
public string PasswordStorePath { get; set; }
|
||||
public string Recipient { get; set; }
|
||||
|
||||
public Config(string PasswordStorePath, string Recipient)
|
||||
{
|
||||
this.PasswordStorePath = PasswordStorePath;
|
||||
this.Recipient = Recipient;
|
||||
}
|
||||
}
|
||||
}
|
||||
94
GUI/ConfigFileManager.cs
Normal file
94
GUI/ConfigFileManager.cs
Normal file
@@ -0,0 +1,94 @@
|
||||
using Microsoft.VisualBasic.FileIO;
|
||||
|
||||
namespace Password_Manager
|
||||
{
|
||||
static class ConfigFileManager
|
||||
{
|
||||
#region Config flags
|
||||
/*Configuration: (format: fieldname=value)
|
||||
|
||||
password_store_path: path to the folder which contains the .gpg files
|
||||
recipient: whose public key to use for encryption when a new password is created
|
||||
*/
|
||||
private static string CONFIGPATH = SpecialDirectories.CurrentUserApplicationData + "\\config.cfg";
|
||||
private static char DELIMETER = '=';
|
||||
private static string RECIPIENT = "recipient";
|
||||
private static string PATH = "password_store_path";
|
||||
#endregion
|
||||
|
||||
private static Config Configuration;
|
||||
|
||||
public static void Init()
|
||||
{
|
||||
bool success = false;
|
||||
|
||||
while (!success)
|
||||
{
|
||||
if (File.Exists(CONFIGPATH))
|
||||
{
|
||||
StreamReader sr = new StreamReader(CONFIGPATH);
|
||||
string? path = null, recipient = null;
|
||||
while (!sr.EndOfStream)
|
||||
{
|
||||
string[]? fields = sr.ReadLine().Split(DELIMETER);
|
||||
if (fields != null)
|
||||
{
|
||||
if (fields[0] == PATH)
|
||||
{
|
||||
path = fields[1];
|
||||
}
|
||||
else if (fields[0] == RECIPIENT)
|
||||
{
|
||||
recipient = fields[1];
|
||||
}
|
||||
}
|
||||
else //probably an empty line or something
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (path != null && recipient != null)
|
||||
{
|
||||
Configuration = new Config(path, recipient);
|
||||
success = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidConfigurationException("One or more required fileds were missing from the configuration file.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateDefaultConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetPath()
|
||||
{
|
||||
return Configuration.PasswordStorePath;
|
||||
}
|
||||
|
||||
public static string GetRecipient()
|
||||
{
|
||||
return Configuration.Recipient;
|
||||
}
|
||||
|
||||
private static void CreateDefaultConfig()
|
||||
{
|
||||
try
|
||||
{
|
||||
string user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
|
||||
StreamWriter sw = new StreamWriter(CONFIGPATH);
|
||||
sw.WriteLine(RECIPIENT + DELIMETER + user);
|
||||
sw.WriteLine(PATH + DELIMETER + SpecialDirectories.CurrentUserApplicationData);
|
||||
sw.Close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
GUI/GUI.csproj
Normal file
12
GUI/GUI.csproj
Normal file
@@ -0,0 +1,12 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net7.0-windows</TargetFramework>
|
||||
<RootNamespace>Password_Manager</RootNamespace>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
14
GUI/GUI.csproj.user
Normal file
14
GUI/GUI.csproj.user
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Compile Update="GeneratePassword.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="PasswordListBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
136
GUI/GeneratePassword.Designer.cs
generated
Normal file
136
GUI/GeneratePassword.Designer.cs
generated
Normal file
@@ -0,0 +1,136 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
partial class GeneratePassword
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
passwordName = new TextBox();
|
||||
label1 = new Label();
|
||||
label2 = new Label();
|
||||
passwordLength = new TextBox();
|
||||
noSymbols = new CheckBox();
|
||||
generate = new Button();
|
||||
cancel = new Button();
|
||||
SuspendLayout();
|
||||
//
|
||||
// passwordName
|
||||
//
|
||||
passwordName.Location = new Point(12, 33);
|
||||
passwordName.Name = "passwordName";
|
||||
passwordName.PlaceholderText = "website.com";
|
||||
passwordName.Size = new Size(156, 23);
|
||||
passwordName.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.Location = new Point(12, 15);
|
||||
label1.Name = "label1";
|
||||
label1.Size = new Size(39, 15);
|
||||
label1.TabIndex = 1;
|
||||
label1.Text = "Name";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
label2.AutoSize = true;
|
||||
label2.Location = new Point(12, 59);
|
||||
label2.Name = "label2";
|
||||
label2.Size = new Size(44, 15);
|
||||
label2.TabIndex = 2;
|
||||
label2.Text = "Length";
|
||||
//
|
||||
// passwordLength
|
||||
//
|
||||
passwordLength.Location = new Point(12, 77);
|
||||
passwordLength.Name = "passwordLength";
|
||||
passwordLength.PlaceholderText = "16";
|
||||
passwordLength.Size = new Size(156, 23);
|
||||
passwordLength.TabIndex = 3;
|
||||
//
|
||||
// noSymbols
|
||||
//
|
||||
noSymbols.AutoSize = true;
|
||||
noSymbols.Location = new Point(12, 106);
|
||||
noSymbols.Name = "noSymbols";
|
||||
noSymbols.Size = new Size(89, 19);
|
||||
noSymbols.TabIndex = 4;
|
||||
noSymbols.Text = "No symbols";
|
||||
noSymbols.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// generate
|
||||
//
|
||||
generate.Location = new Point(93, 131);
|
||||
generate.Name = "generate";
|
||||
generate.Size = new Size(75, 23);
|
||||
generate.TabIndex = 5;
|
||||
generate.Text = "Generate";
|
||||
generate.UseVisualStyleBackColor = true;
|
||||
generate.Click += Generate;
|
||||
//
|
||||
// cancel
|
||||
//
|
||||
cancel.Location = new Point(12, 131);
|
||||
cancel.Name = "cancel";
|
||||
cancel.Size = new Size(75, 23);
|
||||
cancel.TabIndex = 6;
|
||||
cancel.Text = "Cancel";
|
||||
cancel.UseVisualStyleBackColor = true;
|
||||
cancel.Click += cancel_Click;
|
||||
//
|
||||
// GeneratePassword
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(187, 173);
|
||||
Controls.Add(cancel);
|
||||
Controls.Add(generate);
|
||||
Controls.Add(noSymbols);
|
||||
Controls.Add(passwordLength);
|
||||
Controls.Add(label2);
|
||||
Controls.Add(label1);
|
||||
Controls.Add(passwordName);
|
||||
Name = "GeneratePassword";
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
private void Generate_Click(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private TextBox passwordName;
|
||||
private Label label1;
|
||||
private Label label2;
|
||||
private TextBox passwordLength;
|
||||
private CheckBox noSymbols;
|
||||
private Button generate;
|
||||
private Button cancel;
|
||||
}
|
||||
}
|
||||
58
GUI/GeneratePassword.cs
Normal file
58
GUI/GeneratePassword.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using Password_Generator;
|
||||
|
||||
namespace Password_Manager
|
||||
{
|
||||
public delegate void MethodRequest();
|
||||
public partial class GeneratePassword : Form
|
||||
{
|
||||
private string currentPath;
|
||||
private string recipient;
|
||||
public event MethodRequest ReloadRequest;
|
||||
|
||||
public GeneratePassword(string currentPath, string recipient, MethodRequest ReloadRequest, string? name)
|
||||
{
|
||||
InitializeComponent();
|
||||
passwordName.Text = name;
|
||||
this.currentPath = currentPath;
|
||||
this.recipient = recipient;
|
||||
this.ReloadRequest = ReloadRequest;
|
||||
}
|
||||
|
||||
public void Generate(object sender, EventArgs e)
|
||||
{
|
||||
if (passwordName.Text == "" || passwordLength.Text == "")
|
||||
{
|
||||
MessageBox.Show("You must fill in all fields to continue.", "Error: Empty fields", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
string filePath = $"{currentPath}\\{passwordName.Text}";
|
||||
File.WriteAllText(
|
||||
currentPath + $"\\{passwordName.Text}.gpg",
|
||||
PasswordGenerator.New(
|
||||
recipient,
|
||||
Convert.ToInt32(passwordLength.Text),
|
||||
noSymbols.Checked)
|
||||
);
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
MessageBox.Show("Please enter a valid number for the password's length.", "Error: Invalid field", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
catch (IOException error)
|
||||
{
|
||||
MessageBox.Show(error.ToString(), "IO Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
ReloadRequest();
|
||||
Close();
|
||||
}
|
||||
|
||||
private void cancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
GUI/GeneratePassword.resx
Normal file
60
GUI/GeneratePassword.resx
Normal file
@@ -0,0 +1,60 @@
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
9
GUI/InvalidConfigurationException.cs
Normal file
9
GUI/InvalidConfigurationException.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
class InvalidConfigurationException : Exception
|
||||
{
|
||||
public InvalidConfigurationException() : base() { }
|
||||
public InvalidConfigurationException(string message) : base(message) { }
|
||||
public InvalidConfigurationException(string message, Exception inner) : base(message, inner) { }
|
||||
}
|
||||
}
|
||||
115
GUI/MainForm.Designer.cs
generated
Normal file
115
GUI/MainForm.Designer.cs
generated
Normal file
@@ -0,0 +1,115 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
sealed partial class MainForm : Form
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
SearchBox = new TextBox();
|
||||
GeneratePassword = new Button();
|
||||
ResultList = new PasswordListBox(PathRequest);
|
||||
DecryptBtn = new Button();
|
||||
Cancel = new Button();
|
||||
SuspendLayout();
|
||||
//
|
||||
// SearchBox
|
||||
//
|
||||
SearchBox.Location = new Point(10, 20);
|
||||
SearchBox.Margin = new Padding(3, 2, 3, 2);
|
||||
SearchBox.Name = "SearchBox";
|
||||
SearchBox.PlaceholderText = "Search for a password";
|
||||
SearchBox.Size = new Size(225, 23);
|
||||
SearchBox.TabIndex = 0;
|
||||
SearchBox.TextChanged += ReloadResults;
|
||||
//
|
||||
// GeneratePassword
|
||||
//
|
||||
GeneratePassword.Location = new Point(241, 20);
|
||||
GeneratePassword.Name = "GeneratePassword";
|
||||
GeneratePassword.Size = new Size(75, 23);
|
||||
GeneratePassword.TabIndex = 5;
|
||||
GeneratePassword.Text = "Generate";
|
||||
GeneratePassword.UseVisualStyleBackColor = true;
|
||||
GeneratePassword.Click += OpenPasswordGenerator;
|
||||
//
|
||||
// ResultList
|
||||
//
|
||||
ResultList.ColumnWidth = 20;
|
||||
ResultList.FormattingEnabled = true;
|
||||
ResultList.HorizontalScrollbar = true;
|
||||
ResultList.ItemHeight = 15;
|
||||
ResultList.Location = new Point(10, 48);
|
||||
ResultList.Name = "ResultList";
|
||||
ResultList.Size = new Size(306, 274);
|
||||
ResultList.TabIndex = 6;
|
||||
//
|
||||
// DecryptBtn
|
||||
//
|
||||
DecryptBtn.Location = new Point(241, 328);
|
||||
DecryptBtn.Name = "DecryptBtn";
|
||||
DecryptBtn.Size = new Size(75, 23);
|
||||
DecryptBtn.TabIndex = 7;
|
||||
DecryptBtn.Text = "Decrypt";
|
||||
DecryptBtn.UseVisualStyleBackColor = true;
|
||||
DecryptBtn.Click += Decrypt;
|
||||
//
|
||||
// Cancel
|
||||
//
|
||||
Cancel.Location = new Point(160, 328);
|
||||
Cancel.Name = "Cancel";
|
||||
Cancel.Size = new Size(75, 23);
|
||||
Cancel.TabIndex = 8;
|
||||
Cancel.Text = "Cancel";
|
||||
Cancel.UseVisualStyleBackColor = true;
|
||||
Cancel.Click += CancelPressed;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
AcceptButton = DecryptBtn;
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(324, 374);
|
||||
Controls.Add(Cancel);
|
||||
Controls.Add(DecryptBtn);
|
||||
Controls.Add(ResultList);
|
||||
Controls.Add(GeneratePassword);
|
||||
Controls.Add(SearchBox);
|
||||
Margin = new Padding(3, 2, 3, 2);
|
||||
Name = "MainForm";
|
||||
Text = "Password Manager";
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private TextBox SearchBox;
|
||||
private Button GeneratePassword;
|
||||
private PasswordListBox ResultList;
|
||||
private Button DecryptBtn;
|
||||
private Button Cancel;
|
||||
}
|
||||
}
|
||||
69
GUI/MainForm.cs
Normal file
69
GUI/MainForm.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
sealed public partial class MainForm : Form
|
||||
{
|
||||
public event DataRequest PathRequest;
|
||||
public event DataRequest? RecipientRequest;
|
||||
|
||||
public MainForm(DataRequest PathRequest, DataRequest? RecipientRequest = null)
|
||||
{
|
||||
this.PathRequest = PathRequest;
|
||||
this.RecipientRequest = RecipientRequest;
|
||||
InitializeComponent();
|
||||
|
||||
ResultList.SearchQueryRequest += () => SearchBox.Text;
|
||||
ResultList.ReloadResults();
|
||||
}
|
||||
|
||||
private void ReloadResults(object? sender, EventArgs? e) //proxy method for SearchBox.TextChanged
|
||||
{
|
||||
ResultList.ReloadResults();
|
||||
}
|
||||
|
||||
private void ReloadResults()
|
||||
{
|
||||
ResultList.ReloadResults();
|
||||
}
|
||||
|
||||
private void OpenPasswordGenerator(object sender, EventArgs e)
|
||||
{
|
||||
if (RecipientRequest != null)
|
||||
{
|
||||
GeneratePassword gp = new GeneratePassword(PathRequest(), RecipientRequest(), ReloadResults, SearchBox.Text);
|
||||
gp.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("You cannot use the OpenPasswordGenerator method if you instantiated this form without a RecipientRequest event handler.");
|
||||
}
|
||||
}
|
||||
|
||||
private void CancelPressed(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
private void CopyAndNotify(string? line, string fileName)
|
||||
{
|
||||
ProcessBuilder pb = new ProcessBuilder();
|
||||
pb.ProcessFailed += (e) => MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
if (line != null)
|
||||
{
|
||||
Clipboard.SetText(line);
|
||||
pb.Run("./ToastNotification.exe", $"\"{fileName} decrypted\" \"Password copied to clipboard\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
pb.Run("./ToastNotification.exe", "\"Error\" \"No password copied\"");
|
||||
}
|
||||
}
|
||||
|
||||
private void Decrypt(object sender, EventArgs e)
|
||||
{
|
||||
ProcessBuilder pb = new ProcessBuilder();
|
||||
pb.ProcessFailed += (e) => MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
CopyAndNotify(pb.GetOutput("gpg.exe", $"--quiet --decrypt {PathRequest()}\\{ResultList.Text}"), ResultList.Text);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
GUI/MainForm.resx
Normal file
60
GUI/MainForm.resx
Normal file
@@ -0,0 +1,60 @@
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
40
GUI/PasswordGenerator.cs
Normal file
40
GUI/PasswordGenerator.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using Password_Manager;
|
||||
using System.Text;
|
||||
|
||||
namespace Password_Generator
|
||||
{
|
||||
static class PasswordGenerator
|
||||
{
|
||||
private static string RandomStr(int length, bool no_symbols = false)
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
Random rnd = new Random();
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
if (rnd.Next(0, 101) <= 60) //60% chance for a character
|
||||
{
|
||||
char c = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * rnd.NextDouble() + 65))); //random character
|
||||
if (no_symbols && Char.IsSymbol(c))
|
||||
{
|
||||
while (Char.IsSymbol(c))
|
||||
{
|
||||
c = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * rnd.NextDouble() + 65))); //random character
|
||||
}
|
||||
}
|
||||
builder.Append(c);
|
||||
}
|
||||
else //40% change for number
|
||||
{
|
||||
builder.Append(Convert.ToChar(rnd.Next(0, 10)));
|
||||
}
|
||||
}
|
||||
|
||||
return builder.ToString();
|
||||
}
|
||||
|
||||
public static string? New(string recipient, int length, bool no_symbols = false)
|
||||
{
|
||||
return new ProcessBuilder().GetOutput("cmd.exe", $"echo {RandomStr(length, no_symbols)} | gpg --quiet --encrypt --recipient {recipient}");
|
||||
}
|
||||
}
|
||||
}
|
||||
73
GUI/PasswordListBox.cs
Normal file
73
GUI/PasswordListBox.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using System.Collections;
|
||||
|
||||
namespace Password_Manager
|
||||
{
|
||||
public delegate string SearchQuery();
|
||||
public class PasswordListBox : ListBox
|
||||
{
|
||||
public event DataRequest? PathRequest;
|
||||
public event SearchQuery? SearchQueryRequest;
|
||||
|
||||
public PasswordListBox(DataRequest PathRequest, SearchQuery? SearchQueryRequest = null) : base()
|
||||
{
|
||||
this.PathRequest = PathRequest;
|
||||
this.SearchQueryRequest = SearchQueryRequest;
|
||||
}
|
||||
|
||||
public PasswordListBox() : base() { }
|
||||
/*do not instantiate this class using this constructor if you want to use the ReloadResults method afterwards.
|
||||
Use this so that the MainForm.Designer.cs file doesn't have a stroke due to Event References, then re-instantiate the object
|
||||
afterwards using the other constructor*/
|
||||
|
||||
public void ReloadResults(object? sender = null, EventArgs? arg = null)
|
||||
{
|
||||
DirectoryInfo d;
|
||||
FileInfo[] files = new FileInfo[0];
|
||||
try
|
||||
{
|
||||
if (PathRequest != null)
|
||||
{
|
||||
d = new DirectoryInfo(PathRequest());
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("You cannot use the ReloadResults method if you instantiated the object using the parameterless constructor");
|
||||
}
|
||||
files = d.GetFiles("*.gpg");
|
||||
}
|
||||
catch (ArgumentNullException e)
|
||||
{
|
||||
MessageBox.Show(e.ToString(), "Error: Invalid path", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
List<string> elements = new List<string>();
|
||||
for (int i = 0; i < files.Length; i++)
|
||||
{
|
||||
elements.Add(files[i].Name);
|
||||
}
|
||||
|
||||
string[] copy = elements.ToArray();
|
||||
|
||||
string? searchQuery = SearchQueryRequest?.Invoke();
|
||||
if (searchQuery != null) //we have a search query
|
||||
{
|
||||
foreach (string s in copy)
|
||||
{
|
||||
if (!s.Contains(searchQuery))
|
||||
{
|
||||
elements.Remove(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.DataSource = elements;
|
||||
try
|
||||
{
|
||||
SelectedIndex = 0;
|
||||
} catch (ArgumentOutOfRangeException)
|
||||
{
|
||||
SelectedIndex = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
61
GUI/ProcessBuilder.cs
Normal file
61
GUI/ProcessBuilder.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace Password_Manager
|
||||
{
|
||||
public delegate void ProcessSuccess();
|
||||
public delegate void ProcessFailure(Exception e);
|
||||
sealed class ProcessBuilder
|
||||
{
|
||||
public event ProcessSuccess? ProcessFinished;
|
||||
public event ProcessFailure? ProcessFailed;
|
||||
|
||||
public void Run(string procName, string args)
|
||||
{
|
||||
try
|
||||
{
|
||||
Process.Start(procName, args);
|
||||
ProcessFinished?.Invoke();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ProcessFailed?.Invoke(e);
|
||||
}
|
||||
}
|
||||
|
||||
public string? GetOutput(string procName, string args)
|
||||
{
|
||||
try
|
||||
{
|
||||
Process proc = new Process()
|
||||
{
|
||||
StartInfo = new ProcessStartInfo
|
||||
{
|
||||
FileName = procName,
|
||||
Arguments = args,
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true,
|
||||
CreateNoWindow = true
|
||||
}
|
||||
};
|
||||
|
||||
proc.Start();
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
while (!proc.StandardOutput.EndOfStream)
|
||||
{
|
||||
builder.Append(proc.StandardOutput.ReadLine());
|
||||
}
|
||||
|
||||
ProcessFinished?.Invoke();
|
||||
return builder.ToString();
|
||||
} catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
ProcessFailed?.Invoke(e);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
22
GUI/Program.cs
Normal file
22
GUI/Program.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace Password_Manager
|
||||
{
|
||||
public delegate string DataRequest(); //Fire whenever a specific field of ProfileHandler.CurrentProfile is needed
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
ConfigFileManager.Init();
|
||||
ApplicationConfiguration.Initialize();
|
||||
Application.Run(mainForm);
|
||||
}
|
||||
|
||||
public static MainForm mainForm = new MainForm(
|
||||
() => ConfigFileManager.GetPath(),
|
||||
() => ConfigFileManager.GetRecipient()
|
||||
); //needed at creation so that MainForm may pass this method down to other classes in its constructor
|
||||
}
|
||||
}
|
||||
36
GUI/ToastNotification.ps1
Normal file
36
GUI/ToastNotification.ps1
Normal file
@@ -0,0 +1,36 @@
|
||||
function Show-Notification {
|
||||
[cmdletbinding()]
|
||||
Param (
|
||||
[string]
|
||||
$ToastTitle,
|
||||
[string]
|
||||
[parameter(ValueFromPipeline)]
|
||||
$ToastText
|
||||
)
|
||||
|
||||
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
||||
$Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
|
||||
|
||||
$RawXml = [xml] $Template.GetXml()
|
||||
($RawXml.toast.visual.binding.text | Where-Object {$_.id -eq "1"}).AppendChild($RawXml.CreateTextNode($ToastTitle)) > $null
|
||||
($RawXml.toast.visual.binding.text | Where-Object {$_.id -eq "2"}).AppendChild($RawXml.CreateTextNode($ToastText)) > $null
|
||||
|
||||
$SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument
|
||||
$SerializedXml.LoadXml($RawXml.OuterXml)
|
||||
|
||||
$Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)
|
||||
$Toast.Tag = "PowerShell"
|
||||
$Toast.Group = "PowerShell"
|
||||
$Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(1)
|
||||
|
||||
$Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Password Manager")
|
||||
$Notifier.Show($Toast);
|
||||
}
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[String]$toastTitle,
|
||||
[String]$toastText
|
||||
)
|
||||
|
||||
Show-Notification -ToastTitle "$toastTitle" -ToastText "$toastText"
|
||||
23
GUI/bin/Debug/net7.0-windows/Password Manager.deps.json
Normal file
23
GUI/bin/Debug/net7.0-windows/Password Manager.deps.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v7.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v7.0": {
|
||||
"Password Manager/1.0.0": {
|
||||
"runtime": {
|
||||
"Password Manager.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Password Manager/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.dll
Normal file
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.dll
Normal file
Binary file not shown.
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.exe
Normal file
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.exe
Normal file
Binary file not shown.
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.pdb
Normal file
BIN
GUI/bin/Debug/net7.0-windows/Password Manager.pdb
Normal file
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net7.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.WindowsDesktop.App",
|
||||
"version": "7.0.0"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
GUI/bin/Debug/net7.0-windows/ToastNotification.exe
Normal file
BIN
GUI/bin/Debug/net7.0-windows/ToastNotification.exe
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
924da642a7442ec5c33c7b2317d77ee457cd12d8
|
||||
@@ -0,0 +1,18 @@
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Debug\net7.0-windows\Password Manager.exe
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Debug\net7.0-windows\Password Manager.deps.json
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Debug\net7.0-windows\Password Manager.runtimeconfig.json
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Debug\net7.0-windows\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Debug\net7.0-windows\Password Manager.pdb
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.csproj.AssemblyReference.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password_Manager.GeneratePassword.resources
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password_Manager.MainForm.resources
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.csproj.GenerateResource.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.AssemblyInfoInputs.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.AssemblyInfo.cs
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.csproj.CoreCompileInputs.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\refint\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.pdb
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\Password Manager.genruntimeconfig.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Debug\net7.0-windows\ref\Password Manager.dll
|
||||
Binary file not shown.
BIN
GUI/obj/Debug/net7.0-windows/Password Manager.dll
Normal file
BIN
GUI/obj/Debug/net7.0-windows/Password Manager.dll
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
388ec1841f093da200833ba32f6d8bfa703eda5a
|
||||
BIN
GUI/obj/Debug/net7.0-windows/Password Manager.pdb
Normal file
BIN
GUI/obj/Debug/net7.0-windows/Password Manager.pdb
Normal file
Binary file not shown.
Binary file not shown.
BIN
GUI/obj/Debug/net7.0-windows/Password_Manager.MainForm.resources
Normal file
BIN
GUI/obj/Debug/net7.0-windows/Password_Manager.MainForm.resources
Normal file
Binary file not shown.
BIN
GUI/obj/Debug/net7.0-windows/apphost.exe
Normal file
BIN
GUI/obj/Debug/net7.0-windows/apphost.exe
Normal file
Binary file not shown.
BIN
GUI/obj/Debug/net7.0-windows/ref/Password Manager.dll
Normal file
BIN
GUI/obj/Debug/net7.0-windows/ref/Password Manager.dll
Normal file
Binary file not shown.
BIN
GUI/obj/Debug/net7.0-windows/refint/Password Manager.dll
Normal file
BIN
GUI/obj/Debug/net7.0-windows/refint/Password Manager.dll
Normal file
Binary file not shown.
65
GUI/obj/GUI.csproj.nuget.dgspec.json
Normal file
65
GUI/obj/GUI.csproj.nuget.dgspec.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj",
|
||||
"projectName": "GUI",
|
||||
"projectPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj",
|
||||
"packagesPath": "C:\\Users\\Typo\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Typo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net7.0-windows"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
},
|
||||
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||
"privateAssets": "none"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
GUI/obj/GUI.csproj.nuget.g.props
Normal file
15
GUI/obj/GUI.csproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Typo\.nuget\packages\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.5.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Typo\.nuget\packages\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
2
GUI/obj/GUI.csproj.nuget.g.targets
Normal file
2
GUI/obj/GUI.csproj.nuget.g.targets
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||
65
GUI/obj/Password Manager.csproj.nuget.dgspec.json
Normal file
65
GUI/obj/Password Manager.csproj.nuget.dgspec.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\Password Manager\\Password Manager.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\Password Manager\\Password Manager.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\Password Manager\\Password Manager.csproj",
|
||||
"projectName": "Password Manager",
|
||||
"projectPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\Password Manager\\Password Manager.csproj",
|
||||
"packagesPath": "C:\\Users\\Typo\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\Password Manager\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Typo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net7.0-windows"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
},
|
||||
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||
"privateAssets": "none"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
GUI/obj/Password Manager.csproj.nuget.g.props
Normal file
15
GUI/obj/Password Manager.csproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Typo\.nuget\packages\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.5.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Typo\.nuget\packages\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
2
GUI/obj/Password Manager.csproj.nuget.g.targets
Normal file
2
GUI/obj/Password Manager.csproj.nuget.g.targets
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
|
||||
25
GUI/obj/Release/net7.0-windows/GUI.AssemblyInfo.cs
Normal file
25
GUI/obj/Release/net7.0-windows/GUI.AssemblyInfo.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("GUI")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("GUI")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("GUI")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
|
||||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
3b5697c9172c5c221036b2c986dfa23bab2c5116
|
||||
@@ -0,0 +1,17 @@
|
||||
is_global = true
|
||||
build_property.ApplicationManifest =
|
||||
build_property.StartupObject =
|
||||
build_property.ApplicationDefaultFont =
|
||||
build_property.ApplicationHighDpiMode =
|
||||
build_property.ApplicationUseCompatibleTextRendering =
|
||||
build_property.ApplicationVisualStyles =
|
||||
build_property.TargetFramework = net7.0-windows
|
||||
build_property.TargetPlatformMinVersion = 7.0
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = Password_Manager
|
||||
build_property.ProjectDir = C:\Users\Typo\Projects\Windows-Password-Manager\GUI\
|
||||
10
GUI/obj/Release/net7.0-windows/GUI.GlobalUsings.g.cs
Normal file
10
GUI/obj/Release/net7.0-windows/GUI.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.Drawing;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
global using global::System.Windows.Forms;
|
||||
BIN
GUI/obj/Release/net7.0-windows/GUI.assets.cache
Normal file
BIN
GUI/obj/Release/net7.0-windows/GUI.assets.cache
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Password Manager")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Password Manager")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Password Manager")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
|
||||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
e47eb23f04f19d033ddc60dbac85e73f17fbdc7a
|
||||
@@ -0,0 +1,17 @@
|
||||
is_global = true
|
||||
build_property.ApplicationManifest =
|
||||
build_property.StartupObject =
|
||||
build_property.ApplicationDefaultFont =
|
||||
build_property.ApplicationHighDpiMode =
|
||||
build_property.ApplicationUseCompatibleTextRendering =
|
||||
build_property.ApplicationVisualStyles =
|
||||
build_property.TargetFramework = net7.0-windows
|
||||
build_property.TargetPlatformMinVersion = 7.0
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = Password_Manager
|
||||
build_property.ProjectDir = C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\
|
||||
@@ -0,0 +1,10 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.Drawing;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
global using global::System.Windows.Forms;
|
||||
BIN
GUI/obj/Release/net7.0-windows/Password Manager.assets.cache
Normal file
BIN
GUI/obj/Release/net7.0-windows/Password Manager.assets.cache
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
9be76c6f2b146ccaf4e05b6c1fd7708b8991998a
|
||||
@@ -0,0 +1,18 @@
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Release\net7.0-windows\Password Manager.exe
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Release\net7.0-windows\Password Manager.deps.json
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Release\net7.0-windows\Password Manager.runtimeconfig.json
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Release\net7.0-windows\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\bin\Release\net7.0-windows\Password Manager.pdb
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.csproj.AssemblyReference.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password_Manager.GeneratePassword.resources
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password_Manager.MainForm.resources
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.csproj.GenerateResource.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.AssemblyInfoInputs.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.AssemblyInfo.cs
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.csproj.CoreCompileInputs.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\refint\Password Manager.dll
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.pdb
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\Password Manager.genruntimeconfig.cache
|
||||
C:\Users\Typo\Projects\Windows-Password-Manager\Password Manager\obj\Release\net7.0-windows\ref\Password Manager.dll
|
||||
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v7.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v7.0": {}
|
||||
},
|
||||
"libraries": {}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net7.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.WindowsDesktop.App",
|
||||
"version": "7.0.0"
|
||||
}
|
||||
],
|
||||
"additionalProbingPaths": [
|
||||
"C:\\Users\\Typo\\.dotnet\\store\\|arch|\\|tfm|",
|
||||
"C:\\Users\\Typo\\.nuget\\packages"
|
||||
],
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
GUI/obj/Release/net7.0-windows/Password Manager.dll
Normal file
BIN
GUI/obj/Release/net7.0-windows/Password Manager.dll
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
2e99e7c3531053203d08be2ec50814766b8c79bb
|
||||
BIN
GUI/obj/Release/net7.0-windows/Password Manager.pdb
Normal file
BIN
GUI/obj/Release/net7.0-windows/Password Manager.pdb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
GUI/obj/Release/net7.0-windows/apphost.exe
Normal file
BIN
GUI/obj/Release/net7.0-windows/apphost.exe
Normal file
Binary file not shown.
BIN
GUI/obj/Release/net7.0-windows/ref/Password Manager.dll
Normal file
BIN
GUI/obj/Release/net7.0-windows/ref/Password Manager.dll
Normal file
Binary file not shown.
BIN
GUI/obj/Release/net7.0-windows/refint/Password Manager.dll
Normal file
BIN
GUI/obj/Release/net7.0-windows/refint/Password Manager.dll
Normal file
Binary file not shown.
70
GUI/obj/project.assets.json
Normal file
70
GUI/obj/project.assets.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
"net7.0-windows7.0": {}
|
||||
},
|
||||
"libraries": {},
|
||||
"projectFileDependencyGroups": {
|
||||
"net7.0-windows7.0": []
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\Typo\\.nuget\\packages\\": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj",
|
||||
"projectName": "GUI",
|
||||
"projectPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj",
|
||||
"packagesPath": "C:\\Users\\Typo\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Typo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net7.0-windows"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net7.0-windows7.0": {
|
||||
"targetAlias": "net7.0-windows",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
},
|
||||
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||
"privateAssets": "none"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
8
GUI/obj/project.nuget.cache
Normal file
8
GUI/obj/project.nuget.cache
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "xaQBQGwURe1doe22aGJbi0HP95BxuO3cRTGnqxZ81KyO175G+7XH7+HrQ+5nqIv097lQVB83fMvc2QzSX3cXAA==",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\Typo\\Projects\\Windows-Password-Manager\\GUI\\GUI.csproj",
|
||||
"expectedPackageFiles": [],
|
||||
"logs": []
|
||||
}
|
||||
Reference in New Issue
Block a user