//============================================================================*
        // UpdateManufacturer()
        //============================================================================*

        private void UpdateManufacturer()
        {
            //----------------------------------------------------------------------------*
            // Find the manufacturer
            //----------------------------------------------------------------------------*

            foreach (cManufacturer CheckManufacturer in m_DataFiles.ManufacturerList)
            {
                //----------------------------------------------------------------------------*
                // If this is the same manufacturer, copy the new data
                //----------------------------------------------------------------------------*

                if (CheckManufacturer.CompareTo(m_OriginalManufacturer) == 0)
                {
                    CheckManufacturer.Copy(m_Manufacturer);

                    return;
                }
            }

            //----------------------------------------------------------------------------*
            // If the manufacturer was not found, add it
            //----------------------------------------------------------------------------*

            AddManufacturer();
        }
        //============================================================================*
        // AddManufacturer()
        //============================================================================*

        private void AddManufacturer()
        {
            //----------------------------------------------------------------------------*
            // If the manufacturer already exists, update the existing one and exit
            //----------------------------------------------------------------------------*

            foreach (cManufacturer CheckManufacturer in m_DataFiles.ManufacturerList)
            {
                if (CheckManufacturer.CompareTo(Manufacturer) == 0)
                {
                    UpdateManufacturer();

                    return;
                }
            }

            //----------------------------------------------------------------------------*
            // Add the new manufacturer to the list
            //----------------------------------------------------------------------------*

            m_DataFiles.ManufacturerList.Add(Manufacturer);
        }
        //============================================================================*
        // AddManufacturer()
        //============================================================================*

        public bool AddManufacturer(cManufacturer Manufacturer, bool fCountOnly = false)
        {
            m_nImportCount++;

            foreach (cManufacturer CheckManufacturer in this)
            {
                if (CheckManufacturer.CompareTo(Manufacturer) == 0)
                {
                    m_nUpdateCount += CheckManufacturer.Append(Manufacturer, fCountOnly);

                    return(false);
                }
            }

            if (!fCountOnly)
            {
                Add(Manufacturer);
            }

            m_nNewCount++;

            return(true);
        }
        //============================================================================*
        // PopulateManufacturerCombo()
        //============================================================================*

        public static void PopulateManufacturerCombo(ComboBox ManufacturerCombo, cDataFiles DataFiles, cManufacturer Manufacturer = null, cFirearm.eFireArmType eFirearmType = cFirearm.eFireArmType.None, int nSupplyType = -1)
        {
            ManufacturerCombo.Items.Clear();

            //----------------------------------------------------------------------------*
            // Loop through the manufacturers
            //----------------------------------------------------------------------------*

            cManufacturer SelectManufacturer = null;

            foreach (cManufacturer CheckManufacturer in DataFiles.ManufacturerList)
            {
                //----------------------------------------------------------------------------*
                // Check that this manufacturer provides the specfied firearm type, if any
                //----------------------------------------------------------------------------*

                switch (eFirearmType)
                {
                case cFirearm.eFireArmType.None:
                    break;

                case cFirearm.eFireArmType.Handgun:
                    if (!CheckManufacturer.Handguns)
                    {
                        continue;
                    }

                    break;

                case cFirearm.eFireArmType.Rifle:
                    if (!CheckManufacturer.Rifles)
                    {
                        continue;
                    }

                    break;

                case cFirearm.eFireArmType.Shotgun:
                    if (!CheckManufacturer.Shotguns)
                    {
                        continue;
                    }

                    break;
                }

                //----------------------------------------------------------------------------*
                // Check that this manufacturer provides the specfied supply type, if any
                //----------------------------------------------------------------------------*

                switch (nSupplyType)
                {
                case -1:
                    break;

                case (int)cSupply.eSupplyTypes.Bullets:
                    if (!CheckManufacturer.Bullets && !CheckManufacturer.BulletMolds)
                    {
                        continue;
                    }

                    break;

                case (int)cSupply.eSupplyTypes.Cases:
                    if (!CheckManufacturer.Cases)
                    {
                        continue;
                    }

                    break;

                case (int)cSupply.eSupplyTypes.Powder:
                    if (!CheckManufacturer.Powder)
                    {
                        continue;
                    }

                    break;

                case (int)cSupply.eSupplyTypes.Primers:
                    if (!CheckManufacturer.Primers)
                    {
                        continue;
                    }

                    break;
                }

                //----------------------------------------------------------------------------*
                // If we get to here, the manufacturer is ok to be added to the combo
                //----------------------------------------------------------------------------*

                if (Manufacturer != null && CheckManufacturer.CompareTo(Manufacturer) == 0)
                {
                    SelectManufacturer = CheckManufacturer;
                }

                ManufacturerCombo.Items.Add(CheckManufacturer);
            }

            if (SelectManufacturer != null)
            {
                ManufacturerCombo.SelectedIndex = ManufacturerCombo.Items.IndexOf(SelectManufacturer);

                if (ManufacturerCombo.SelectedIndex < 0 && ManufacturerCombo.Items.Count > 0)
                {
                    ManufacturerCombo.SelectedIndex = 0;
                }
            }
            else
            {
                if (ManufacturerCombo.Items.Count > 0)
                {
                    ManufacturerCombo.SelectedIndex = 0;
                }
            }
        }