refactor subscriber page modal; add tooltips everywhere (well almost); add icons for call history, key info, and select/unselect all; convert select all from just select all to select all and unselect all toggle;

pull/1/head
Bryan Biedenkapp 11 months ago
parent 3219087538
commit c5ccd2a47b

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

@ -44,7 +44,7 @@
<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">
Grid.ColumnSpan="2" Grid.Row="2" ToolTip="Channel Volume">
<Slider.Style>
<Style TargetType="Slider">
<Setter Property="Template">
@ -79,32 +79,32 @@
<!-- 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 Width="40" Height="40" x:Name="PageSelectButton" Click="PageSelectButton_Click" BorderThickness="0,0,0,0"
ToolTip="Channel Alert">
<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 Width="40" Height="40" x:Name="ChannelMarkerBtn" Click="ChannelMarkerBtn_Click" BorderThickness="0,0,0,0" Margin="5,0,0,0"
ToolTip="Channel Marker">
<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 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"
ToolTip="Push To Talk">
<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>

@ -19,6 +19,7 @@
<None Remove="Assets\alerttone.png" />
<None Remove="Assets\alerttone2.png" />
<None Remove="Assets\AppIcon.ico" />
<None Remove="Assets\AppIcon.png" />
<None Remove="Assets\audio.png" />
<None Remove="Assets\channelmarker.png" />
<None Remove="Assets\clearemerg.png" />
@ -26,10 +27,13 @@
<None Remove="Assets\config2.png" />
<None Remove="Assets\connection.png" />
<None Remove="Assets\DvmLogo.png" />
<None Remove="Assets\history.png" />
<None Remove="Assets\instantptt.png" />
<None Remove="Assets\key.png" />
<None Remove="Assets\page.png" />
<None Remove="Assets\pageselect.png" />
<None Remove="Assets\pttselect.png" />
<None Remove="Assets\select.png" />
<None Remove="Assets\whackerlink-logo.png" />
<None Remove="Assets\WhackerLinkLogoV2.png" />
<None Remove="clearemerg.png" />
@ -48,6 +52,9 @@
<Content Include="Assets\AppIcon.ico">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Assets\AppIcon.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Assets\audio.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@ -57,6 +64,15 @@
<Content Include="Assets\config.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Assets\history.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Assets\key.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Assets\select.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>

@ -5,13 +5,14 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:dvmconsole"
mc:Ignorable="d"
Title="P25 Page" Height="200" Width="300" WindowStartupLocation="CenterOwner">
Title="Page Subscriber" Height="200" Width="300" WindowStartupLocation="CenterOwner">
<Grid>
<Button Content="Send" Name="SendPageButton" HorizontalAlignment="Center" Margin="0,97,0,0" VerticalAlignment="Top" Click="SendPageButton_Click"/>
<Button Name="SendPageButton" HorizontalAlignment="Center" Margin="0,97,0,0" VerticalAlignment="Top" Click="SendPageButton_Click" Width="120" Height="24">
<TextBlock TextAlignment="Center" Margin="0,-21,0,0">Send</TextBlock>
</Button>
<TextBox HorizontalAlignment="Center" Name="DstIdText" Margin="0,74,0,0" TextWrapping="Wrap" Text="" MaxLength="12" VerticalAlignment="Top" Width="120"/>
<Label Content="Dst ID:" HorizontalAlignment="Left" Margin="40,70,0,0" VerticalAlignment="Top"/>
<Label Content="Radio ID:" HorizontalAlignment="Left" Margin="27,70,0,0" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Center" Name="SystemCombo" Margin="0,47,0,0" VerticalAlignment="Top" Width="120"/>
<Label Content="System:" HorizontalAlignment="Left" Margin="35,44,0,0" VerticalAlignment="Top"/>
</Grid>
</Window>

