fixed #4601: In file exists form support enter and esc keys

This commit is contained in:
Jaex 2020-02-05 11:46:05 +03:00
parent 36890b100d
commit 2226e331bf
2 changed files with 48 additions and 5 deletions

View file

@ -75,6 +75,8 @@ private void InitializeComponent()
resources.ApplyResources(this.txtNewName, "txtNewName");
this.txtNewName.Name = "txtNewName";
this.txtNewName.TextChanged += new System.EventHandler(this.txtNewName_TextChanged);
this.txtNewName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtNewName_KeyDown);
this.txtNewName.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtNewName_KeyUp);
//
// FileExistForm
//
@ -87,6 +89,7 @@ private void InitializeComponent()
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOverwrite);
this.Controls.Add(this.lblTitle);
this.MaximizeBox = false;
this.Name = "FileExistForm";
this.TopMost = true;
this.Shown += new System.EventHandler(this.FileExistForm_Shown);

View file

@ -68,7 +68,7 @@ private string GetNewFilename()
return "";
}
private void btnNewName_Click(object sender, EventArgs e)
private void UseNewFilename()
{
string newFilename = GetNewFilename();
@ -79,6 +79,18 @@ private void btnNewName_Click(object sender, EventArgs e)
}
}
private void UseUniqueFilename()
{
Filepath = uniqueFilepath;
Close();
}
private void Cancel()
{
Filepath = "";
Close();
}
private void txtNewName_TextChanged(object sender, EventArgs e)
{
string newFilename = txtNewName.Text;
@ -86,6 +98,36 @@ private void txtNewName_TextChanged(object sender, EventArgs e)
btnNewName.Text = Resources.FileExistForm_txtNewName_TextChanged_Use_new_name__ + GetNewFilename();
}
private void txtNewName_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter || e.KeyData == Keys.Escape)
{
e.SuppressKeyPress = true;
}
}
private void txtNewName_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
string newFilename = txtNewName.Text;
if (!string.IsNullOrEmpty(newFilename) && !newFilename.Equals(filename, StringComparison.InvariantCultureIgnoreCase))
{
UseNewFilename();
}
}
else if (e.KeyData == Keys.Escape)
{
Cancel();
}
}
private void btnNewName_Click(object sender, EventArgs e)
{
UseNewFilename();
}
private void btnOverwrite_Click(object sender, EventArgs e)
{
Close();
@ -93,14 +135,12 @@ private void btnOverwrite_Click(object sender, EventArgs e)
private void btnUniqueName_Click(object sender, EventArgs e)
{
Filepath = uniqueFilepath;
Close();
UseUniqueFilename();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Filepath = "";
Close();
Cancel();
}
}
}