hook left-mouse button up to provide a better user experience in edit mode when dragging channel boxes and system boxes around;

pull/1/head
Bryan Biedenkapp 11 months ago
parent 1071bed5b7
commit c73c96aed3

@ -9,6 +9,7 @@
* *
* Copyright (C) 2024-2025 Caleb, K4PHP * Copyright (C) 2024-2025 Caleb, K4PHP
* Copyright (C) 2025 J. Dean * Copyright (C) 2025 J. Dean
* Copyright (C) 2025 Bryan Biedenkapp, N2PLL
* *
*/ */
@ -221,8 +222,8 @@ namespace dvmconsole
} }
systemStatusBox.MouseLeftButtonDown += SystemStatusBox_MouseLeftButtonDown; systemStatusBox.MouseLeftButtonDown += SystemStatusBox_MouseLeftButtonDown;
systemStatusBox.MouseLeftButtonUp += SystemStatusBox_MouseLeftButtonUp;
systemStatusBox.MouseMove += SystemStatusBox_MouseMove; systemStatusBox.MouseMove += SystemStatusBox_MouseMove;
systemStatusBox.MouseRightButtonDown += SystemStatusBox_MouseRightButtonDown;
ChannelsCanvas.Children.Add(systemStatusBox); ChannelsCanvas.Children.Add(systemStatusBox);
@ -302,8 +303,8 @@ namespace dvmconsole
channelBox.HoldChannelButtonClicked += ChannelBox_HoldChannelButtonClicked; channelBox.HoldChannelButtonClicked += ChannelBox_HoldChannelButtonClicked;
channelBox.MouseLeftButtonDown += ChannelBox_MouseLeftButtonDown; channelBox.MouseLeftButtonDown += ChannelBox_MouseLeftButtonDown;
channelBox.MouseLeftButtonUp += ChannelBox_MouseLeftButtonUp;
channelBox.MouseMove += ChannelBox_MouseMove; channelBox.MouseMove += ChannelBox_MouseMove;
channelBox.MouseRightButtonDown += ChannelBox_MouseRightButtonDown;
ChannelsCanvas.Children.Add(channelBox); ChannelsCanvas.Children.Add(channelBox);
offsetX += 225; offsetX += 225;
@ -359,8 +360,8 @@ namespace dvmconsole
playbackChannelBox.HoldChannelButtonClicked += ChannelBox_HoldChannelButtonClicked; playbackChannelBox.HoldChannelButtonClicked += ChannelBox_HoldChannelButtonClicked;
playbackChannelBox.MouseLeftButtonDown += ChannelBox_MouseLeftButtonDown; playbackChannelBox.MouseLeftButtonDown += ChannelBox_MouseLeftButtonDown;
playbackChannelBox.MouseLeftButtonUp += ChannelBox_MouseLeftButtonUp;
playbackChannelBox.MouseMove += ChannelBox_MouseMove; playbackChannelBox.MouseMove += ChannelBox_MouseMove;
playbackChannelBox.MouseRightButtonDown += ChannelBox_MouseRightButtonDown;
ChannelsCanvas.Children.Add(playbackChannelBox); ChannelsCanvas.Children.Add(playbackChannelBox);
//offsetX += 225; //offsetX += 225;
@ -823,6 +824,21 @@ namespace dvmconsole
element.CaptureMouse(); element.CaptureMouse();
} }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChannelBox_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
if (!isEditMode || !isDragging || draggedElement == null)
return;
isDragging = false;
draggedElement.ReleaseMouseCapture();
draggedElement = null;
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -854,21 +870,6 @@ namespace dvmconsole
AdjustCanvasHeight(); AdjustCanvasHeight();
} }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ChannelBox_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
if (!isEditMode || !isDragging || draggedElement == null)
return;
isDragging = false;
draggedElement.ReleaseMouseCapture();
draggedElement = null;
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -881,14 +882,7 @@ namespace dvmconsole
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
private void SystemStatusBox_MouseMove(object sender, MouseEventArgs e) => ChannelBox_MouseMove(sender, e); private void SystemStatusBox_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SystemStatusBox_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{ {
if (!isEditMode) if (!isEditMode)
return; return;
@ -899,12 +893,19 @@ namespace dvmconsole
double y = Canvas.GetTop(systemStatusBox); double y = Canvas.GetTop(systemStatusBox);
settingsManager.SystemStatusPositions[systemStatusBox.SystemName] = new ChannelPosition { X = x, Y = y }; settingsManager.SystemStatusPositions[systemStatusBox.SystemName] = new ChannelPosition { X = x, Y = y };
ChannelBox_MouseRightButtonDown(sender, e); ChannelBox_MouseLeftButtonUp(sender, e);
AdjustCanvasHeight(); AdjustCanvasHeight();
} }
} }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SystemStatusBox_MouseMove(object sender, MouseEventArgs e) => ChannelBox_MouseMove(sender, e);
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>

Loading…
Cancel
Save

Powered by TurnKey Linux.