Exemplo n.º 1
0
        internal static void RestoreSettings(EM_UI_MainForm mainForm, bool exceptionCall = false)
        {
            if (!keepMode)
            {
                return;
            }
            string cc = mainForm.GetCountryShortName();

            try
            {
                if (!countryViewSettings.ContainsKey(cc))
                {
                    return;
                }
                CountryViewSetting setting = countryViewSettings[cc];
                foreach (TreeListColumn col in mainForm.treeList.Columns)
                {
                    if (setting.systemWidths.ContainsKey(col.Caption))
                    {
                        col.Width = setting.systemWidths[col.Caption];
                    }
                    if (setting.hiddenSystems.Contains(col.Caption, true))
                    {
                        col.Visible = false;
                    }
                    if (setting.hiddenSystems.Count > 0)
                    {
                        mainForm.showHiddenSystemsBox();
                    }
                }
                foreach (TreeListNode polNode in mainForm.treeList.Nodes)
                {
                    SetHiddenNode(setting.hiddenNodes, polNode);
                    foreach (TreeListNode funcNode in polNode.Nodes)
                    {
                        SetHiddenNode(setting.hiddenNodes, funcNode);
                        foreach (TreeListNode parNode in funcNode.Nodes)
                        {
                            SetHiddenNode(setting.hiddenNodes, parNode);
                        }
                    }
                }
                if (setting.textSize != null)
                {
                    mainForm.GetTreeListBuilder().SetTextSize(setting.textSize);
                }
            }
            catch (Exception exception)
            {
                if (exceptionCall)
                {
                    return;                // to avoid an infinite loop because of some unknown problem
                }
                UserInfoHandler.ShowException(exception, "Failed to restored view settings. Settings are set back to default.", false);
                if (countryViewSettings.ContainsKey(cc))
                {
                    countryViewSettings[cc] = new CountryViewSetting();
                }
                else
                {
                    countryViewSettings.Add(cc, new CountryViewSetting());
                }
                RestoreSettings(mainForm, true);
            }
        }
 void MoveToHiddenSystems_ShowHiddenSystemBox_MenuItemClick(object sender, EventArgs e)
 {
     _mainForm.showHiddenSystemsBox();
 }