/*----------------------------------------------------------*/ #endregion private void AddLastCompItem(string DirPath) { CCompItem Item = new CCompItem() { Dir = DirPath, Index = cmbComp.Items.Count, IsSelected = true }; m_dictCompItems.Add(DirPath, Item); cmbComp.Items.Add(Item.ToString()); cmbComp.SelectedIndex = Item.Index; }
private void btnBrowse_Click(object sender, RoutedEventArgs e) { System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog() { ShowNewFolderButton = true }; lock (DBManagerApp.m_AppSettings.m_SettingsSyncObj) { dlg.SelectedPath = DBManagerApp.m_AppSettings.m_Settings.CompDir; } if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { CCompItem NewItem = null; if (m_dictCompItems.Count == 0) { // Записей нет NewItem = new CCompItem() { Dir = dlg.SelectedPath, IsSelected = true }; m_dictCompItems.Add(dlg.SelectedPath, NewItem); cmbComp.Items.Add(NewItem.ToString()); cmbComp.SelectionChanged -= cmbComp_SelectionChanged; cmbComp.SelectedIndex = cmbComp.Items.Count - 1; cmbComp.SelectionChanged += cmbComp_SelectionChanged; } else { // Проверяем, есть ли запись с такой директорией в словаре if (m_dictCompItems.TryGetValue(dlg.SelectedPath, out NewItem)) { // Есть => выделяем её SelectCompItem(NewItem); } else { CheckAndChangeLastItem(dlg.SelectedPath); } } } }
public CSettingsWnd() { InitializeComponent(); HasUnsavedChanges += () => { return(Modified); }; lock (DBManagerApp.m_AppSettings.m_SettingsSyncObj) { // Ищем все соревы, имеющиеся в БД cmbComp.SelectedIndex = -1; List <descriptions> DescInDB = new List <descriptions>(DBManagerApp.m_Entities.descriptions); foreach (descriptions desc in DescInDB) { DateTime? StartDate = desc.groups.Count > 0 ? desc.groups.Min <groups, DateTime?>(arg => arg.comp_start_date) : null; DateTime? EndDate = desc.groups.Count > 0 ? desc.groups.Min <groups, DateTime?>(arg => arg.comp_end_date) : null; CCompItem Item = new CCompItem(desc.name, desc.dir, StartDate, EndDate) { Index = cmbComp.Items.Count }; m_dictCompItems.Add(desc.dir, Item); cmbComp.Items.Add(Item.ToString()); if (DBManagerApp.m_AppSettings.m_Settings.CompDir == desc.dir) { // Эта запись выбрана в настройках Item.IsSelected = true; cmbComp.SelectedIndex = Item.Index; } } if (cmbComp.SelectedIndex < 0) { // В настройках выбрана запись которой нет в БД => добавляем её в конец AddLastCompItem(DBManagerApp.m_AppSettings.m_Settings.CompDir); } cmbComp.SelectionChanged += cmbComp_SelectionChanged; chkHandleFileDeletion.IsChecked = DBManagerApp.m_AppSettings.m_Settings.HandleFileDeletion; chkAutodetectOnStart.IsChecked = DBManagerApp.m_AppSettings.m_Settings.AutodetectOnStart; cmbResultGradeCalcMethod.SelectedIndex = (int)DBManagerApp.m_AppSettings.m_Settings.ResultGradeCalcMethod; chkOnly75PercentForCalcGrades.IsChecked = DBManagerApp.m_AppSettings.m_Settings.Only75PercentForCalcGrades; txtMinAgeToCalcResultGrade.Text = DBManagerApp.m_AppSettings.m_Settings.MinAgeToCalcResultGrade.ToString(); RefreshMaxYearToCalcResultGrade(DBManagerApp.m_AppSettings.m_Settings.MinAgeToCalcResultGrade); txtWorkbookTemplateFolder.Text = DBManagerApp.m_AppSettings.m_Settings.WorkbookTemplateFolder; fntstlInvatedToStart.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.InvitedToStartFontStyle; fntstlJustRecievedResult.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.JustRecievedResultFontStyle; fntstlNextRoundMembersCount.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.NextRoundMembersCountFontStyle; fntstlPreparing.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.PreparingFontStyle; fntstlStayOnStart.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle; fntstlPlainResults.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle; fntstlFalsestart.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.FalsestartFontStyle; fntstlGridLines.FontStyleSettings = DBManagerApp.m_AppSettings.m_Settings.GridLinesFontStyle; fntstlInvatedToStart.FontSize = fntstlJustRecievedResult.FontSize = fntstlNextRoundMembersCount.FontSize = fntstlPreparing.FontSize = fntstlStayOnStart.FontSize = fntstlPlainResults.FontSize = fntstlFalsestart.FontSize = fntstlGridLines.FontSize = DBManagerApp.m_AppSettings.m_Settings.FontSize; txtFontSize.Text = ((int)DBManagerApp.m_AppSettings.m_Settings.FontSize).ToString(); lblFontFamilyName.Content = fntstlInvatedToStart.FontFamilyName = fntstlJustRecievedResult.FontFamilyName = fntstlNextRoundMembersCount.FontFamilyName = fntstlPreparing.FontFamilyName = fntstlStayOnStart.FontFamilyName = fntstlPlainResults.FontFamilyName = fntstlFalsestart.FontFamilyName = fntstlGridLines.FontFamilyName = DBManagerApp.m_AppSettings.m_Settings.FontFamilyName; InstalledFontCollection installedFontCollection = new InstalledFontCollection(); var family = installedFontCollection.Families.FirstOrDefault(arg => arg.Name == DBManagerApp.m_AppSettings.m_Settings.FontFamilyName) ?? new System.Drawing.FontFamily(m_GlobalResources["DefaultFontFamilyName"].ToString()); m_lastSelectedFont = new Font(family, 16, System.Drawing.FontStyle.Regular, GraphicsUnit.Pixel); fntstlInvatedToStart.Modified = fntstlJustRecievedResult.Modified = fntstlNextRoundMembersCount.Modified = fntstlPreparing.Modified = fntstlStayOnStart.Modified = fntstlPlainResults.Modified = fntstlFalsestart.Modified = fntstlGridLines.Modified = false; fntstlInvatedToStart.PropertyChanged += fntstl_PropertyChanged; fntstlJustRecievedResult.PropertyChanged += fntstl_PropertyChanged; fntstlNextRoundMembersCount.PropertyChanged += fntstl_PropertyChanged; fntstlPreparing.PropertyChanged += fntstl_PropertyChanged; fntstlStayOnStart.PropertyChanged += fntstl_PropertyChanged; fntstlPlainResults.PropertyChanged += fntstl_PropertyChanged; fntstlFalsestart.PropertyChanged += fntstl_PropertyChanged; fntstlGridLines.PropertyChanged += fntstl_PropertyChanged; } GlobalDefines.TuneComboboxWidth2(cmbResultGradeCalcMethod); ModifiedFromOpen = Modified = false; }