/// ------------------------------------------------------------------------------------ /// <summary> /// Update the tab text in case it was localized. /// </summary> /// ------------------------------------------------------------------------------------ protected override void HandleStringsLocalized() { TabText = LocalizationManager.GetString("SessionsView.MetadataEditor.TabText", "Session"); if (_genre != null && !String.IsNullOrEmpty(_genre.Text)) { var genreId = GenreDefinition.TranslateNameToId(_genre.Text); if (genreId != _genre.Text) { _genre.Text = GenreDefinition.TranslateIdToName(genreId); } } if (_gridAdditionalFields != null) { for (int iRow = 0; iRow < _gridAdditionalFields.RowCount; iRow++) { DataGridViewComboBoxCell comboBoxCell = _gridAdditionalFields[1, iRow] as DataGridViewComboBoxCell; if (comboBoxCell != null) { IMDIItemList list = comboBoxCell.DataSource as IMDIItemList; if (list != null) { list.Localize(Localize); } } } } base.HandleStringsLocalized(); }
/// ------------------------------------------------------------------------------------ public string GetStringValue(string key, string defaultValue, bool localized) { if (key == SessionFileType.kStatusFieldName) { var value = base.GetStringValue(key, ParentElement.DefaultStatusValue); return(localized ? Session.GetLocalizedStatus(value) : value); } if (key == SessionFileType.kGenreFieldName) { var value = base.GetStringValue(key, defaultValue); return(localized ? GenreDefinition.TranslateIdToName(value) : value); } return(key != "id" ? base.GetStringValue(key, defaultValue) : ParentElement.Id); }
/// ------------------------------------------------------------------------------------ public override string SetStringValue(string key, string newValue) { if (key == SessionFileType.kStatusFieldName) { newValue = Session.GetStatusAsEnumParsableString(newValue); } else if (key == SessionFileType.kGenreFieldName) { newValue = GenreDefinition.TranslateNameToId(newValue); } else if (key == PersonFileType.kCode) { _oldUiId = ParentElement.UiId; } return(base.SetStringValue(key, newValue)); }
/// ------------------------------------------------------------------------------------ private void LoadGenreList(object sender, EventArgs e) { var genreList = new List <string>(); var autoCompleteProvider = sender as AutoCompleteValueGatherer; if (autoCompleteProvider != null) { // Add the genres in use, factory or not. var valueLists = autoCompleteProvider.GetValueLists(false); IEnumerable <string> list; if (valueLists.TryGetValue(SessionFileType.kGenreFieldName, out list)) { genreList.AddRange(GenreDefinition.GetGenreNameList(list)); } } // Add the rest of the factory defaults if (GenreDefinition.FactoryGenreDefinitions != null) { if (genreList.Count > 0) { genreList.Add("-----"); } genreList.AddRange(GenreDefinition.FactoryGenreDefinitions.Select(gd => gd.Name).ToArray()); } if (genreList.Count == 0 || !_genre.IsHandleCreated) { return; } // Do this because we've gotten here when the auto-complete helper has new data available. _genre.BeginInvoke((MethodInvoker) delegate { _genre.Items.Clear(); _genre.Items.AddRange(genreList.Cast <object>().ToArray()); }); }