Don't check for duplicates in Regex DataGridView, don't let adding syntax for new rows

This commit is contained in:
Jaex 2019-02-04 20:09:48 +03:00
parent a273eced9c
commit ed6e7d7be8
3 changed files with 98 additions and 61 deletions

View file

@ -121,6 +121,8 @@ private void InitializeComponent()
this.lblXPath = new System.Windows.Forms.Label();
this.txtXPath = new System.Windows.Forms.TextBox();
this.tpRegexParse = new System.Windows.Forms.TabPage();
this.dgvRegex = new System.Windows.Forms.DataGridView();
this.cRegex = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.btnRegexAddSyntax = new System.Windows.Forms.Button();
this.tpTest = new System.Windows.Forms.TabPage();
this.tcTest = new System.Windows.Forms.TabControl();
@ -137,8 +139,7 @@ private void InitializeComponent()
this.cbURLSharingService = new System.Windows.Forms.ComboBox();
this.btnURLSharingServiceTest = new System.Windows.Forms.Button();
this.ttHelpTip = new System.Windows.Forms.ToolTip(this.components);
this.dgvRegex = new System.Windows.Forms.DataGridView();
this.cRegex = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.lblRegex = new System.Windows.Forms.Label();
this.tscResponseText.ContentPanel.SuspendLayout();
this.tscResponseText.TopToolStripPanel.SuspendLayout();
this.tscResponseText.SuspendLayout();
@ -162,12 +163,12 @@ private void InitializeComponent()
this.tpJsonParse.SuspendLayout();
this.tpXmlParse.SuspendLayout();
this.tpRegexParse.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvRegex)).BeginInit();
this.tpTest.SuspendLayout();
this.tcTest.SuspendLayout();
this.tpResult.SuspendLayout();
this.pResult.SuspendLayout();
this.tpResponseText.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvRegex)).BeginInit();
this.SuspendLayout();
//
// tscResponseText
@ -862,12 +863,56 @@ private void InitializeComponent()
//
// tpRegexParse
//
this.tpRegexParse.Controls.Add(this.lblRegex);
this.tpRegexParse.Controls.Add(this.dgvRegex);
this.tpRegexParse.Controls.Add(this.btnRegexAddSyntax);
resources.ApplyResources(this.tpRegexParse, "tpRegexParse");
this.tpRegexParse.Name = "tpRegexParse";
this.tpRegexParse.UseVisualStyleBackColor = true;
//
// dgvRegex
//
this.dgvRegex.AllowUserToResizeRows = false;
this.dgvRegex.BackgroundColor = System.Drawing.SystemColors.Window;
this.dgvRegex.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle7.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2);
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvRegex.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dgvRegex.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvRegex.ColumnHeadersVisible = false;
this.dgvRegex.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.cRegex});
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle8.Padding = new System.Windows.Forms.Padding(1, 0, 0, 0);
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvRegex.DefaultCellStyle = dataGridViewCellStyle8;
this.dgvRegex.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
this.dgvRegex.GridColor = System.Drawing.SystemColors.ControlLight;
resources.ApplyResources(this.dgvRegex, "dgvRegex");
this.dgvRegex.MultiSelect = false;
this.dgvRegex.Name = "dgvRegex";
this.dgvRegex.RowHeadersVisible = false;
this.dgvRegex.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvRegex_CellValueChanged);
this.dgvRegex.SelectionChanged += new System.EventHandler(this.dgvRegex_SelectionChanged);
//
// cRegex
//
this.cRegex.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
resources.ApplyResources(this.cRegex, "cRegex");
this.cRegex.Name = "cRegex";
this.cRegex.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// btnRegexAddSyntax
//
resources.ApplyResources(this.btnRegexAddSyntax, "btnRegexAddSyntax");
@ -981,47 +1026,10 @@ private void InitializeComponent()
this.ttHelpTip.UseAnimation = false;
this.ttHelpTip.UseFading = false;
//
// dgvRegex
// lblRegex
//
this.dgvRegex.AllowUserToResizeRows = false;
this.dgvRegex.BackgroundColor = System.Drawing.SystemColors.Window;
this.dgvRegex.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle7.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle7.Padding = new System.Windows.Forms.Padding(0, 2, 0, 2);
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvRegex.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dgvRegex.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvRegex.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.cRegex});
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle8.Padding = new System.Windows.Forms.Padding(1, 0, 0, 0);
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvRegex.DefaultCellStyle = dataGridViewCellStyle8;
this.dgvRegex.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
this.dgvRegex.GridColor = System.Drawing.SystemColors.ControlLight;
resources.ApplyResources(this.dgvRegex, "dgvRegex");
this.dgvRegex.MultiSelect = false;
this.dgvRegex.Name = "dgvRegex";
this.dgvRegex.RowHeadersVisible = false;
this.dgvRegex.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvRegex_CellValueChanged);
this.dgvRegex.SelectionChanged += new System.EventHandler(this.dgvRegex_SelectionChanged);
//
// cRegex
//
this.cRegex.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
resources.ApplyResources(this.cRegex, "cRegex");
this.cRegex.Name = "cRegex";
this.cRegex.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
resources.ApplyResources(this.lblRegex, "lblRegex");
this.lblRegex.Name = "lblRegex";
//
// CustomUploaderSettingsForm
//
@ -1086,12 +1094,13 @@ private void InitializeComponent()
this.tpXmlParse.ResumeLayout(false);
this.tpXmlParse.PerformLayout();
this.tpRegexParse.ResumeLayout(false);
this.tpRegexParse.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvRegex)).EndInit();
this.tpTest.ResumeLayout(false);
this.tcTest.ResumeLayout(false);
this.tpResult.ResumeLayout(false);
this.pResult.ResumeLayout(false);
this.tpResponseText.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgvRegex)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -1200,5 +1209,6 @@ private void InitializeComponent()
private System.Windows.Forms.DataGridViewTextBoxColumn cArgumentsValue;
private System.Windows.Forms.DataGridView dgvRegex;
private System.Windows.Forms.DataGridViewTextBoxColumn cRegex;
private System.Windows.Forms.Label lblRegex;
}
}

