Nanook.QueenBee.EditorForm.qbRemoveItem C# (CSharp) Method

qbRemoveItem() private method

private qbRemoveItem ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void qbRemoveItem(object sender, EventArgs e)
        {
            try
            {

                if (!(mnuQbEdit.Tag is int))
                    return;
                if (_addItemSibling == null)
                    return;

                int selectedIndex = (int)mnuQbEdit.Tag;

                if (selectedIndex < 0)
                    return;

                if (_addItemParent == null)
                    _qbFile.RemoveItem(_addItemSibling);
                else
                    _addItemParent.RemoveItem(_addItemSibling);

                int nextIdx = lstQbItems.Items.Count - 1;
                int idnt = lstQbItems.Items[selectedIndex].IndentCount;
                for (int i = selectedIndex + 1; i < lstQbItems.Items.Count; i++)
                {
                    if (lstQbItems.Items[i].IndentCount <= idnt)
                    {
                        nextIdx = i;
                        break;
                    }
                }

                if (selectedIndex == nextIdx)
                    nextIdx--;

                QbItemBase selectItem = null;
                if (nextIdx >= 0 && nextIdx < lstQbItems.Items.Count)
                    selectItem = (QbItemBase)lstQbItems.Items[nextIdx].Tag;
                //            if (selectedIndex > 0)
                //                selectItem = (QbItemBase)lstQbItems.Items[selectedIndex - 1].Tag;

                _qbFile.AlignPointers();
                populateQbList(selectItem);
                btnSavePak.Enabled = true;
            }
            catch (Exception ex)
            {
                showException("Failed to remove item.", ex);
                return;
            }
        }
EditorForm