@ -1,6 +1,3 @@
|
|||||||
[submodule "WhackerLinkLib"]
|
|
||||||
path = WhackerLinkLib
|
|
||||||
url = https://github.com/whackerlink/WhackerLinkLib
|
|
||||||
[submodule "fnecore"]
|
[submodule "fnecore"]
|
||||||
path = fnecore
|
path = fnecore
|
||||||
url = https://github.com/dvmproject/fnecore
|
url = https://github.com/dvmproject/fnecore
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<UserControl x:Class="WhackerLinkConsoleV2.Controls.AlertTone"
|
<UserControl x:Class="DVMConsole.Controls.AlertTone"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
Height="55" Width="105"
|
Height="55" Width="105"
|
||||||
@ -1,85 +1,85 @@
|
|||||||
<Application x:Class="WhackerLinkConsoleV2.App"
|
<Application x:Class="WhackerLinkConsoleV2.App"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
StartupUri="MainWindow.xaml">
|
StartupUri="MainWindow.xaml">
|
||||||
<Application.Resources>
|
<Application.Resources>
|
||||||
<!-- Default Button Style -->
|
<!-- Default Button Style -->
|
||||||
<Style TargetType="Button" x:Key="FlatButton">
|
<Style TargetType="Button" x:Key="FlatButton">
|
||||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||||
<Setter Property="Background" Value="#DDDDDD"/>
|
<Setter Property="Background" Value="#DDDDDD"/>
|
||||||
<!-- Solid Light Gray -->
|
<!-- Solid Light Gray -->
|
||||||
<Setter Property="BorderBrush" Value="Black"/>
|
<Setter Property="BorderBrush" Value="Black"/>
|
||||||
<Setter Property="BorderThickness" Value="1"/>
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
<Setter Property="Foreground" Value="Black"/>
|
<Setter Property="Foreground" Value="Black"/>
|
||||||
<Setter Property="Padding" Value="5"/>
|
<Setter Property="Padding" Value="5"/>
|
||||||
<Setter Property="FontSize" Value="14"/>
|
<Setter Property="FontSize" Value="14"/>
|
||||||
<Setter Property="Cursor" Value="Hand"/>
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="Button">
|
<ControlTemplate TargetType="Button">
|
||||||
<Border Name="Border"
|
<Border Name="Border"
|
||||||
Background="{TemplateBinding Background}"
|
Background="{TemplateBinding Background}"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
CornerRadius="0">
|
CornerRadius="0">
|
||||||
<!-- No Rounded Edges -->
|
<!-- No Rounded Edges -->
|
||||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||||
</Border>
|
</Border>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<!-- Darker background when hovered -->
|
<!-- Darker background when hovered -->
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter TargetName="Border" Property="Background" Value="#CCCCCC"/>
|
<Setter TargetName="Border" Property="Background" Value="#CCCCCC"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
|
|
||||||
<!-- Even darker when pressed -->
|
<!-- Even darker when pressed -->
|
||||||
<Trigger Property="IsPressed" Value="True">
|
<Trigger Property="IsPressed" Value="True">
|
||||||
<Setter TargetName="Border" Property="Background" Value="#AAAAAA"/>
|
<Setter TargetName="Border" Property="Background" Value="#AAAAAA"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style TargetType="Button">
|
<Style TargetType="Button">
|
||||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||||
<Setter Property="Background">
|
<Setter Property="Background">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFE3E3E3" Offset="0.517"/>
|
<GradientStop Color="#FFE3E3E3" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
<Setter Property="BorderBrush" Value="#FFACACAC"/>
|
<Setter Property="BorderBrush" Value="#FFACACAC"/>
|
||||||
<Setter Property="BorderThickness" Value="1"/>
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
<Setter Property="Foreground" Value="Black"/>
|
<Setter Property="Foreground" Value="Black"/>
|
||||||
<Setter Property="Padding" Value="5"/>
|
<Setter Property="Padding" Value="5"/>
|
||||||
<Setter Property="FontSize" Value="14"/>
|
<Setter Property="FontSize" Value="14"/>
|
||||||
<Setter Property="Cursor" Value="Hand"/>
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="Button">
|
<ControlTemplate TargetType="Button">
|
||||||
<Border Name="Border"
|
<Border Name="Border"
|
||||||
Background="{TemplateBinding Background}"
|
Background="{TemplateBinding Background}"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
CornerRadius="5">
|
CornerRadius="5">
|
||||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Bottom"/>
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Bottom"/>
|
||||||
</Border>
|
</Border>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<!-- Subtle transparency & slight darkening on hover -->
|
<!-- Subtle transparency & slight darkening on hover -->
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter TargetName="Border" Property="Opacity" Value="0.9"/>
|
<Setter TargetName="Border" Property="Opacity" Value="0.9"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
|
|
||||||
<!-- Slightly darker when pressed -->
|
<!-- Slightly darker when pressed -->
|
||||||
<Trigger Property="IsPressed" Value="True">
|
<Trigger Property="IsPressed" Value="True">
|
||||||
<Setter TargetName="Border" Property="Opacity" Value="0.8"/>
|
<Setter TargetName="Border" Property="Opacity" Value="0.8"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
</Application.Resources>
|
</Application.Resources>
|
||||||
</Application>
|
</Application>
|
||||||
@ -1,10 +1,10 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
[assembly: ThemeInfo(
|
[assembly: ThemeInfo(
|
||||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||||
//(used if a resource is not found in the page,
|
//(used if a resource is not found in the page,
|
||||||
// or application resource dictionaries)
|
// or application resource dictionaries)
|
||||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||||
//(used if a resource is not found in the page,
|
//(used if a resource is not found in the page,
|
||||||
// app, or any theme specific resource dictionaries)
|
// app, or any theme specific resource dictionaries)
|
||||||
)]
|
)]
|
||||||
|
After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
@ -1,4 +1,4 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.AudioSettingsWindow"
|
<Window x:Class="DVMConsole.AudioSettingsWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
Title="Audio Settings" Height="400" Width="450"
|
Title="Audio Settings" Height="400" Width="450"
|
||||||
@ -1,9 +1,9 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.CallHistoryWindow"
|
<Window x:Class="DVMConsole.CallHistoryWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2"
|
xmlns:local="clr-namespace:DVMConsole"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Call History" Height="450" Width="351">
|
Title="Call History" Height="450" Width="351">
|
||||||
<Grid>
|
<Grid>
|
||||||
@ -1,114 +1,114 @@
|
|||||||
<UserControl x:Class="WhackerLinkConsoleV2.Controls.ChannelBox"
|
<UserControl x:Class="DVMConsole.Controls.ChannelBox"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
Width="220" Height="100" Background="#FF0B004B">
|
Width="220" Height="100" Background="#FF0B004B">
|
||||||
<!-- Border wraps the entire Grid -->
|
<!-- Border wraps the entire Grid -->
|
||||||
<Border BorderBrush="Gray" BorderThickness="1,1,1,1" CornerRadius="0">
|
<Border BorderBrush="Gray" BorderThickness="1,1,1,1" CornerRadius="0">
|
||||||
<Grid Margin="5">
|
<Grid Margin="5">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="41"/>
|
<ColumnDefinition Width="41"/>
|
||||||
<ColumnDefinition/>
|
<ColumnDefinition/>
|
||||||
<ColumnDefinition Width="30"/>
|
<ColumnDefinition Width="30"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="2*"/>
|
<RowDefinition Height="2*"/>
|
||||||
<RowDefinition Height="51*"/>
|
<RowDefinition Height="51*"/>
|
||||||
<RowDefinition Height="32.25"/>
|
<RowDefinition Height="32.25"/>
|
||||||
<RowDefinition Height="7.75"/>
|
<RowDefinition Height="7.75"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<!-- Left Side PTT Button -->
|
<!-- Left Side PTT Button -->
|
||||||
|
|
||||||
<!-- Main Info Section -->
|
<!-- Main Info Section -->
|
||||||
<Rectangle Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="40" Margin="1,0,0,0"
|
<Rectangle Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="40" Margin="1,0,0,0"
|
||||||
Grid.RowSpan="2" Grid.Row="2" VerticalAlignment="Top"
|
Grid.RowSpan="2" Grid.Row="2" VerticalAlignment="Top"
|
||||||
Width="116" StrokeThickness="0"
|
Width="116" StrokeThickness="0"
|
||||||
RadiusX="2" RadiusY="2">
|
RadiusX="2" RadiusY="2">
|
||||||
<Rectangle.Fill>
|
<Rectangle.Fill>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="Gainsboro" Offset="0.517"/>
|
<GradientStop Color="Gainsboro" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Rectangle.Fill>
|
</Rectangle.Fill>
|
||||||
</Rectangle>
|
</Rectangle>
|
||||||
|
|
||||||
<!-- Main Info Section -->
|
<!-- Main Info Section -->
|
||||||
<StackPanel Grid.Column="1" HorizontalAlignment="Left" Width="119" Margin="48,0,0,1" Grid.RowSpan="2" Grid.ColumnSpan="2">
|
<StackPanel Grid.Column="1" HorizontalAlignment="Left" Width="119" Margin="48,0,0,1" Grid.RowSpan="2" Grid.ColumnSpan="2">
|
||||||
<TextBlock Text="{Binding ChannelName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
<TextBlock Text="{Binding ChannelName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
||||||
<TextBlock Text="{Binding LastSrcId}" Foreground="Gold" FontSize="10"/>
|
<TextBlock Text="{Binding LastSrcId}" Foreground="Gold" FontSize="10"/>
|
||||||
<TextBlock Text="{Binding SystemName}" Foreground="Gold" FontSize="10"/>
|
<TextBlock Text="{Binding SystemName}" Foreground="Gold" FontSize="10"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<!-- Volume Slider -->
|
<!-- Volume Slider -->
|
||||||
<Slider Minimum="0" Maximum="4" Value="{Binding Volume, Mode=TwoWay}"
|
<Slider Minimum="0" Maximum="4" Value="{Binding Volume, Mode=TwoWay}"
|
||||||
Height="21" VerticalAlignment="Top" x:Name="VolumeSlider"
|
Height="21" VerticalAlignment="Top" x:Name="VolumeSlider"
|
||||||
ValueChanged="VolumeSlider_ValueChanged" Margin="11,10,65,0"
|
ValueChanged="VolumeSlider_ValueChanged" Margin="11,10,65,0"
|
||||||
Grid.ColumnSpan="2" Grid.Row="2">
|
Grid.ColumnSpan="2" Grid.Row="2">
|
||||||
<Slider.Style>
|
<Slider.Style>
|
||||||
<Style TargetType="Slider">
|
<Style TargetType="Slider">
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="Slider">
|
<ControlTemplate TargetType="Slider">
|
||||||
<Grid>
|
<Grid>
|
||||||
<!-- Background Track -->
|
<!-- Background Track -->
|
||||||
<Rectangle Name="PART_TrackBackground" Height="4" Fill="Gray"
|
<Rectangle Name="PART_TrackBackground" Height="4" Fill="Gray"
|
||||||
VerticalAlignment="Center" Margin="4"/>
|
VerticalAlignment="Center" Margin="4"/>
|
||||||
|
|
||||||
<!-- Track with Functional Movement -->
|
<!-- Track with Functional Movement -->
|
||||||
<Track Name="PART_Track" VerticalAlignment="Center">
|
<Track Name="PART_Track" VerticalAlignment="Center">
|
||||||
<Track.DecreaseRepeatButton>
|
<Track.DecreaseRepeatButton>
|
||||||
<!-- Make the left-side button invisible -->
|
<!-- Make the left-side button invisible -->
|
||||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||||
</Track.DecreaseRepeatButton>
|
</Track.DecreaseRepeatButton>
|
||||||
<Track.IncreaseRepeatButton>
|
<Track.IncreaseRepeatButton>
|
||||||
<!-- Make the right-side button invisible -->
|
<!-- Make the right-side button invisible -->
|
||||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||||
</Track.IncreaseRepeatButton>
|
</Track.IncreaseRepeatButton>
|
||||||
<Track.Thumb>
|
<Track.Thumb>
|
||||||
<Thumb Name="PART_Thumb" Width="10" Height="20" Background="DarkGray"/>
|
<Thumb Name="PART_Thumb" Width="10" Height="20" Background="DarkGray"/>
|
||||||
</Track.Thumb>
|
</Track.Thumb>
|
||||||
</Track>
|
</Track>
|
||||||
</Grid>
|
</Grid>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
</Slider.Style>
|
</Slider.Style>
|
||||||
</Slider>
|
</Slider>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Bottom Buttons -->
|
<!-- Bottom Buttons -->
|
||||||
<StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal" Margin="81,0,-2,0" Grid.RowSpan="2" Grid.ColumnSpan="2">
|
<StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal" Margin="81,0,-2,0" Grid.RowSpan="2" Grid.ColumnSpan="2">
|
||||||
<Button Width="40" Height="40" x:Name="PageSelectButton" Click="PageSelectButton_Click" BorderThickness="0,0,0,0">
|
<Button Width="40" Height="40" x:Name="PageSelectButton" Click="PageSelectButton_Click" BorderThickness="0,0,0,0">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
|
|
||||||
<Image Source="pack://application:,,,/WhackerLinkConsoleV2;component/Assets/pageselect.png" Width="39" Height="39" Margin="1.5,2,0,0"/>
|
<Image Source="/Assets/pageselect.png" Width="39" Height="39" Margin="1.5,2,0,0"/>
|
||||||
</Button>
|
</Button>
|
||||||
<Button Width="40" Height="40" x:Name="ChannelMarkerBtn" Click="ChannelMarkerBtn_Click" BorderThickness="0,0,0,0" Margin="5,0,0,0">
|
<Button Width="40" Height="40" x:Name="ChannelMarkerBtn" Click="ChannelMarkerBtn_Click" BorderThickness="0,0,0,0" Margin="5,0,0,0">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
|
|
||||||
<Image Source="pack://application:,,,/WhackerLinkConsoleV2;component/Assets/channelmarker.png" Width="36" Height="40"/>
|
<Image Source="/Assets/channelmarker.png" Width="36" Height="40"/>
|
||||||
</Button>
|
</Button>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<Button x:Name="PttButton" Click="PTTButton_Click" HorizontalAlignment="Left" Width="42" Margin="41,1,0,4" Grid.ColumnSpan="2" BorderThickness="0,0,0,0" BorderBrush="#FFC1C1C1" UseLayoutRounding="False" Grid.RowSpan="2" Background="#FFEEA400">
|
<Button x:Name="PttButton" Click="PTTButton_Click" HorizontalAlignment="Left" Width="42" Margin="41,1,0,4" Grid.ColumnSpan="2" BorderThickness="0,0,0,0" BorderBrush="#FFC1C1C1" UseLayoutRounding="False" Grid.RowSpan="2" Background="#FFEEA400">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
|
|
||||||
<Image Source="/Assets/instantptt.png" Width="39" Height="40" Stretch="Fill" Margin="0,0,0,1"/>
|
<Image Source="/Assets/instantptt.png" Width="39" Height="40" Stretch="Fill" Margin="0,0,0,1"/>
|
||||||
</Button>
|
</Button>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.DigitalPageWindow"
|
<Window x:Class="DVMConsole.DigitalPageWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
@ -1,4 +1,4 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.KeyStatusWindow"
|
<Window x:Class="DVMConsole.KeyStatusWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
@ -1,220 +1,220 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.MainWindow"
|
<Window x:Class="DVMConsole.MainWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2.Controls"
|
xmlns:local="clr-namespace:DVMConsole.Controls"
|
||||||
Title="WhackerLinkConsoleV2" Height="600" Width="1000" Background="#FFF2F2F2">
|
Title="DVMConsole" Height="600" Width="1000" Background="#FFF2F2F2">
|
||||||
<Grid Background="#FFF2F2F2">
|
<Grid Background="#FFF2F2F2">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="497*"/>
|
<ColumnDefinition Width="497*"/>
|
||||||
<ColumnDefinition Width="3*"/>
|
<ColumnDefinition Width="3*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="52" />
|
<RowDefinition Height="52" />
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Border BorderBrush="#FFB7B7B7" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2">
|
<Border BorderBrush="#FFB7B7B7" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2">
|
||||||
<Border.Background>
|
<Border.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="White"/>
|
<GradientStop Color="White"/>
|
||||||
<GradientStop Color="#FFDFDFDF" Offset="1"/>
|
<GradientStop Color="#FFDFDFDF" Offset="1"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Border.Background>
|
</Border.Background>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Menu VerticalAlignment="Center" Height="25" Background="White" Grid.ColumnSpan="2">
|
<Menu VerticalAlignment="Center" Height="25" Background="White" Grid.ColumnSpan="2">
|
||||||
<MenuItem Header="File">
|
<MenuItem Header="File">
|
||||||
<MenuItem Header="Open Codeplug" Click="OpenCodeplug_Click"/>
|
<MenuItem Header="Open Codeplug" Click="OpenCodeplug_Click"/>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem Header="Edit">
|
<MenuItem Header="Edit">
|
||||||
<MenuItem Header="Audio Settings" Click="AudioSettings_Click" />
|
<MenuItem Header="Audio Settings" Click="AudioSettings_Click" />
|
||||||
<MenuItem Header="Enable Edit Mode" Click="ToggleEditMode_Click"/>
|
<MenuItem Header="Enable Edit Mode" Click="ToggleEditMode_Click"/>
|
||||||
<MenuItem Header="Select Widgets to Display" Click="SelectWidgets_Click"/>
|
<MenuItem Header="Select Widgets to Display" Click="SelectWidgets_Click"/>
|
||||||
<MenuItem Header="Reset Settings" Click="ResetSettings_Click"/>
|
<MenuItem Header="Reset Settings" Click="ResetSettings_Click"/>
|
||||||
<MenuItem Header="Alerts">
|
<MenuItem Header="Alerts">
|
||||||
<MenuItem Header="Add Alert Tone" Click="AddAlertTone_Click"/>
|
<MenuItem Header="Add Alert Tone" Click="AddAlertTone_Click"/>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem Header="Page">
|
<MenuItem Header="Page">
|
||||||
<MenuItem Header="P25 Page" Click="P25Page_Click" />
|
<MenuItem Header="P25 Page" Click="P25Page_Click" />
|
||||||
<MenuItem Header="Manual QC2" Click="ManualPage_Click" />
|
<MenuItem Header="Manual QC2" Click="ManualPage_Click" />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Grid.Row="2" Grid.ColumnSpan="2" VerticalAlignment="Stretch">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Grid.Row="2" Grid.ColumnSpan="2" VerticalAlignment="Stretch">
|
||||||
<Canvas x:Name="ChannelsCanvas" Background="#FFF2F2F2" VerticalAlignment="Top"/>
|
<Canvas x:Name="ChannelsCanvas" Background="#FFF2F2F2" VerticalAlignment="Top"/>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
|
|
||||||
<Button Content="1" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="369,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="btnAlert1" Click="btnAlert1_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="1" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="369,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="btnAlert1" Click="btnAlert1_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Image HorizontalAlignment="Left" Height="50" Grid.Row="1" VerticalAlignment="Center" Width="231" Source="/Assets/WhackerLinkLogoV4.png" Stretch="UniformToFill" Margin="5,0,0,0" RenderTransformOrigin="0.5,0.5">
|
<Image HorizontalAlignment="Left" Height="50" Grid.Row="1" VerticalAlignment="Center" Width="231" Source="/Assets/DvmLogo.png" Stretch="UniformToFill" Margin="5,0,0,0" RenderTransformOrigin="0.5,0.5">
|
||||||
<Image.RenderTransform>
|
<Image.RenderTransform>
|
||||||
<TransformGroup>
|
<TransformGroup>
|
||||||
<ScaleTransform/>
|
<ScaleTransform/>
|
||||||
<SkewTransform AngleY="-0.164"/>
|
<SkewTransform AngleY="-0.164"/>
|
||||||
<RotateTransform/>
|
<RotateTransform/>
|
||||||
<TranslateTransform Y="-0.247"/>
|
<TranslateTransform Y="-0.247"/>
|
||||||
</TransformGroup>
|
</TransformGroup>
|
||||||
</Image.RenderTransform>
|
</Image.RenderTransform>
|
||||||
</Image>
|
</Image>
|
||||||
<Image HorizontalAlignment="Left" Margin="374,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
<Image HorizontalAlignment="Left" Margin="374,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
||||||
<Button Content="2" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="416,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="btnAlert2" Click="btnAlert2_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="2" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="416,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="btnAlert2" Click="btnAlert2_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="421,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
<Image HorizontalAlignment="Left" Margin="421,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
||||||
<Button Content="3" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="463,0,0,0" VerticalAlignment="Center" x:Name="btnAlert3" Height="46" Width="45" Click="btnAlert3_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="3" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="463,0,0,0" VerticalAlignment="Center" x:Name="btnAlert3" Height="46" Width="45" Click="btnAlert3_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="468,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False"/>
|
<Image HorizontalAlignment="Left" Margin="468,3,0,3" Grid.Row="1" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False"/>
|
||||||
<Button VerticalContentAlignment="Bottom" HorizontalAlignment="Left" x:Name="btnGlobalPtt" VerticalAlignment="Center" Height="46" Width="82" Click="btnGlobalPtt_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial" Margin="285,0,0,0">
|
<Button VerticalContentAlignment="Bottom" HorizontalAlignment="Left" x:Name="btnGlobalPtt" VerticalAlignment="Center" Height="46" Width="82" Click="btnGlobalPtt_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial" Margin="285,0,0,0">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="306,2,0,5" Width="62" Source="/Assets/instantptt.png" IsHitTestVisible="False" Grid.Row="1" >
|
<Image HorizontalAlignment="Left" Margin="306,2,0,5" Width="62" Source="/Assets/instantptt.png" IsHitTestVisible="False" Grid.Row="1" >
|
||||||
<Image.OpacityMask>
|
<Image.OpacityMask>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="Black"/>
|
<GradientStop Color="Black"/>
|
||||||
<GradientStop Color="White" Offset="1"/>
|
<GradientStop Color="White" Offset="1"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Image.OpacityMask>
|
</Image.OpacityMask>
|
||||||
</Image>
|
</Image>
|
||||||
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="602,0,0,0" VerticalAlignment="Center" Height="46" Width="45" Click="ClearEmergency_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="602,0,0,0" VerticalAlignment="Center" Height="46" Width="45" Click="ClearEmergency_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
|
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="607,3,0,3" Grid.Row="1" Width="37" Source="/Assets/clearemerg.png" IsHitTestVisible="False"/>
|
<Image HorizontalAlignment="Left" Margin="607,3,0,3" Grid.Row="1" Width="37" Source="/Assets/clearemerg.png" IsHitTestVisible="False"/>
|
||||||
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="238,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="OpenCodeplug_Click2" Click="OpenCodeplug_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="238,0,0,0" VerticalAlignment="Center" Height="46" Width="45" x:Name="OpenCodeplug_Click2" Click="OpenCodeplug_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="240,3,0,3" Grid.Row="1" Width="41" Source="pack://application:,,,/WhackerLinkConsoleV2;component/Assets/config2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
<Image HorizontalAlignment="Left" Margin="240,3,0,3" Grid.Row="1" Width="41" Source="/Assets/config2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598"/>
|
||||||
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="510,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="P25Page_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="510,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="P25Page_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Button VerticalContentAlignment="Center" Content="Select All" HorizontalAlignment="Left" Margin="649,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="SelectAll_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
<Button VerticalContentAlignment="Center" Content="Select All" HorizontalAlignment="Left" Margin="649,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="SelectAll_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Button VerticalContentAlignment="Center" Content="Key Stats" HorizontalAlignment="Left" Margin="696,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="KeyStatus_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
<Button VerticalContentAlignment="Center" Content="Key Stats" HorizontalAlignment="Left" Margin="696,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="KeyStatus_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Button VerticalContentAlignment="Center" Content="Call Hist" HorizontalAlignment="Left" Margin="743,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="CallHist_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
<Button VerticalContentAlignment="Center" Content="Call Hist" HorizontalAlignment="Left" Margin="743,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="CallHist_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" FontSize="10" FontFamily="Arial" Grid.Row="1">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="514,3,0,3" Grid.Row="1" Width="38" Source="/Assets/page.png" IsHitTestVisible="False"/>
|
<Image HorizontalAlignment="Left" Margin="514,3,0,3" Grid.Row="1" Width="38" Source="/Assets/page.png" IsHitTestVisible="False"/>
|
||||||
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="556,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="AudioSettings_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
<Button Content="" VerticalContentAlignment="Bottom" HorizontalAlignment="Left" Margin="556,0,0,0" VerticalAlignment="Center" Height="46" Width="44" Click="AudioSettings_Click" BorderBrush="#FFC1C1C1" BorderThickness="1,1,1,1" Grid.Row="1" FontSize="10" FontFamily="Arial">
|
||||||
<Button.Resources>
|
<Button.Resources>
|
||||||
<Style TargetType="{x:Type Border}">
|
<Style TargetType="{x:Type Border}">
|
||||||
<Setter Property="CornerRadius" Value="2"/>
|
<Setter Property="CornerRadius" Value="2"/>
|
||||||
</Style>
|
</Style>
|
||||||
</Button.Resources>
|
</Button.Resources>
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||||
</LinearGradientBrush>
|
</LinearGradientBrush>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Image HorizontalAlignment="Left" Margin="557,3,0,3" Grid.Row="1" Width="41" Source="/Assets/audio.png" IsHitTestVisible="False"/>
|
<Image HorizontalAlignment="Left" Margin="557,3,0,3" Grid.Row="1" Width="41" Source="/Assets/audio.png" IsHitTestVisible="False"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
@ -1,9 +1,9 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.QuickCallPage"
|
<Window x:Class="DVMConsole.QuickCallPage"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2"
|
xmlns:local="clr-namespace:DVMConsole"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Manual QC2 Page" Height="300" Width="300">
|
Title="Manual QC2 Page" Height="300" Width="300">
|
||||||
<Grid>
|
<Grid>
|
||||||
@ -1,11 +1,11 @@
|
|||||||
<UserControl x:Class="WhackerLinkConsoleV2.Controls.SystemStatusBox"
|
<UserControl x:Class="DVMConsole.Controls.SystemStatusBox"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
Width="105" Height="55" Background="#FF0B004B" BorderBrush="Gray" BorderThickness="1">
|
Width="105" Height="55" Background="#FF0B004B" BorderBrush="Gray" BorderThickness="1">
|
||||||
<Border Background="{Binding Background, RelativeSource={RelativeSource AncestorType=UserControl}}" CornerRadius="5" Padding="10" BorderThickness="1,1,1,1">
|
<Border Background="{Binding Background, RelativeSource={RelativeSource AncestorType=UserControl}}" CornerRadius="5" Padding="10" BorderThickness="1,1,1,1">
|
||||||
<StackPanel Margin="-3,-1,-4,1">
|
<StackPanel Margin="-3,-1,-4,1">
|
||||||
<TextBlock Text="{Binding SystemName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
<TextBlock Text="{Binding SystemName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
||||||
<TextBlock Text="{Binding ConnectionState}" Foreground="Gold" FontSize="10"/>
|
<TextBlock Text="{Binding ConnectionState}" Foreground="Gold" FontSize="10"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -1,12 +1,12 @@
|
|||||||
<Window x:Class="WhackerLinkConsoleV2.WidgetSelectionWindow"
|
<Window x:Class="DVMConsole.WidgetSelectionWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
Title="Select Widgets" Height="200" Width="300" WindowStartupLocation="CenterOwner">
|
Title="Select Widgets" Height="200" Width="300" WindowStartupLocation="CenterOwner">
|
||||||
<StackPanel Margin="20">
|
<StackPanel Margin="20">
|
||||||
<TextBlock Text="Select Widgets to Display:" FontWeight="Bold" Margin="0,0,0,10" />
|
<TextBlock Text="Select Widgets to Display:" FontWeight="Bold" Margin="0,0,0,10" />
|
||||||
<CheckBox x:Name="SystemStatusCheckBox" Content="System Status" IsChecked="True" />
|
<CheckBox x:Name="SystemStatusCheckBox" Content="System Status" IsChecked="True" />
|
||||||
<CheckBox x:Name="ChannelCheckBox" Content="Channels" IsChecked="True" />
|
<CheckBox x:Name="ChannelCheckBox" Content="Channels" IsChecked="True" />
|
||||||
<CheckBox x:Name="AlertToneCheckBox" Content="Alert Tones" IsChecked="True" />
|
<CheckBox x:Name="AlertToneCheckBox" Content="Alert Tones" IsChecked="True" />
|
||||||
<Button Content="Apply" Width="80" Margin="0,20,0,0" HorizontalAlignment="Center" Click="ApplyButton_Click" />
|
<Button Content="Apply" Width="80" Margin="0,20,0,0" HorizontalAlignment="Center" Click="ApplyButton_Click" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Window>
|
</Window>
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
systems:
|
||||||
|
- name: "System 1"
|
||||||
|
address: "localhost"
|
||||||
|
port: 3001
|
||||||
|
authKey: "RPT_PASSWORD"
|
||||||
|
peerId: 1234567
|
||||||
|
rid: "12345"
|
||||||
|
|
||||||
|
zones:
|
||||||
|
- name: "Zone 1"
|
||||||
|
channels:
|
||||||
|
- name: "Channel 1"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "2001"
|
||||||
|
keyId: 0x50
|
||||||
|
algoId: 0xaa # 0xAA or 0x84 (RC4 or AES)
|
||||||
|
encryptionKey: null # Ignored now, we use dvmfne KMM support
|
||||||
|
- name: "Channel 2"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "15002"
|
||||||
|
- name: "Channel 3"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "15003"
|
||||||
|
|
||||||
|
- name: "Zone 2"
|
||||||
|
channels:
|
||||||
|
- name: "Channel A"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "16001"
|
||||||
|
- name: "Channel B"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "16002"
|
||||||
|
- name: "Channel C"
|
||||||
|
system: "System 1"
|
||||||
|
tgid: "16002"
|
||||||
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 22 KiB |
@ -1,74 +0,0 @@
|
|||||||
radioWide:
|
|
||||||
hostVersion: "R01.00.00"
|
|
||||||
codeplugVersion: "R01.00.00"
|
|
||||||
radioAlias: ""
|
|
||||||
serialNumber: "123ABC1234"
|
|
||||||
model: "CONSOLE"
|
|
||||||
inCarMode: "N/A"
|
|
||||||
|
|
||||||
systems:
|
|
||||||
- name: "System 1"
|
|
||||||
address: "localhost"
|
|
||||||
port: 3000
|
|
||||||
authKey: ""
|
|
||||||
rid: "12345"
|
|
||||||
site:
|
|
||||||
name: "Central Site"
|
|
||||||
controlChannel: "772.74375"
|
|
||||||
voiceChannels: []
|
|
||||||
location:
|
|
||||||
x: 757.89
|
|
||||||
y: 1274.17
|
|
||||||
z: 360.3
|
|
||||||
systemID: 1
|
|
||||||
siteID: 1
|
|
||||||
range: 1.5
|
|
||||||
|
|
||||||
# Example DVM Project FNE system
|
|
||||||
- name: "System 2"
|
|
||||||
address: "localhost"
|
|
||||||
port: 3001
|
|
||||||
authKey: "RPT_PASSWORD"
|
|
||||||
peerId: 1234567
|
|
||||||
isDvm: true
|
|
||||||
# Note: for proper operation with affiliated traffic, this id will use +1 for each channel you have for affiliation purposes
|
|
||||||
rid: "12345"
|
|
||||||
site:
|
|
||||||
name: "Central Site"
|
|
||||||
controlChannel: "772.74375"
|
|
||||||
voiceChannels: []
|
|
||||||
location:
|
|
||||||
x: 757.89
|
|
||||||
y: 1274.17
|
|
||||||
z: 360.3
|
|
||||||
systemID: 1
|
|
||||||
siteID: 1
|
|
||||||
range: 1.5
|
|
||||||
|
|
||||||
zones:
|
|
||||||
- name: "Zone 1"
|
|
||||||
channels:
|
|
||||||
- name: "Channel 1"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "2001"
|
|
||||||
keyId: 0x50
|
|
||||||
algoId: 0xaa # 0xAA or 0x84 (RC4 or AES)
|
|
||||||
encryptionKey: null # Ignored now, we use dvmfne KMM support
|
|
||||||
- name: "Channel 2"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "15002"
|
|
||||||
- name: "Channel 3"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "15003"
|
|
||||||
|
|
||||||
- name: "Zone 2"
|
|
||||||
channels:
|
|
||||||
- name: "Channel A"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "16001"
|
|
||||||
- name: "Channel B"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "16002"
|
|
||||||
- name: "Channel C"
|
|
||||||
system: "System 1"
|
|
||||||
tgid: "16002"
|
|
||||||
@ -1 +0,0 @@
|
|||||||
Subproject commit 34ae0da1f296c1023455db9edc9b854f9b1eb0f2
|
|
||||||