Save local settings less frequently, check if UI settings were changed in SaveUISetting().

This commit is contained in:
Milan Hanajik 2019-07-12 13:25:32 +02:00
parent c0c65f3381
commit 1fbaccf4db
13 changed files with 363 additions and 142 deletions

View File

@ -314,28 +314,54 @@ namespace TBF
/// </summary>
void SaveUISettings()
{
if (WindowState == FormWindowState.Normal)
/// Obtain ComponentsmanagerDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if ((int)Column.ColumnsCount != ls.ComponentsColumnCount)
{
Program.LocalSettings.ComponentsDlgLeft = Location.X;
Program.LocalSettings.ComponentsDlgTop = Location.Y;
Program.LocalSettings.ComponentsDlgWidth = Size.Width;
Program.LocalSettings.ComponentsDlgHeight = Size.Height;
anyColumnDiffers = true;
}
else
{
Program.LocalSettings.ComponentsDlgLeft = RestoreBounds.Left;
Program.LocalSettings.ComponentsDlgTop = RestoreBounds.Top;
Program.LocalSettings.ComponentsDlgWidth = RestoreBounds.Width;
Program.LocalSettings.ComponentsDlgHeight = RestoreBounds.Height;
for (int i = 0; i < (int)Column.ColumnsCount; i++)
{
if (listViewEx.Columns[i].Width != ls.ComponentsColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
/// Update the column widths
Program.LocalSettings.ComponentsColumnWidths = new int[(int)Column.ColumnsCount];
for (int i = 0; i < (int)Column.ColumnsCount; i++)
if (ls != null && (ls.ComponentsDlgMaximized != isMaximized ||
ls.ComponentsDlgLeft != left ||
ls.ComponentsDlgTop != top ||
ls.ComponentsDlgWidth != width ||
ls.ComponentsDlgHeight != height ||
anyColumnDiffers))
{
Program.LocalSettings.ComponentsColumnWidths[i] = listViewEx.Columns[i].Width;
/// At least one ComponentsManagerDlg dimension differs => Update local settings and save them
///
ls.ComponentsDlgMaximized = isMaximized;
ls.ComponentsDlgLeft = left;
ls.ComponentsDlgTop = top;
ls.ComponentsDlgWidth = width;
ls.ComponentsDlgHeight = height;
/// List view column widths
ls.ComponentsColumnWidths = new int[(int)Column.ColumnsCount];
for (int i = 0; i < (int)Column.ColumnsCount; i++)
{
ls.ComponentsColumnWidths[i] = listViewEx.Columns[i].Width;
}
ls.Save();
}
Program.LocalSettings.Save();
}
///

View File

@ -67,13 +67,14 @@ namespace TBF
public int TopPaneVerticalSplitterDistance;
/// MainWnd
public bool MainWndMaximized;
public int MainWndLeft;
public int MainWndTop;
public int MainWndWidth;
public int MainWndHeight;
public bool MainWndMaximized;
/// Components
public bool ComponentsDlgMaximized;
public int ComponentsDlgLeft;
public int ComponentsDlgTop;
public int ComponentsDlgWidth;
@ -96,6 +97,7 @@ namespace TBF
public int ComponentsColumnCount { get { return (ComponentsColumnWidths != null) ? ComponentsColumnWidths.Length : 0; } }
/// Paths
public bool PathsDlgMaximized;
public int PathsDlgLeft;
public int PathsDlgTop;
public int PathsDlgWidth;
@ -132,6 +134,7 @@ namespace TBF
public int HeatMetersColumnCount { get { return (HeatMetersColumnWidths != null) ? HeatMetersColumnWidths.Length : 0; } }
/// Transitions
public bool TransitionsDlgMaximized;
public int TransitionsDlgLeft;
public int TransitionsDlgTop;
public int TransitionsDlgWidth;
@ -143,6 +146,7 @@ namespace TBF
public int TransitionsColumnCount { get { return (TransitionsColumnWidths != null) ? TransitionsColumnWidths.Length : 0; } }
/// Metrology
public bool MetrologyDlgMaximized;
public int MetrologyDlgLeft;
public int MetrologyDlgTop;
public int MetrologyDlgWidth;
@ -150,6 +154,7 @@ namespace TBF
/// Procedures
public bool ProceduresDlgMaximized;
public int ProceduresDlgLeft;
public int ProceduresDlgTop;
public int ProceduresDlgWidth;
@ -161,6 +166,7 @@ namespace TBF
public int ProceduresColumnCount { get { return (ProceduresColumnWidths != null) ? ProceduresColumnWidths.Length : 0; } }
/// OneProcedure
public bool OneProcedureDlgMaximized;
public int OneProcedureDlgLeft;
public int OneProcedureDlgTop;
public int OneProcedureDlgWidth;

View File

@ -37,7 +37,7 @@ namespace TBF
private void MetrologyDlg_Load(object sender, EventArgs e)
{
LoadFormPosition();
LoadUISettings();
Text = Strings.Metrology;
@ -231,7 +231,7 @@ namespace TBF
}
}
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.OK;
Close();
}
@ -243,34 +243,42 @@ namespace TBF
(tabPage.Tag as IMetrologyDlgTab).CancelBtnClicked();
}
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.Cancel;
Close();
}
private void SaveFormPosition()
private void SaveUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
if (WindowState == FormWindowState.Normal)
/// Obtain MetrologyDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
if (ls != null && (ls.MetrologyDlgMaximized != isMaximized ||
ls.MetrologyDlgLeft != left ||
ls.MetrologyDlgTop != top ||
ls.MetrologyDlgWidth != width ||
ls.MetrologyDlgHeight != height))
{
ls.MetrologyDlgLeft = Location.X;
ls.MetrologyDlgTop = Location.Y;
ls.MetrologyDlgWidth = Size.Width;
ls.MetrologyDlgHeight = Size.Height;
/// At least one MetrologyDlg dimension differs => Update local settings and save them
ls.MetrologyDlgMaximized = isMaximized;
ls.MetrologyDlgLeft = left;
ls.MetrologyDlgTop = top;
ls.MetrologyDlgWidth = width;
ls.MetrologyDlgHeight = height;
ls.Save();
}
else
{
ls.MetrologyDlgLeft = RestoreBounds.Left;
ls.MetrologyDlgTop = RestoreBounds.Top;
ls.MetrologyDlgWidth = RestoreBounds.Width;
ls.MetrologyDlgHeight = RestoreBounds.Height;
}
ls.Save();
}
private void LoadFormPosition()
private void LoadUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
WindowState = (ls.MetrologyDlgMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
Width = (ls.MetrologyDlgWidth > 0) ? ls.MetrologyDlgWidth : 900;
Height = (ls.MetrologyDlgHeight > 0) ? ls.MetrologyDlgHeight : 500;
Left = (ls.MetrologyDlgLeft != 0) ? ls.MetrologyDlgLeft : 200;

View File

@ -134,7 +134,7 @@ namespace TBF
private void PathsDlg_Load(object sender, EventArgs e)
{
Localize();
LoadFormPosition();
LoadUISettings();
}
private void Localize()
@ -223,7 +223,7 @@ namespace TBF
Cursor.Current = Cursors.Default;
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.OK;
Close();
}
@ -234,35 +234,43 @@ namespace TBF
{
(tab.Tag as ITabWithListViewEx).CancelBtnClicked();
}
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.Cancel;
Close();
}
private void SaveFormPosition()
private void SaveUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
if (WindowState == FormWindowState.Normal)
/// Obtain PathsDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
if (ls != null && (ls.PathsDlgMaximized != isMaximized ||
ls.PathsDlgLeft != left ||
ls.PathsDlgTop != top ||
ls.PathsDlgWidth != width ||
ls.PathsDlgHeight != height))
{
ls.PathsDlgLeft = Location.X;
ls.PathsDlgTop = Location.Y;
ls.PathsDlgWidth = Size.Width;
ls.PathsDlgHeight = Size.Height;
/// At least one PathsDlg dimension differs => Update local settings and save them
ls.PathsDlgMaximized = isMaximized;
ls.PathsDlgLeft = left;
ls.PathsDlgTop = top;
ls.PathsDlgWidth = width;
ls.PathsDlgHeight = height;
ls.Save();
}
else
{
ls.PathsDlgLeft = RestoreBounds.Left;
ls.PathsDlgTop = RestoreBounds.Top;
ls.PathsDlgWidth = RestoreBounds.Width;
ls.PathsDlgHeight = RestoreBounds.Height;
}
ls.Save();
}
private void LoadFormPosition()
private void LoadUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
Width = (ls.PathsDlgWidth > 0) ? ls.PathsDlgWidth : 1050;
WindowState = (ls.PathsDlgMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
Width = (ls.PathsDlgWidth > 0) ? ls.PathsDlgWidth : 1050;
Height = (ls.PathsDlgHeight > 0) ? ls.PathsDlgHeight : 360;
Left = (ls.PathsDlgLeft != 0) ? ls.PathsDlgLeft : 150;
Top = (ls.PathsDlgTop != 0) ? ls.PathsDlgTop : 150;

View File

@ -303,7 +303,7 @@ namespace TBF
if (LoadedProcedure == null) return; /// return in case the dialog is open in the designer
LoadFormPosition();
LoadUISettings();
/// Enable/disable/show/hide controls in General tab
#if IPERL
@ -1767,7 +1767,7 @@ namespace TBF
return;
}
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.OK;
Close();
return;
@ -1775,35 +1775,43 @@ namespace TBF
private void cancelButton_Click(object sender, EventArgs e)
{
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.Cancel;
Close();
return;
}
private void SaveFormPosition()
private void SaveUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
if (WindowState == FormWindowState.Normal)
/// Obtain ProcedureDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
if (ls != null && (ls.OneProcedureDlgMaximized != isMaximized ||
ls.OneProcedureDlgLeft != left ||
ls.OneProcedureDlgTop != top ||
ls.OneProcedureDlgWidth != width ||
ls.OneProcedureDlgHeight != height))
{
ls.OneProcedureDlgLeft = Location.X;
ls.OneProcedureDlgTop = Location.Y;
ls.OneProcedureDlgWidth = Size.Width;
ls.OneProcedureDlgHeight = Size.Height;
/// At least one ProcedureDlg dimension differs => Update local settings and save them
ls.OneProcedureDlgMaximized = isMaximized;
ls.OneProcedureDlgLeft = left;
ls.OneProcedureDlgTop = top;
ls.OneProcedureDlgWidth = width;
ls.OneProcedureDlgHeight = height;
ls.Save();
}
else
{
ls.OneProcedureDlgLeft = RestoreBounds.Left;
ls.OneProcedureDlgTop = RestoreBounds.Top;
ls.OneProcedureDlgWidth = RestoreBounds.Width;
ls.OneProcedureDlgHeight = RestoreBounds.Height;
}
ls.Save();
}
private void LoadFormPosition()
private void LoadUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
WindowState = (ls.OneProcedureDlgMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
Width = (ls.OneProcedureDlgWidth > 0) ? ls.OneProcedureDlgWidth : 800;
Height = (ls.OneProcedureDlgHeight > 0) ? ls.OneProcedureDlgHeight : 420;
Left = (ls.OneProcedureDlgLeft != 0) ? ls.OneProcedureDlgLeft : 150;

View File

@ -49,7 +49,7 @@ namespace TBF
private void ProceduresDlg_Load(object sender, EventArgs e)
{
LoadFormPosition();
LoadUISettings();
Text = Strings.Procedures;
proceduresCtrl.Initialize(this, splitContainer.Panel1);
}
@ -93,41 +93,49 @@ namespace TBF
private void ProceduresDlg_FormClosed(object sender, FormClosedEventArgs e)
{
proceduresCtrl.OkBtnClicked();
SaveFormPosition();
SaveUISettings();
}
private void cancelButton_Click(object sender, EventArgs e)
{
proceduresCtrl.CancelBtnClicked();
SaveFormPosition();
SaveUISettings();
DialogResult = DialogResult.Cancel;
Close();
}
private void SaveFormPosition()
private void SaveUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
if (WindowState == FormWindowState.Normal)
/// Obtain ProceduresDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
if (ls != null && (ls.ProceduresDlgMaximized != isMaximized ||
ls.ProceduresDlgLeft != left ||
ls.ProceduresDlgTop != top ||
ls.ProceduresDlgWidth != width ||
ls.ProceduresDlgHeight != height))
{
ls.ProceduresDlgLeft = Location.X;
ls.ProceduresDlgTop = Location.Y;
ls.ProceduresDlgWidth = Size.Width;
ls.ProceduresDlgHeight = Size.Height;
/// At least one ProceduresDlg dimension differs => Update local settings and save them
ls.ProceduresDlgMaximized = isMaximized;
ls.ProceduresDlgLeft = left;
ls.ProceduresDlgTop = top;
ls.ProceduresDlgWidth = width;
ls.ProceduresDlgHeight = height;
ls.Save();
}
else
{
ls.ProceduresDlgLeft = RestoreBounds.Left;
ls.ProceduresDlgTop = RestoreBounds.Top;
ls.ProceduresDlgWidth = RestoreBounds.Width;
ls.ProceduresDlgHeight = RestoreBounds.Height;
}
ls.Save();
}
private void LoadFormPosition()
private void LoadUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
WindowState = (ls.ProceduresDlgMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
Width = (ls.ProceduresDlgWidth > 0) ? ls.ProceduresDlgWidth : 600;
Height = (ls.ProceduresDlgHeight > 0) ? ls.ProceduresDlgHeight : 500;
Left = (ls.ProceduresDlgLeft != 0) ? ls.ProceduresDlgLeft : 200;

View File

@ -518,27 +518,35 @@ namespace TBF
private void SaveUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
if (WindowState == FormWindowState.Normal)
/// Obtain TransitionsDlg dimensions, etc.
bool isMaximized = (WindowState == FormWindowState.Maximized);
int left = (WindowState == FormWindowState.Normal) ? Location.X : RestoreBounds.Left;
int top = (WindowState == FormWindowState.Normal) ? Location.Y : RestoreBounds.Top;
int width = (WindowState == FormWindowState.Normal) ? Size.Width : RestoreBounds.Width;
int height = (WindowState == FormWindowState.Normal) ? Size.Height : RestoreBounds.Height;
LocalSettings ls = Program.LocalSettings;
if (ls != null && (ls.TransitionsDlgMaximized != isMaximized ||
ls.TransitionsDlgLeft != left ||
ls.TransitionsDlgTop != top ||
ls.TransitionsDlgWidth != width ||
ls.TransitionsDlgHeight != height))
{
ls.TransitionsDlgLeft = Location.X;
ls.TransitionsDlgTop = Location.Y;
ls.TransitionsDlgWidth = Size.Width;
ls.TransitionsDlgHeight = Size.Height;
/// At least one TransitionsDlg dimension differs => Update local settings and save them
ls.TransitionsDlgMaximized = isMaximized;
ls.TransitionsDlgLeft = left;
ls.TransitionsDlgTop = top;
ls.TransitionsDlgWidth = width;
ls.TransitionsDlgHeight = height;
ls.Save();
}
else
{
ls.TransitionsDlgLeft = RestoreBounds.Left;
ls.TransitionsDlgTop = RestoreBounds.Top;
ls.TransitionsDlgWidth = RestoreBounds.Width;
ls.TransitionsDlgHeight = RestoreBounds.Height;
}
ls.Save();
}
private void LoadUISettings()
{
TBF.LocalSettings ls = Program.LocalSettings;
WindowState = (ls.TransitionsDlgMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
Width = (ls.TransitionsDlgWidth > 0) ? ls.TransitionsDlgWidth : 1050;
Height = (ls.TransitionsDlgHeight > 0) ? ls.TransitionsDlgHeight : 650;
Left = (ls.TransitionsDlgLeft != 0) ? ls.TransitionsDlgLeft : 100;
@ -546,7 +554,6 @@ namespace TBF
}
int slctdTab;
private void tabControl_SelectedIndexChanged(object sender, EventArgs e)

View File

@ -382,13 +382,38 @@ namespace TBF.UiControls
parent.Session.SaveOrUpdate(entity);
}
/// Update the column widths
Program.LocalSettings.BenchColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
SaveUISettings();
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.BenchColumnCount)
{
Program.LocalSettings.BenchColumnWidths[i] = Columns[i].Width;
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.BenchColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.BenchColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.BenchColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
Program.LocalSettings.Save();
}
}
}