View file

@ -264,7 +264,7 @@ private void CustomUploaderUpdateResponseState()
{
btnJsonAddSyntax.Enabled = !string.IsNullOrEmpty(txtJsonPath.Text);
btnXmlAddSyntax.Enabled = !string.IsNullOrEmpty(txtXPath.Text);
btnRegexAddSyntax.Enabled = dgvRegex.SelectedCells.Count > 0;
btnRegexAddSyntax.Enabled = dgvRegex.SelectedCells.OfType<DataGridViewCell>().Any(x => !x.OwningRow.IsNewRow);
}
private void CustomUploaderRefreshNames()
@ -422,7 +422,7 @@ private CustomUploaderDestinationType CustomUploaderGetDestinationType()
return destinationType;
}
private void CheckDataGridView(DataGridView dgv)
private void CheckDataGridView(DataGridView dgv, bool checkDuplicate)
{
for (int i = dgv.Rows.Count - 1; i > -1; i--)
{
@ -436,7 +436,7 @@ private void CheckDataGridView(DataGridView dgv)
dgv.Rows.RemoveAt(i);
}
}
else
else if (checkDuplicate)
{
bool isDuplicate = false;
@ -1021,7 +1021,7 @@ private void dgv_EditingControlShowing(object sender, DataGridViewEditingControl
private void dgvParameters_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
CheckDataGridView(dgvParameters);
CheckDataGridView(dgvParameters, true);
CustomUploaderItem uploader = CustomUploaderGetSelected();
if (uploader != null) uploader.Parameters = DataGridViewToDictionary(dgvParameters);
@ -1029,7 +1029,7 @@ private void dgvParameters_CellValueChanged(object sender, DataGridViewCellEvent
private void dgvHeaders_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
CheckDataGridView(dgvHeaders);
CheckDataGridView(dgvHeaders, true);
CustomUploaderItem uploader = CustomUploaderGetSelected();
if (uploader != null) uploader.Headers = DataGridViewToDictionary(dgvHeaders);
@ -1037,7 +1037,7 @@ private void dgvHeaders_CellValueChanged(object sender, DataGridViewCellEventArg
private void dgvArguments_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
CheckDataGridView(dgvArguments);
CheckDataGridView(dgvArguments, true);
CustomUploaderItem uploader = CustomUploaderGetSelected();
if (uploader != null) uploader.Arguments = DataGridViewToDictionary(dgvArguments);
@ -1130,7 +1130,7 @@ private void dgvRegex_SelectionChanged(object sender, EventArgs e)
private void dgvRegex_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
CheckDataGridView(dgvRegex);
CheckDataGridView(dgvRegex, false);
CustomUploaderItem uploader = CustomUploaderGetSelected();
if (uploader != null) uploader.RegexList = DataGridViewToList(dgvRegex);

View file

@ -2031,6 +2031,33 @@ store.book[0].title</value>
<data name="&gt;&gt;tpXmlParse.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="lblRegex.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblRegex.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 8</value>
</data>
<data name="lblRegex.Size" type="System.Drawing.Size, System.Drawing">
<value>56, 13</value>
</data>
<data name="lblRegex.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="lblRegex.Text" xml:space="preserve">
<value>Regex list:</value>
</data>
<data name="&gt;&gt;lblRegex.Name" xml:space="preserve">
<value>lblRegex</value>
</data>
<data name="&gt;&gt;lblRegex.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblRegex.Parent" xml:space="preserve">
<value>tpRegexParse</value>
</data>
<data name="&gt;&gt;lblRegex.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="cRegex.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -2038,10 +2065,10 @@ store.book[0].title</value>
<value>Regex</value>
</data>
<data name="dgvRegex.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
<value>8, 24</value>
</data>
<data name="dgvRegex.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 112</value>
<value>232, 96</value>
</data>
<data name="dgvRegex.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@ -2056,7 +2083,7 @@ store.book[0].title</value>
<value>tpRegexParse</value>
</data>
<data name="&gt;&gt;dgvRegex.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="btnRegexAddSyntax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -2083,7 +2110,7 @@ store.book[0].title</value>
<value>tpRegexParse</value>
</data>
<data name="&gt;&gt;btnRegexAddSyntax.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="tpRegexParse.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
@ -2637,18 +2664,18 @@ store.book[0].title</value>
<data name="&gt;&gt;cArgumentsValue.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ttHelpTip.Name" xml:space="preserve">
<value>ttHelpTip</value>
</data>
<data name="&gt;&gt;ttHelpTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cRegex.Name" xml:space="preserve">
<value>cRegex</value>
</data>
<data name="&gt;&gt;cRegex.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ttHelpTip.Name" xml:space="preserve">
<value>ttHelpTip</value>
</data>
<data name="&gt;&gt;ttHelpTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>CustomUploaderSettingsForm</value>
</data>