Skip to content

Commit

Permalink
New option to show *both* Friendly and Raw in results. Closing #882
Browse files Browse the repository at this point in the history
  • Loading branch information
rappen committed Aug 10, 2023
1 parent 1d5bc5b commit 743dcdd
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 69 deletions.
40 changes: 26 additions & 14 deletions FetchXmlBuilder/DockControls/ResultGrid.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 6 additions & 22 deletions FetchXmlBuilder/DockControls/ResultGrid.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ internal void SetData(QueryInfo queryinfo)
internal void ApplySettingsToGrid()
{
mnuFriendly.Checked = form.settings.Results.Friendly;
mnuBothNames.Checked = form.settings.Results.BothNames;
mnuIdCol.Checked = form.settings.Results.WorkWithLayout ? false : form.settings.Results.Id;
mnuIndexCol.Checked = form.settings.Results.WorkWithLayout ? false : form.settings.Results.Index;
mnuNullCol.Checked = form.settings.Results.WorkWithLayout ? true : form.settings.Results.NullColumns;
Expand All @@ -94,6 +95,7 @@ internal void ApplySettingsToGrid()
mnuSysCol.Enabled = !form.settings.Results.WorkWithLayout;

crmGridView1.ShowFriendlyNames = mnuFriendly.Checked;
crmGridView1.ShowBothNames = mnuBothNames.Checked;
crmGridView1.ShowIdColumn = mnuIdCol.Checked;
crmGridView1.ShowIndexColumn = mnuIndexCol.Checked;
crmGridView1.ShowAllColumnsInColumnOrder = mnuNullCol.Checked;
Expand All @@ -111,6 +113,7 @@ internal void ApplySettingsToGrid()
private void UpdateSettingsFromSelectedOptions()
{
form.settings.Results.Friendly = mnuFriendly.Checked;
form.settings.Results.BothNames = mnuBothNames.Checked;
form.settings.Results.Index = mnuIndexCol.Checked;
form.settings.Results.NullColumns = mnuNullCol.Checked;
form.settings.Results.SysColumns = mnuSysCol.Checked;
Expand Down Expand Up @@ -168,27 +171,8 @@ internal void SetLayoutToGrid()
return;
}
reloaded = true;
foreach (var cell in form.dockControlBuilder.LayoutXML.Cells)
{
var col = crmGridView1.Columns[cell.Name];
if (col != null)
{
try
{
col.DisplayIndex = Math.Min(cell.DisplayIndex, crmGridView1.Columns.Count - 1);
col.Width = cell.Width;
col.Visible = cell.Width > 0;
}
catch (Exception ex)
{
if (lasterrormessage < DateTime.Now.AddMinutes(-1))
{
MessageBox.Show($"Oops - unexpcted error. But never mind, just try again...\n\n{ex}");
lasterrormessage = DateTime.Now;
}
}
}
}
crmGridView1.LayoutXML = form.dockControlBuilder?.LayoutXML?.ToXML();
crmGridView1.Refresh();
reloaded = false;
}

Expand All @@ -205,7 +189,7 @@ private void GetLayoutFromGrid()
form.dockControlBuilder.LayoutXML = new LayoutXML(entity, form);
}
var columns = crmGridView1.Columns.Cast<DataGridViewColumn>()
.Where(c => !c.Name.StartsWith("#") && c.Visible && c.Width > 5)
.Where(c => !c.Name.StartsWith("#") && !c.Name.EndsWith("|both") && c.Visible && c.Width > 5)
.OrderBy(c => c.DisplayIndex)
.ToDictionary(c => c.Name, c => c.Width);
form.dockControlBuilder.LayoutXML.MakeSureAllCellsExistForColumns(columns);
Expand Down
5 changes: 5 additions & 0 deletions FetchXmlBuilder/FXBInterfaces.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,11 @@ public void ReceiveKeyDownShortcut(KeyEventArgs e)
settings.Results.Friendly = !settings.Results.Friendly;
dockControlGrid?.ApplySettingsToGrid();
}
else if (e.KeyDown(Keys.B, true, true, false))
{
settings.Results.BothNames = !settings.Results.BothNames;
dockControlGrid?.ApplySettingsToGrid();
}
}

public void ReceiveKeyPressShortcut(KeyPressEventArgs e)
Expand Down
77 changes: 45 additions & 32 deletions FetchXmlBuilder/Forms/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions FetchXmlBuilder/Forms/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ private void PopulateSettings(FXBSettings settings)
}
chkAppFriendly.Checked = settings.UseFriendlyNames;
chkAppFriendlyResults.Checked = settings.Results.Friendly;
chkAppBothNamesResults.Checked = settings.Results.BothNames;
chkAppSingle.Checked = settings.QueryOptions.UseSingleQuotation;
chkAppNoSavePrompt.Checked = settings.DoNotPromptToSave;
chkAppResultsNewWindow.Checked = settings.Results.AlwaysNewWindow;
Expand Down Expand Up @@ -81,6 +82,7 @@ internal FXBSettings GetSettings()
var settings = fxb.settings;
settings.UseFriendlyNames = chkAppFriendly.Checked;
settings.Results.Friendly = chkAppFriendlyResults.Checked;
settings.Results.BothNames = chkAppBothNamesResults.Checked;
settings.QueryOptions.UseSingleQuotation = chkAppSingle.Checked;
settings.QueryOptions.NewQueryTemplate = txtFetch.Text;
settings.DoNotPromptToSave = chkAppNoSavePrompt.Checked;
Expand Down
1 change: 1 addition & 0 deletions FetchXmlBuilder/Settings/FXBSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public bool UseFriendlyNames
public class ResultOptions
{
public bool Friendly { get; set; }
public bool BothNames { get; set; }
public bool Id { get; set; }
public bool Index { get; set; }
public bool NullColumns { get; set; }
Expand Down

0 comments on commit 743dcdd

Please sign in to comment.