@ -1,6 +1,3 @@
|
||||
[submodule "WhackerLinkLib"]
|
||||
path = WhackerLinkLib
|
||||
url = https://github.com/whackerlink/WhackerLinkLib
|
||||
[submodule "fnecore"]
|
||||
path = 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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Height="55" Width="105"
|
||||
@ -1,85 +1,85 @@
|
||||
<Application x:Class="WhackerLinkConsoleV2.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
<!-- Default Button Style -->
|
||||
<Style TargetType="Button" x:Key="FlatButton">
|
||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||
<Setter Property="Background" Value="#DDDDDD"/>
|
||||
<!-- Solid Light Gray -->
|
||||
<Setter Property="BorderBrush" Value="Black"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Foreground" Value="Black"/>
|
||||
<Setter Property="Padding" Value="5"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="0">
|
||||
<!-- No Rounded Edges -->
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<!-- Darker background when hovered -->
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="#CCCCCC"/>
|
||||
</Trigger>
|
||||
|
||||
<!-- Even darker when pressed -->
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="#AAAAAA"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||
<Setter Property="Background">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFE3E3E3" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="BorderBrush" Value="#FFACACAC"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Foreground" Value="Black"/>
|
||||
<Setter Property="Padding" Value="5"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="5">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Bottom"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<!-- Subtle transparency & slight darkening on hover -->
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Opacity" Value="0.9"/>
|
||||
</Trigger>
|
||||
|
||||
<!-- Slightly darker when pressed -->
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Opacity" Value="0.8"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
<Application x:Class="WhackerLinkConsoleV2.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
<!-- Default Button Style -->
|
||||
<Style TargetType="Button" x:Key="FlatButton">
|
||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||
<Setter Property="Background" Value="#DDDDDD"/>
|
||||
<!-- Solid Light Gray -->
|
||||
<Setter Property="BorderBrush" Value="Black"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Foreground" Value="Black"/>
|
||||
<Setter Property="Padding" Value="5"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="0">
|
||||
<!-- No Rounded Edges -->
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<!-- Darker background when hovered -->
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="#CCCCCC"/>
|
||||
</Trigger>
|
||||
|
||||
<!-- Even darker when pressed -->
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Background" Value="#AAAAAA"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style TargetType="Button">
|
||||
<Setter Property="OverridesDefaultStyle" Value="True"/>
|
||||
<Setter Property="Background">
|
||||
<Setter.Value>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFE3E3E3" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="BorderBrush" Value="#FFACACAC"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Foreground" Value="Black"/>
|
||||
<Setter Property="Padding" Value="5"/>
|
||||
<Setter Property="FontSize" Value="14"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Name="Border"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="5">
|
||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Bottom"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<!-- Subtle transparency & slight darkening on hover -->
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="Border" Property="Opacity" Value="0.9"/>
|
||||
</Trigger>
|
||||
|
||||
<!-- Slightly darker when pressed -->
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter TargetName="Border" Property="Opacity" Value="0.8"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
@ -1,10 +1,10 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
using System.Windows;
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// 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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2"
|
||||
xmlns:local="clr-namespace:DVMConsole"
|
||||
mc:Ignorable="d"
|
||||
Title="Call History" Height="450" Width="351">
|
||||
<Grid>
|
||||
@ -1,114 +1,114 @@
|
||||
<UserControl x:Class="WhackerLinkConsoleV2.Controls.ChannelBox"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Width="220" Height="100" Background="#FF0B004B">
|
||||
<!-- Border wraps the entire Grid -->
|
||||
<Border BorderBrush="Gray" BorderThickness="1,1,1,1" CornerRadius="0">
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="41"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="51*"/>
|
||||
<RowDefinition Height="32.25"/>
|
||||
<RowDefinition Height="7.75"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Left Side PTT Button -->
|
||||
|
||||
<!-- Main Info Section -->
|
||||
<Rectangle Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="40" Margin="1,0,0,0"
|
||||
Grid.RowSpan="2" Grid.Row="2" VerticalAlignment="Top"
|
||||
Width="116" StrokeThickness="0"
|
||||
RadiusX="2" RadiusY="2">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="Gainsboro" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
|
||||
<!-- Main Info Section -->
|
||||
<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 LastSrcId}" Foreground="Gold" FontSize="10"/>
|
||||
<TextBlock Text="{Binding SystemName}" Foreground="Gold" FontSize="10"/>
|
||||
</StackPanel>
|
||||
|
||||
<!-- Volume Slider -->
|
||||
<Slider Minimum="0" Maximum="4" Value="{Binding Volume, Mode=TwoWay}"
|
||||
Height="21" VerticalAlignment="Top" x:Name="VolumeSlider"
|
||||
ValueChanged="VolumeSlider_ValueChanged" Margin="11,10,65,0"
|
||||
Grid.ColumnSpan="2" Grid.Row="2">
|
||||
<Slider.Style>
|
||||
<Style TargetType="Slider">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Slider">
|
||||
<Grid>
|
||||
<!-- Background Track -->
|
||||
<Rectangle Name="PART_TrackBackground" Height="4" Fill="Gray"
|
||||
VerticalAlignment="Center" Margin="4"/>
|
||||
|
||||
<!-- Track with Functional Movement -->
|
||||
<Track Name="PART_Track" VerticalAlignment="Center">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<!-- Make the left-side button invisible -->
|
||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<!-- Make the right-side button invisible -->
|
||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||
</Track.IncreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Name="PART_Thumb" Width="10" Height="20" Background="DarkGray"/>
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Slider.Style>
|
||||
</Slider>
|
||||
|
||||
|
||||
|
||||
<!-- Bottom Buttons -->
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="pack://application:,,,/WhackerLinkConsoleV2;component/Assets/pageselect.png" Width="39" Height="39" Margin="1.5,2,0,0"/>
|
||||
</Button>
|
||||
<Button Width="40" Height="40" x:Name="ChannelMarkerBtn" Click="ChannelMarkerBtn_Click" BorderThickness="0,0,0,0" Margin="5,0,0,0">
|
||||
<Button.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="pack://application:,,,/WhackerLinkConsoleV2;component/Assets/channelmarker.png" Width="36" Height="40"/>
|
||||
</Button>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="/Assets/instantptt.png" Width="39" Height="40" Stretch="Fill" Margin="0,0,0,1"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</UserControl>
|
||||
<UserControl x:Class="DVMConsole.Controls.ChannelBox"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Width="220" Height="100" Background="#FF0B004B">
|
||||
<!-- Border wraps the entire Grid -->
|
||||
<Border BorderBrush="Gray" BorderThickness="1,1,1,1" CornerRadius="0">
|
||||
<Grid Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="41"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="51*"/>
|
||||
<RowDefinition Height="32.25"/>
|
||||
<RowDefinition Height="7.75"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- Left Side PTT Button -->
|
||||
|
||||
<!-- Main Info Section -->
|
||||
<Rectangle Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="40" Margin="1,0,0,0"
|
||||
Grid.RowSpan="2" Grid.Row="2" VerticalAlignment="Top"
|
||||
Width="116" StrokeThickness="0"
|
||||
RadiusX="2" RadiusY="2">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="Gainsboro" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
|
||||
<!-- Main Info Section -->
|
||||
<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 LastSrcId}" Foreground="Gold" FontSize="10"/>
|
||||
<TextBlock Text="{Binding SystemName}" Foreground="Gold" FontSize="10"/>
|
||||
</StackPanel>
|
||||
|
||||
<!-- Volume Slider -->
|
||||
<Slider Minimum="0" Maximum="4" Value="{Binding Volume, Mode=TwoWay}"
|
||||
Height="21" VerticalAlignment="Top" x:Name="VolumeSlider"
|
||||
ValueChanged="VolumeSlider_ValueChanged" Margin="11,10,65,0"
|
||||
Grid.ColumnSpan="2" Grid.Row="2">
|
||||
<Slider.Style>
|
||||
<Style TargetType="Slider">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Slider">
|
||||
<Grid>
|
||||
<!-- Background Track -->
|
||||
<Rectangle Name="PART_TrackBackground" Height="4" Fill="Gray"
|
||||
VerticalAlignment="Center" Margin="4"/>
|
||||
|
||||
<!-- Track with Functional Movement -->
|
||||
<Track Name="PART_Track" VerticalAlignment="Center">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<!-- Make the left-side button invisible -->
|
||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<!-- Make the right-side button invisible -->
|
||||
<RepeatButton Width="0" Background="Transparent" BorderThickness="0"/>
|
||||
</Track.IncreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Name="PART_Thumb" Width="10" Height="20" Background="DarkGray"/>
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</Slider.Style>
|
||||
</Slider>
|
||||
|
||||
|
||||
|
||||
<!-- Bottom Buttons -->
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="/Assets/pageselect.png" Width="39" Height="39" Margin="1.5,2,0,0"/>
|
||||
</Button>
|
||||
<Button Width="40" Height="40" x:Name="ChannelMarkerBtn" Click="ChannelMarkerBtn_Click" BorderThickness="0,0,0,0" Margin="5,0,0,0">
|
||||
<Button.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="/Assets/channelmarker.png" Width="36" Height="40"/>
|
||||
</Button>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Image Source="/Assets/instantptt.png" Width="39" Height="40" Stretch="Fill" Margin="0,0,0,1"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
@ -1,220 +1,220 @@
|
||||
<Window x:Class="WhackerLinkConsoleV2.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2.Controls"
|
||||
Title="WhackerLinkConsoleV2" Height="600" Width="1000" Background="#FFF2F2F2">
|
||||
<Grid Background="#FFF2F2F2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="497*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="52" />
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Border BorderBrush="#FFB7B7B7" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="White"/>
|
||||
<GradientStop Color="#FFDFDFDF" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
|
||||
<Menu VerticalAlignment="Center" Height="25" Background="White" Grid.ColumnSpan="2">
|
||||
<MenuItem Header="File">
|
||||
<MenuItem Header="Open Codeplug" Click="OpenCodeplug_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Edit">
|
||||
<MenuItem Header="Audio Settings" Click="AudioSettings_Click" />
|
||||
<MenuItem Header="Enable Edit Mode" Click="ToggleEditMode_Click"/>
|
||||
<MenuItem Header="Select Widgets to Display" Click="SelectWidgets_Click"/>
|
||||
<MenuItem Header="Reset Settings" Click="ResetSettings_Click"/>
|
||||
<MenuItem Header="Alerts">
|
||||
<MenuItem Header="Add Alert Tone" Click="AddAlertTone_Click"/>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Page">
|
||||
<MenuItem Header="P25 Page" Click="P25Page_Click" />
|
||||
<MenuItem Header="Manual QC2" Click="ManualPage_Click" />
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Grid.Row="2" Grid.ColumnSpan="2" VerticalAlignment="Stretch">
|
||||
<Canvas x:Name="ChannelsCanvas" Background="#FFF2F2F2" VerticalAlignment="Top"/>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
<SkewTransform AngleY="-0.164"/>
|
||||
<RotateTransform/>
|
||||
<TranslateTransform Y="-0.247"/>
|
||||
</TransformGroup>
|
||||
</Image.RenderTransform>
|
||||
</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"/>
|
||||
<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>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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"/>
|
||||
<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>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<Image HorizontalAlignment="Left" Margin="306,2,0,5" Width="62" Source="/Assets/instantptt.png" IsHitTestVisible="False" Grid.Row="1" >
|
||||
<Image.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="Black"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Image.OpacityMask>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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"/>
|
||||
<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>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<Image HorizontalAlignment="Left" Margin="557,3,0,3" Grid.Row="1" Width="41" Source="/Assets/audio.png" IsHitTestVisible="False"/>
|
||||
</Grid>
|
||||
</Window>
|
||||
<Window x:Class="DVMConsole.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:DVMConsole.Controls"
|
||||
Title="DVMConsole" Height="600" Width="1000" Background="#FFF2F2F2">
|
||||
<Grid Background="#FFF2F2F2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="497*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="52" />
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Border BorderBrush="#FFB7B7B7" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2">
|
||||
<Border.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="White"/>
|
||||
<GradientStop Color="#FFDFDFDF" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Border.Background>
|
||||
</Border>
|
||||
|
||||
<Menu VerticalAlignment="Center" Height="25" Background="White" Grid.ColumnSpan="2">
|
||||
<MenuItem Header="File">
|
||||
<MenuItem Header="Open Codeplug" Click="OpenCodeplug_Click"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Edit">
|
||||
<MenuItem Header="Audio Settings" Click="AudioSettings_Click" />
|
||||
<MenuItem Header="Enable Edit Mode" Click="ToggleEditMode_Click"/>
|
||||
<MenuItem Header="Select Widgets to Display" Click="SelectWidgets_Click"/>
|
||||
<MenuItem Header="Reset Settings" Click="ResetSettings_Click"/>
|
||||
<MenuItem Header="Alerts">
|
||||
<MenuItem Header="Add Alert Tone" Click="AddAlertTone_Click"/>
|
||||
</MenuItem>
|
||||
</MenuItem>
|
||||
<MenuItem Header="Page">
|
||||
<MenuItem Header="P25 Page" Click="P25Page_Click" />
|
||||
<MenuItem Header="Manual QC2" Click="ManualPage_Click" />
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
|
||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Grid.Row="2" Grid.ColumnSpan="2" VerticalAlignment="Stretch">
|
||||
<Canvas x:Name="ChannelsCanvas" Background="#FFF2F2F2" VerticalAlignment="Top"/>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
|
||||
<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>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
<SkewTransform AngleY="-0.164"/>
|
||||
<RotateTransform/>
|
||||
<TranslateTransform Y="-0.247"/>
|
||||
</TransformGroup>
|
||||
</Image.RenderTransform>
|
||||
</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"/>
|
||||
<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>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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"/>
|
||||
<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>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<Image HorizontalAlignment="Left" Margin="306,2,0,5" Width="62" Source="/Assets/instantptt.png" IsHitTestVisible="False" Grid.Row="1" >
|
||||
<Image.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="Black"/>
|
||||
<GradientStop Color="White" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Image.OpacityMask>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<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.Resources>
|
||||
<Style TargetType="{x:Type Border}">
|
||||
<Setter Property="CornerRadius" Value="2"/>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<Button.Background>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#FFF0F0F0" Offset="0.485"/>
|
||||
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
|
||||
</LinearGradientBrush>
|
||||
</Button.Background>
|
||||
</Button>
|
||||
<Image HorizontalAlignment="Left" Margin="557,3,0,3" Grid.Row="1" Width="41" Source="/Assets/audio.png" IsHitTestVisible="False"/>
|
||||
</Grid>
|
||||
</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:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:WhackerLinkConsoleV2"
|
||||
xmlns:local="clr-namespace:DVMConsole"
|
||||
mc:Ignorable="d"
|
||||
Title="Manual QC2 Page" Height="300" Width="300">
|
||||
<Grid>
|
||||
@ -1,11 +1,11 @@
|
||||
<UserControl x:Class="WhackerLinkConsoleV2.Controls.SystemStatusBox"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
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">
|
||||
<StackPanel Margin="-3,-1,-4,1">
|
||||
<TextBlock Text="{Binding SystemName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
||||
<TextBlock Text="{Binding ConnectionState}" Foreground="Gold" FontSize="10"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<UserControl x:Class="DVMConsole.Controls.SystemStatusBox"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
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">
|
||||
<StackPanel Margin="-3,-1,-4,1">
|
||||
<TextBlock Text="{Binding SystemName}" FontWeight="Bold" Foreground="White" FontSize="12"/>
|
||||
<TextBlock Text="{Binding ConnectionState}" Foreground="Gold" FontSize="10"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</UserControl>
|
||||
@ -1,12 +1,12 @@
|
||||
<Window x:Class="WhackerLinkConsoleV2.WidgetSelectionWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="Select Widgets" Height="200" Width="300" WindowStartupLocation="CenterOwner">
|
||||
<StackPanel Margin="20">
|
||||
<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="ChannelCheckBox" Content="Channels" 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" />
|
||||
</StackPanel>
|
||||
</Window>
|
||||
<Window x:Class="DVMConsole.WidgetSelectionWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="Select Widgets" Height="200" Width="300" WindowStartupLocation="CenterOwner">
|
||||
<StackPanel Margin="20">
|
||||
<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="ChannelCheckBox" Content="Channels" 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" />
|
||||
</StackPanel>
|
||||
</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
|
||||