private void MpMainSettings_OnClosed(object sender, EventArgs e) { try { var isDifferentLanguage = IsDifferentLanguage(); // Если отключили плавающее меню if (!ChkMpFloatMenu.IsChecked.Value) { // Закрываем плавающее меню if (MpMenuFunction.MpMainMenuWin != null) { MpMenuFunction.MpMainMenuWin.Close(); } } else // Если включили плавающее меню { // Если плавающее меню было включено if (MpMenuFunction.MpMainMenuWin != null) { // Перегружаем плавающее меню, если изменилась тема, вкл/выкл открытые чертежи, сворачивать в if (!Regestry.GetValue("PluginStyle").Equals(_curTheme) || !Regestry.GetValue("FloatMenuCollapseTo").Equals(_curFloatMenuCollapseTo.ToString()) || !ChkMpChkDrwsOnMnu.IsChecked.Value.Equals(_curDrawingsOnMenu) || isDifferentLanguage) { MpMenuFunction.MpMainMenuWin.Close(); MpMenuFunction.LoadMainMenu(); } } else { MpMenuFunction.LoadMainMenu(); } } // если отключили палитру if (!ChkMpPalette.IsChecked.Value) { if (MpPalette.MpPaletteSet != null) { MpPalette.MpPaletteSet.Visible = false; } } else // если включили палитру { MpPalette.CreatePalette(); } // Если отключили плавающее меню Чертежи if (!ChkMpDrawingsAlone.IsChecked.Value) { if (MpDrawingsFunction.MpDrawingsWin != null) { MpDrawingsFunction.MpDrawingsWin.Close(); } } else { if (MpDrawingsFunction.MpDrawingsWin != null) { // Перегружаем плавающее меню, если изменилась тема, вкл/выкл открытые чертежи, границы, сворачивать в if (!Regestry.GetValue("PluginStyle").Equals(_curTheme) || !Regestry.GetValue("DrawingsCollapseTo").Equals(_curDrawingsCollapseTo.ToString()) || !ChkMpDrawingsAlone.IsChecked.Value.Equals(_curDrawingsAlone) || isDifferentLanguage) { MpDrawingsFunction.MpDrawingsWin.Close(); MpDrawingsFunction.LoadMainMenu(); } } else { MpDrawingsFunction.LoadMainMenu(); } } // Ribbon // Если включили и была выключена if (ChkMpRibbon.IsChecked.Value && !_curRibbon) { RibbonBuilder.BuildRibbon(); } // Если включили и была включена, но сменился язык if (ChkMpRibbon.IsChecked.Value && _curRibbon && isDifferentLanguage) { RibbonBuilder.RemoveRibbon(); RibbonBuilder.BuildRibbon(true); } // Если выключили и была включена if (!ChkMpRibbon.IsChecked.Value && _curRibbon) { RibbonBuilder.RemoveRibbon(); } // context menu // если сменился язык, то все выгружаю if (isDifferentLanguage) { MiniFunctions.UnloadAll(); } MiniFunctions.LoadUnloadContextMenu(); // License server UserConfigFile.SetValue(UserConfigFile.ConfigFileZone.Settings, "DisableConnectionWithLicenseServerInAutoCAD", ChkDisableConnectionWithLicenseServer.IsChecked.Value.ToString(), true); Regestry.SetValue("LocalLicenseServerIpAddress", TbLocalLicenseServerIpAddress.Text); Regestry.SetValue("LocalLicenseServerPort", TbLocalLicenseServerPort.Value.ToString()); if (_restartClientOnClose) { // reload server ClientStarter.StopConnection(); ClientStarter.StartConnection(ProductLicenseType.AutoCAD); } // перевод фокуса на автокад Utils.SetFocusToDwgView(); } catch (Exception ex) { ExceptionBox.Show(ex); } }