diff --git a/dvmconsole/Controls/ChannelBox.xaml.cs b/dvmconsole/Controls/ChannelBox.xaml.cs
index 3a025c2..813ef97 100644
--- a/dvmconsole/Controls/ChannelBox.xaml.cs
+++ b/dvmconsole/Controls/ChannelBox.xaml.cs
@@ -30,13 +30,12 @@ namespace dvmconsole.Controls
///
public partial class ChannelBox : UserControl, INotifyPropertyChanged
{
- public readonly static Brush DESELECTED_COLOR = Brushes.Gray;
- public readonly static Brush SELECTED_COLOR = (Brush)new BrushConverter().ConvertFrom("#FF0B004B");
- public readonly static Brush PLYBK_SELECTED_COLOR = (Brush)new BrushConverter().ConvertFrom("#FFC90000");
-
- public readonly static Brush RX_COLOR = (Brush)new BrushConverter().ConvertFrom("#FF00BC48");
- public readonly static Brush RX_ENC_COLOR = (Brush)new BrushConverter().ConvertFrom("#FFDEAF0A");
-
+ public readonly static LinearGradientBrush GRAY_GRADIENT;
+ public readonly static LinearGradientBrush DARK_GRAY_GRADIENT; // Delected/Disconnected Color
+ public readonly static LinearGradientBrush BLUE_GRADIENT; // Selected Channel Color
+ public readonly static LinearGradientBrush RED_GRADIENT; // Playback Selected Color
+ public readonly static LinearGradientBrush GREEN_GRADIENT; // Clear Rx Color
+ public readonly static LinearGradientBrush ORANGE_GRADIENT; // Encrypted Rx Color
private readonly SelectedChannelsManager selectedChannelsManager;
private readonly AudioManager audioManager;
@@ -49,10 +48,6 @@ namespace dvmconsole.Controls
private double volume = 1.0;
private bool isSelected;
- internal LinearGradientBrush grayGradient;
- internal LinearGradientBrush redGradient;
- internal LinearGradientBrush orangeGradient;
-
public FlashingBackgroundManager flashingBackgroundManager;
public byte[] netLDU1 = new byte[9 * 25];
@@ -258,6 +253,66 @@ namespace dvmconsole.Controls
** Methods
*/
+ ///
+ /// Static initialize for the
+ ///
+ static ChannelBox()
+ {
+ GRAY_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ GRAY_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0F0F0F0"), 0.485));
+ GRAY_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0C2C2C2"), 0.517));
+
+ DARK_GRAY_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ DARK_GRAY_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0979797"), 0.485));
+ DARK_GRAY_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0686767"), 0.517));
+
+ BLUE_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ BLUE_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0150189"), 0.485));
+ BLUE_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F00B004B"), 0.517));
+
+ RED_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ RED_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0FF0000"), 0.485));
+ RED_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0C60000"), 0.517));
+
+ GREEN_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ GREEN_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F000AF00"), 0.485));
+ GREEN_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0008E00"), 0.517));
+
+ ORANGE_GRADIENT = new LinearGradientBrush
+ {
+ StartPoint = new Point(0.5, 0),
+ EndPoint = new Point(0.5, 1)
+ };
+
+ ORANGE_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0FFAF00"), 0.485));
+ ORANGE_GRADIENT.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#F0C68700"), 0.517));
+ }
+
///
/// Initializes a new instance of the class.
///
@@ -286,36 +341,9 @@ namespace dvmconsole.Controls
MouseLeftButtonDown += ChannelBox_MouseLeftButtonDown;
- grayGradient = new LinearGradientBrush
- {
- StartPoint = new Point(0.5, 0),
- EndPoint = new Point(0.5, 1)
- };
-
- grayGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFF0F0F0"), 0.485));
- grayGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFDCDCDC"), 0.517));
-
- redGradient = new LinearGradientBrush
- {
- StartPoint = new Point(0.5, 0),
- EndPoint = new Point(0.5, 1)
- };
-
- redGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFFF0000"), 0.485));
- redGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFD50000"), 0.517));
-
- orangeGradient = new LinearGradientBrush
- {
- StartPoint = new Point(0.5, 0),
- EndPoint = new Point(0.5, 1)
- };
-
- orangeGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFFFAF00"), 0.485));
- orangeGradient.GradientStops.Add(new GradientStop((Color)ColorConverter.ConvertFromString("#FFEEA400"), 0.517));
-
- PttButton.Background = grayGradient;
- PageSelectButton.Background = grayGradient;
- ChannelMarkerBtn.Background = grayGradient;
+ PttButton.Background = GRAY_GRADIENT;
+ PageSelectButton.Background = GRAY_GRADIENT;
+ ChannelMarkerBtn.Background = GRAY_GRADIENT;
if (SystemName == MainWindow.PLAYBACKSYS || ChannelName == MainWindow.PLAYBACKCHNAME || DstId == MainWindow.PLAYBACKTG)
{
@@ -350,7 +378,7 @@ namespace dvmconsole.Controls
return;
IsSelected = !IsSelected;
- ControlBorder.Background = IsSelected ? SELECTED_COLOR : DESELECTED_COLOR;
+ ControlBorder.Background = IsSelected ? BLUE_GRADIENT : DARK_GRAY_GRADIENT;
if (IsSelected)
selectedChannelsManager.AddSelectedChannel(this);
@@ -367,9 +395,9 @@ namespace dvmconsole.Controls
return;
if (PttState)
- PttButton.Background = redGradient;
+ PttButton.Background = RED_GRADIENT;
else
- PttButton.Background = grayGradient;
+ PttButton.Background = GRAY_GRADIENT;
}
///
@@ -381,9 +409,9 @@ namespace dvmconsole.Controls
return;
if (PageState)
- PageSelectButton.Background = orangeGradient;
+ PageSelectButton.Background = ORANGE_GRADIENT;
else
- PageSelectButton.Background = grayGradient;
+ PageSelectButton.Background = GRAY_GRADIENT;
}
private void UpdateHoldColor()
@@ -392,9 +420,9 @@ namespace dvmconsole.Controls
return;
if (HoldState)
- ChannelMarkerBtn.Background = orangeGradient;
+ ChannelMarkerBtn.Background = ORANGE_GRADIENT;
else
- ChannelMarkerBtn.Background = grayGradient;
+ ChannelMarkerBtn.Background = GRAY_GRADIENT;
}
///
@@ -404,11 +432,11 @@ namespace dvmconsole.Controls
{
if (SystemName == MainWindow.PLAYBACKSYS || ChannelName == MainWindow.PLAYBACKCHNAME || DstId == MainWindow.PLAYBACKTG)
{
- ControlBorder.Background = IsSelected ? PLYBK_SELECTED_COLOR : DESELECTED_COLOR;
+ ControlBorder.Background = IsSelected ? RED_GRADIENT : DARK_GRAY_GRADIENT;
return;
}
- ControlBorder.Background = IsSelected ? SELECTED_COLOR : DESELECTED_COLOR;
+ ControlBorder.Background = IsSelected ? BLUE_GRADIENT : DARK_GRAY_GRADIENT;
}
///
diff --git a/dvmconsole/Controls/SystemStatusBox.xaml.cs b/dvmconsole/Controls/SystemStatusBox.xaml.cs
index 7ce1df2..e767a66 100644
--- a/dvmconsole/Controls/SystemStatusBox.xaml.cs
+++ b/dvmconsole/Controls/SystemStatusBox.xaml.cs
@@ -83,6 +83,8 @@ namespace dvmconsole.Controls
{
InitializeComponent();
DataContext = this;
+
+ Background = ChannelBox.DARK_GRAY_GRADIENT;
}
///
/// Initializes a new instance of the class.
diff --git a/dvmconsole/MainWindow.xaml.cs b/dvmconsole/MainWindow.xaml.cs
index 25abe03..2b2676a 100644
--- a/dvmconsole/MainWindow.xaml.cs
+++ b/dvmconsole/MainWindow.xaml.cs
@@ -36,7 +36,6 @@ using fnecore;
using fnecore.P25;
using fnecore.P25.LC.TSBK;
using fnecore.P25.KMM;
-using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
namespace dvmconsole
{
@@ -269,6 +268,8 @@ namespace dvmconsole
double offsetX = 20;
double offsetY = 20;
+ Cursor = Cursors.Wait;
+
if (Codeplug != null)
{
foreach (var system in Codeplug.Systems)
@@ -311,18 +312,17 @@ namespace dvmconsole
Trace.WriteLine("FNE Peer connected");
Dispatcher.Invoke(() =>
{
- systemStatusBox.Background = (Brush)new BrushConverter().ConvertFrom("#FF00BC48");
+ systemStatusBox.Background = ChannelBox.GREEN_GRADIENT;
systemStatusBox.ConnectionState = "Connected";
});
};
-
peer.peer.PeerDisconnected += (response) =>
{
Trace.WriteLine("FNE Peer disconnected");
Dispatcher.Invoke(() =>
{
- systemStatusBox.Background = new SolidColorBrush(Colors.DarkRed);
+ systemStatusBox.Background = ChannelBox.RED_GRADIENT;
systemStatusBox.ConnectionState = "Disconnected";
});
};
@@ -431,6 +431,8 @@ namespace dvmconsole
playbackChannelBox.MouseLeftButtonUp += ChannelBox_MouseLeftButtonUp;
playbackChannelBox.MouseMove += ChannelBox_MouseMove;
channelsCanvas.Children.Add(playbackChannelBox);
+
+ Cursor = Cursors.Arrow;
}
///
@@ -715,7 +717,7 @@ namespace dvmconsole
Dispatcher.Invoke(() =>
{
//channel.PageState = false; // TODO: Investigate
- channel.PageSelectButton.Background = channel.grayGradient;
+ channel.PageSelectButton.Background = ChannelBox.GRAY_GRADIENT;
});
}
}
@@ -822,7 +824,7 @@ namespace dvmconsole
Dispatcher.Invoke(() =>
{
if (forHold)
- channel.PttButton.Background = channel.grayGradient;
+ channel.PttButton.Background = ChannelBox.GRAY_GRADIENT;
else
channel.PageState = false;
});
@@ -971,6 +973,8 @@ namespace dvmconsole
offsetY = startPoint.Y - Canvas.GetTop(draggedElement);
isDragging = true;
+ Cursor = Cursors.ScrollAll;
+
element.CaptureMouse();
}
@@ -984,6 +988,8 @@ namespace dvmconsole
if (!isEditMode || !isDragging || draggedElement == null)
return;
+ Cursor = Cursors.Arrow;
+
isDragging = false;
draggedElement.ReleaseMouseCapture();
draggedElement = null;
@@ -1374,7 +1380,7 @@ namespace dvmconsole
{
Dispatcher.Invoke(() =>
{
- btnGlobalPtt.Background = channel.redGradient;
+ btnGlobalPtt.Background = ChannelBox.RED_GRADIENT;
channel.PttState = true;
});
@@ -1384,7 +1390,7 @@ namespace dvmconsole
{
Dispatcher.Invoke(() =>
{
- btnGlobalPtt.Background = channel.grayGradient;
+ btnGlobalPtt.Background = ChannelBox.GRAY_GRADIENT;
channel.PttState = false;
});
@@ -1410,7 +1416,7 @@ namespace dvmconsole
Codeplug.Channel cpgChannel = Codeplug.GetChannelByName(channel.ChannelName);
channel.IsSelected = selectAll;
- channel.Background = channel.IsSelected ? ChannelBox.SELECTED_COLOR : ChannelBox.DESELECTED_COLOR;
+ channel.Background = channel.IsSelected ? ChannelBox.BLUE_GRADIENT : ChannelBox.DARK_GRAY_GRADIENT;
if (channel.IsSelected)
selectedChannelsManager.AddSelectedChannel(channel);
@@ -1877,9 +1883,9 @@ namespace dvmconsole
channel.LastSrcId = "Last: " + alias;
if (channel.algId != P25Defines.P25_ALGO_UNENCRYPT)
- channel.Background = ChannelBox.RX_ENC_COLOR;
+ channel.Background = ChannelBox.ORANGE_GRADIENT;
else
- channel.Background = ChannelBox.RX_COLOR;
+ channel.Background = ChannelBox.GREEN_GRADIENT;
}
// Is the call over?
@@ -1888,7 +1894,7 @@ namespace dvmconsole
channel.IsReceiving = false;
TimeSpan callDuration = pktTime - slot.RxStart;
Trace.WriteLine($"({system.Name}) P25D: Traffic *CALL END * PEER {e.PeerId} SRC_ID {e.SrcId} TGID {e.DstId} DUR {callDuration} [STREAM ID {e.StreamId}]");
- channel.Background = ChannelBox.SELECTED_COLOR;
+ channel.Background = ChannelBox.BLUE_GRADIENT;
callHistoryWindow.ChannelUnkeyed(cpgChannel.Name, (int)e.SrcId);
return;
}