//============================================================================*
        // OnColumnClick()
        //============================================================================*

        protected override void OnColumnClick(ColumnClickEventArgs args)
        {
            if (args.Column == SortingColumn)
            {
                SortingOrder = (SortingOrder == SortOrder.Ascending) ? SortOrder.Descending : SortOrder.Ascending;

                m_DataFiles.Preferences.FirearmSortOrder = SortingOrder;

                ListViewItemSorter = new cListViewFirearmAccessoryComparer(SortingColumn, SortingOrder);
            }
            else
            {
                SortingColumn = args.Column;

                this.Invalidate(true);

                ListViewItemSorter = new cListViewFirearmAccessoryComparer(SortingColumn, SortingOrder);
            }

            if (SelectedItems.Count > 0)
            {
                SelectedItems[0].EnsureVisible();
            }

            m_DataFiles.Preferences.FirearmSortColumn = args.Column;
        }
        //============================================================================*
        // cFirearmAccessoryListView() - Constructor
        //============================================================================*

        public cFirearmAccessoryListView(cDataFiles DataFiles)
            : base(DataFiles, cPreferences.eApplicationListView.FirearmAccessoriesListView)
        {
            m_DataFiles = DataFiles;

            //----------------------------------------------------------------------------*
            // Set Properties
            //----------------------------------------------------------------------------*

            SetColumns();

            for (int i = 0; i < (int)cGear.eGearTypes.NumGearTypes; i++)
            {
                m_afFilters[i] = true;
            }

            Font = new System.Drawing.Font(Font, System.Drawing.FontStyle.Bold);

            //----------------------------------------------------------------------------*
            // Event Handlers
            //----------------------------------------------------------------------------*

            //----------------------------------------------------------------------------*
            // Populate Columns and Groups
            //----------------------------------------------------------------------------*

            PopulateGroups();

            SortingOrder = m_DataFiles.Preferences.FirearmSortOrder;              // TODO: Make an accessory sort order

            SortingColumn = m_DataFiles.Preferences.FirearmSortColumn;

            ListViewItemSorter = new cListViewFirearmAccessoryComparer(SortingColumn, SortingOrder);

            Populate();

            Initialized = true;
        }