diff --git a/GCSViews/ConfigurationView/ConfigFriendlyParams.cs b/GCSViews/ConfigurationView/ConfigFriendlyParams.cs index 8984bb49ba..4ea931b690 100644 --- a/GCSViews/ConfigurationView/ConfigFriendlyParams.cs +++ b/GCSViews/ConfigurationView/ConfigFriendlyParams.cs @@ -351,15 +351,24 @@ private void BindParamList() var toadd = new List(); - _params.OrderBy(x => x.Key).ForEach(x => + var list = Settings.Instance.GetList("fav_params"); + + _params.OrderBy(x => + { + if (list.Contains(x.Key)) + return "0" + x.Key; + return x.Key; + }).ForEach(x => { AddControl(x, toadd); //,ref ypos); Console.WriteLine("add ctl " + x.Key + " " + DateTime.Now.ToString("ss.fff")); }); + tableLayoutPanel1.SuspendLayout(); tableLayoutPanel1.Visible = false; tableLayoutPanel1.Controls.AddRange(toadd.ToArray()); tableLayoutPanel1.Visible = true; + tableLayoutPanel1.ResumeLayout(); Console.WriteLine("Add done" + DateTime.Now.ToString("ss.fff")); diff --git a/GCSViews/ConfigurationView/ConfigRawParams.cs b/GCSViews/ConfigurationView/ConfigRawParams.cs index 0ec7a04a3f..6f9b713494 100644 --- a/GCSViews/ConfigurationView/ConfigRawParams.cs +++ b/GCSViews/ConfigurationView/ConfigRawParams.cs @@ -682,9 +682,22 @@ private void Params_CellContentClick(object sender, DataGridViewCellEventArgs e) if (e.ColumnIndex == 5) { - Params.Sort(Command, ListSortDirection.Ascending); + var check = Params[e.ColumnIndex, e.RowIndex].EditedFormattedValue; + var name = Params[Command.Index, e.RowIndex].Value.ToString(); + + if (check != null && (bool)check) + { + // add entry + Settings.Instance.AppendList("fav_params", name); + } + else + { + // remove entry + var list = Settings.Instance.GetList("fav_params"); + Settings.Instance.SetList("fav_params", list.Where(s => s != name)); + } - Settings.Instance.AppendList("fav_params", Params[Command.Index, e.RowIndex].Value.ToString()); + Params.Sort(Command, ListSortDirection.Ascending); } } diff --git a/GCSViews/ConfigurationView/ConfigRawParamsTree.cs b/GCSViews/ConfigurationView/ConfigRawParamsTree.cs index 950c19cb9d..59040950e6 100644 --- a/GCSViews/ConfigurationView/ConfigRawParamsTree.cs +++ b/GCSViews/ConfigurationView/ConfigRawParamsTree.cs @@ -343,7 +343,7 @@ internal void processToScreen() foreach (string item in MainV2.comPort.MAV.param.Keys) sorted.Add(item); - sorted.Sort(); + sorted.Sort(ComparisonTree); var roots = new List(); var lastroot = new data(); @@ -412,6 +412,30 @@ internal void processToScreen() } } + private int ComparisonTree(string s, string s1) + { + var list = Settings.Instance.GetList("fav_params"); + + var fav1 = list.Contains(s); + var fav2 = list.Contains(s1); + + var ans = s.CompareTo(s1); + + // both fav use string compare + if (fav1 == fav2) + return ans; + + // fav1 is greater + if (fav1 && !fav2) + return -1; + + // fav1 is not greater + if (!fav1 && fav2) + return 1; + + return ans; + } + private void updatedefaultlist(object crap) { try