@ -50,7 +50,7 @@
<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 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"/>
@ -62,6 +62,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<StackPanel>
<Image HorizontalAlignment="Center" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" Height="34"/>
<TextBlock TextAlignment="Center">1</TextBlock>
</StackPanel>
</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">
@ -74,8 +78,8 @@
</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 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"
ToolTip="Alert Tone 2">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -87,9 +91,13 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<StackPanel>
<Image HorizontalAlignment="Center" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" Height="34"/>
<TextBlock TextAlignment="Center">2</TextBlock>
</StackPanel>
</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 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"
ToolTip="Alert Tone 3">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -101,8 +109,11 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<StackPanel>
<Image HorizontalAlignment="Center" Width="37" Source="/Assets/alerttone2.png" IsHitTestVisible="False" Height="34"/>
<TextBlock TextAlignment="Center">3</TextBlock>
</StackPanel>
</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}">
@ -115,8 +126,7 @@
<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 HorizontalAlignment="Center" Width="62" Source="/Assets/instantptt.png" IsHitTestVisible="False" Height="45" >
<Image.OpacityMask>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black"/>
@ -124,7 +134,9 @@
</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>
<Button 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"
ToolTip="Clear Emergency" Visibility="Hidden">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -137,9 +149,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="37" Source="/Assets/clearemerg.png" IsHitTestVisible="False" Height="46"/>
</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 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"
ToolTip="Open Codeplug">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -151,9 +164,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="41" Source="/Assets/config2.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598" Height="46"/>
</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 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"
ToolTip="Page Subscriber">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -165,8 +179,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="38" Source="/Assets/page.png" IsHitTestVisible="False" Height="46"/>
</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" 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"
ToolTip="Select All">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -178,8 +194,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="41" Source="/Assets/select.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598" Height="46"/>
</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" 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"
ToolTip="Encryption Key Information">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -191,8 +209,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="41" Source="/Assets/key.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598" Height="46"/>
</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" 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"
ToolTip="Call History">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -204,9 +224,10 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="41" Source="/Assets/history.png" IsHitTestVisible="False" RenderTransformOrigin="0.5,0.598" Height="46"/>
</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 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"
ToolTip="Audio Settings">
<Button.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="2"/>
@ -218,7 +239,7 @@
<GradientStop Color="#FFDBDBDB" Offset="0.517"/>
</LinearGradientBrush>
</Button.Background>
<Image HorizontalAlignment="Left" Width="42" Source="/Assets/audio.png" IsHitTestVisible="False" Height="46"/>
</Button>
<Image HorizontalAlignment="Left" Margin="557,3,0,3" Grid.Row="1" Width="41" Source="/Assets/audio.png" IsHitTestVisible="False"/>
</Grid>
</Window>

@ -97,6 +97,8 @@ namespace dvmconsole
private Dictionary<string, SlotStatus> systemStatuses = new Dictionary<string, SlotStatus>();
private FneSystemManager fneSystemManager = new FneSystemManager();
private bool selectAll = false;
/*
** Properties
*/
@ -1165,6 +1167,7 @@ namespace dvmconsole
/// <param name="e"></param>
private void SelectAll_Click(object sender, RoutedEventArgs e)
{
selectAll = !selectAll;
foreach (ChannelBox channel in ChannelsCanvas.Children.OfType<ChannelBox>())
{
if (channel.SystemName == PLAYBACKSYS || channel.ChannelName == PLAYBACKCHNAME || channel.DstId == PLAYBACKTG)
@ -1173,9 +1176,7 @@ namespace dvmconsole
Codeplug.System system = Codeplug.GetSystemForChannel(channel.ChannelName);
Codeplug.Channel cpgChannel = Codeplug.GetChannelByName(channel.ChannelName);
if (!channel.IsSelected)
{
channel.IsSelected = true;
channel.IsSelected = selectAll;
channel.Background = channel.IsSelected ? ChannelBox.SELECTED_COLOR : ChannelBox.DESELECTED_COLOR;
if (channel.IsSelected)
@ -1184,7 +1185,6 @@ namespace dvmconsole
selectedChannelsManager.RemoveSelectedChannel(channel);
}
}
}
/// <summary>
/// Helper to encode and transmit PCM audio as P25 IMBE frames.

Loading…
Cancel
Save

Powered by TurnKey Linux.