private void RemoveFloorplan(FloorPlanControl fpc, bool confirm)
{
if (confirm &&
MessageBox.Show(LocRm.GetString("Delete") + ":" + fpc.ObjectName, LocRm.GetString("Confirm"), MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning) == DialogResult.Cancel)
return;
if (fpc.Fpobject?.objects?.@object != null)
{
foreach (var o in fpc.Fpobject.objects.@object)
{
switch (o.type)
{
case "camera":
CameraWindow cw = GetCameraWindow(o.id);
if (cw != null)
{
//cw.Location = new Point(Location.X + e.X, Location.Y + e.Y);
cw.Highlighted = false;
cw.Invalidate();
}
break;
case "microphone":
VolumeLevel vl = GetVolumeLevel(o.id);
if (vl != null)
{
vl.Highlighted = false;
vl.Invalidate();
}
break;
}
}
}
_pnlCameras.Controls.Remove(fpc);
if (!_closing)
{
objectsFloorplan ofp = FloorPlans.SingleOrDefault(p => p.id == fpc.Fpobject.id);
if (ofp != null)
FloorPlans.Remove(ofp);
SetNewStartPosition();
NeedsSync = true;
}
fpc.Dispose();
}