From e32ea341fa59f3f8d50f744546c8cd91b281c086 Mon Sep 17 00:00:00 2001 From: Jaex Date: Tue, 5 Sep 2017 01:10:04 +0300 Subject: [PATCH] Added duplicate name check for custom uploader arguments and headers --- .../Forms/UploadersConfigForm.cs | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs index 065c606e8..a9c44a324 100644 --- a/ShareX.UploadersLib/Forms/UploadersConfigForm.cs +++ b/ShareX.UploadersLib/Forms/UploadersConfigForm.cs @@ -3322,17 +3322,25 @@ private void btnCustomUploaderArgAdd_Click(object sender, EventArgs e) if (!string.IsNullOrEmpty(name)) { - string value = txtCustomUploaderArgValue.Text; - lvCustomUploaderArguments.Items.Add(name).SubItems.Add(value); - txtCustomUploaderArgName.Text = ""; - txtCustomUploaderArgValue.Text = ""; - txtCustomUploaderArgName.Focus(); - CustomUploaderItem uploader = CustomUploaderGetSelected(); if (uploader != null) { - if (uploader.Arguments == null) uploader.Arguments = new Dictionary(); - uploader.Arguments.Add(name, value); + if (uploader.Arguments.ContainsKey(name)) + { + // TODO: Translate + MessageBox.Show("An argument with the same name already exists.", "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else + { + string value = txtCustomUploaderArgValue.Text; + lvCustomUploaderArguments.Items.Add(name).SubItems.Add(value); + if (uploader.Arguments == null) uploader.Arguments = new Dictionary(); + uploader.Arguments.Add(name, value); + } + + txtCustomUploaderArgName.Text = ""; + txtCustomUploaderArgValue.Text = ""; + txtCustomUploaderArgName.Focus(); } } } @@ -3386,17 +3394,25 @@ private void btnCustomUploaderHeaderAdd_Click(object sender, EventArgs e) if (!string.IsNullOrEmpty(name)) { - string value = txtCustomUploaderHeaderValue.Text; - lvCustomUploaderHeaders.Items.Add(name).SubItems.Add(value); - txtCustomUploaderHeaderName.Text = ""; - txtCustomUploaderHeaderValue.Text = ""; - txtCustomUploaderHeaderName.Focus(); - CustomUploaderItem uploader = CustomUploaderGetSelected(); if (uploader != null) { - if (uploader.Headers == null) uploader.Headers = new Dictionary(); - uploader.Headers.Add(name, value); + if (uploader.Headers.ContainsKey(name)) + { + // TODO: Translate + MessageBox.Show("A header with the same name already exists.", "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + else + { + string value = txtCustomUploaderHeaderValue.Text; + lvCustomUploaderHeaders.Items.Add(name).SubItems.Add(value); + if (uploader.Headers == null) uploader.Headers = new Dictionary(); + uploader.Headers.Add(name, value); + } + + txtCustomUploaderHeaderName.Text = ""; + txtCustomUploaderHeaderValue.Text = ""; + txtCustomUploaderHeaderName.Focus(); } } }