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;
}
}