Handle the deleting of a step marked for copy

This commit is contained in:
2013-08-01 21:41:26 +00:00
parent 75991ef8e3
commit 2ce0990d62
3 changed files with 97 additions and 43 deletions

View File

@@ -758,7 +758,8 @@ namespace Volian.Controls.Library
return newFocus;
}
private void HandleSqlExceptionOnDelete(System.Data.SqlClient.SqlException ex)
//private void HandleSqlExceptionOnDelete(System.Data.SqlClient.SqlException ex)
private void HandleSqlExceptionOnDelete(Exception ex)
{
if (ex.Message.Contains("has External Transitions and has no next step"))
{
@@ -1153,6 +1154,7 @@ namespace Volian.Controls.Library
public void PasteSiblingBefore(int copyStartID)
{
ItemInfo newItemInfo = MyItemInfo.PasteSiblingBefore(copyStartID);
if (newItemInfo.ItemID == MyItemInfo.ItemID) return;
EditItem newEditItem = null;
switch (_MyChildRelation)
{
@@ -1175,6 +1177,7 @@ namespace Volian.Controls.Library
public void PasteSiblingAfter(int copyStartID)
{
ItemInfo newItemInfo = MyItemInfo.PasteSiblingAfter(copyStartID);
if (newItemInfo.ItemID == MyItemInfo.ItemID) return;
EditItem newEditItem = null;
switch (_MyChildRelation)
{
@@ -1215,7 +1218,8 @@ namespace Volian.Controls.Library
{
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID);
}
catch (System.Data.SqlClient.SqlException ex)
//catch (System.Data.SqlClient.SqlException ex)
catch (Exception ex)
{
HandleSqlExceptionOnDelete(ex);
return this;

View File

@@ -645,6 +645,7 @@ namespace Volian.Controls.Library
btnCMGoTo.Enabled = btnGoTo.Enabled = true;
else
{
if (_MyStepRTB == null) return;
if (_MyStepRTB.IsSelectionLinked(_MyStepRTB.SelectionStart, _MyStepRTB.SelectionLength))
{
// if selected text = ?, i.e. a missing/undefined destination, don't allow go to
@@ -1810,6 +1811,15 @@ namespace Volian.Controls.Library
public void btnDelStep_Click(object sender, EventArgs e)
{
bool clearCopyStep = false;
StepTabPanel tmp = Parent as StepTabPanel;
if (tmp.MyDisplayTabControl.MyCopyStep != null &&
tmp.MyDisplayTabControl.MyCopyStep.ItemID == MyEditItem.MyItemInfo.ItemID)
{
if (MessageBox.Show("Are you sure?\n\nIf you delete this step you will not able to paste it.\nYou should paste it before you delete it.", "Attempting to delete copied step.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return;
clearCopyStep = true;
}
bool surpressMessageBox = (e == null);
SectionInfo si = MyEditItem.MyItemInfo as SectionInfo;
if (si != null)
@@ -1836,7 +1846,7 @@ namespace Volian.Controls.Library
StepInfo stpi = MyEditItem.MyItemInfo as StepInfo;
if (stpi == null) // not sure that it will every get here!
{
MessageBox.Show("Unknown type {0}, cannot delete!",MyEditItem.MyItemInfo.GetType().Name);
MessageBox.Show("Unknown type {0}, cannot delete!", MyEditItem.MyItemInfo.GetType().Name);
return;
}
if (!surpressMessageBox)
@@ -1858,10 +1868,24 @@ namespace Volian.Controls.Library
}
MyEditItem.IdentifyChildren(false);
if (results == DialogResult.Yes)
{
MyEditItem.RemoveItem();
if (clearCopyStep)
{
tmp.MyDisplayTabControl.MyCopyStep = null;
SetPasteButtonEnabled();
}
}
}
else
{
MyEditItem.RemoveItem();
if (clearCopyStep)
{
tmp.MyDisplayTabControl.MyCopyStep = null;
SetPasteButtonEnabled();
}
}
}
private void btnCMIns_PopupClose(object sender, EventArgs e)