View File

@ -390,13 +390,38 @@ namespace TBF.UiControls
parent.Session.SaveOrUpdate(entity);
}
/// Update the column widths
Program.LocalSettings.FeedingColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
SaveUISettings();
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.FeedingColumnCount)
{
Program.LocalSettings.FeedingColumnWidths[i] = Columns[i].Width;
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.FeedingColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.FeedingColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.FeedingColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
Program.LocalSettings.Save();
}
}
}

View File

@ -325,14 +325,39 @@ namespace TBF.UiControls
parent.Session.SaveOrUpdate(entity);
}
/// Update the column widths
Program.LocalSettings.HeatMetersColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
Program.LocalSettings.HeatMetersColumnWidths[i] = Columns[i].Width;
}
Program.LocalSettings.Save();
SaveUISettings();
#endif
}
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.HeatMetersColumnCount)
{
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.HeatMetersColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.HeatMetersColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.HeatMetersColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
}
}
}

View File

@ -258,13 +258,38 @@ namespace TBF.UiControls
parent.Session.SaveOrUpdate(entity);
}
/// Update the column widths
Program.LocalSettings.MetersColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
SaveUISettings();
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.MetersColumnCount)
{
Program.LocalSettings.MetersColumnWidths[i] = Columns[i].Width;
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.MetersColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.MetersColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.MetersColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
Program.LocalSettings.Save();
}
}
}

