Beispiel #1
0
        /// ------------------------------------------------------------------------------------
        /// <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));
        }
Beispiel #4
0
        /// ------------------------------------------------------------------------------------
        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());
            });
        }