View File

@ -448,13 +448,38 @@ namespace TBF.UiControls
parent.Session.SaveOrUpdate(entity);
}
/// Update the column widths
Program.LocalSettings.OutputColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
SaveUISettings();
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.OutputColumnCount)
{
Program.LocalSettings.OutputColumnWidths[i] = Columns[i].Width;
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.OutputColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.OutputColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.OutputColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
Program.LocalSettings.Save();
}
}
}

View File

@ -137,17 +137,42 @@ namespace TBF.UiControls
}
}
/// Update the column widths
Program.LocalSettings.ProceduresColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
Program.LocalSettings.ProceduresColumnWidths[i] = Columns[i].Width;
}
Program.LocalSettings.Save();
SaveUISettings();
Program.MainWnd.ReloadProcedureComboBoxItems();
}
void SaveUISettings()
{
LocalSettings ls = Program.LocalSettings;
/// Compare list view column widths with the saved ones
bool anyColumnDiffers = false;
if (Columns.Count != ls.ProceduresColumnCount)
{
anyColumnDiffers = true;
}
else
{
for (int i = 0; i < Columns.Count; i++)
{
if (Columns[i].Width != ls.ProceduresColumnWidths[i]) { anyColumnDiffers = true; break; }
}
}
if (anyColumnDiffers)
{
/// Update column widths
ls.ProceduresColumnWidths = new int[Columns.Count];
for (int i = 0; i < Columns.Count; i++)
{
ls.ProceduresColumnWidths[i] = Columns[i].Width;
}
ls.Save();
}
}
public void AddOne()
{
/// Find an unused procedure name