Stats panel in settings

This commit is contained in:
2021-10-05 14:18:58 +02:00
parent 62a3220f7f
commit 0be28ab205
4 changed files with 73 additions and 0 deletions

View File

@ -135,6 +135,9 @@ namespace unison
DefaultState();
}
}
_mpd.QueryStats();
_settingsWin.UpdateStats();
}
private void DefaultState(bool LostConnection = false)

View File

@ -46,6 +46,29 @@
</DockPanel>
</TabItem>
<TabItem Header="Stats">
<DockPanel Margin="8">
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<emoji:TextBlock Text="📊 Stats"/>
</StackPanel>
</GroupBox.Header>
<Grid VerticalAlignment="Top">
<TextBlock>
<Run Text="Songs: "></Run><Run x:Name="StatSong"/><LineBreak/>
<Run Text="Albums: "></Run><Run x:Name="StatAlbum"/><LineBreak/>
<Run Text="Artists: "></Run><Run x:Name="StatArtist"/><LineBreak/>
<Run Text="Total playtime: "></Run><Run x:Name="StatTotalPlaytime"/><LineBreak/><LineBreak/>
<Run Text="MPD uptime: "></Run><Run x:Name="StatUptime"/><LineBreak/>
<Run Text="Total time played: "></Run><Run x:Name="StatTotalTimePlayed"/><LineBreak/>
<Run Text="Last database update: "></Run><Run x:Name="StatDatabaseUpdate"/>
</TextBlock>
</Grid>
</GroupBox>
</DockPanel>
</TabItem>
<TabItem Header="Snapcast">
<DockPanel Margin="8">
<GroupBox DockPanel.Dock="Top" Padding="0,4,0,0">

View File

@ -88,6 +88,18 @@ namespace unison
SnapcastPort.Text = (string)Application.Current.FindResource("snapcastPort");
}
public void UpdateStats()
{
MPDHandler mpd = (MPDHandler)Application.Current.Properties["mpd"];
StatSong.Text = mpd.GetStats().Songs.ToString();
StatAlbum.Text = mpd.GetStats().Albums.ToString();
StatArtist.Text = mpd.GetStats().Artists.ToString();
StatTotalPlaytime.Text = mpd.GetStats().TotalPlaytime.ToString();
StatUptime.Text = mpd.GetStats().Uptime.ToString();
StatTotalTimePlayed.Text = mpd.GetStats().TotalTimePlayed.ToString();
StatDatabaseUpdate.Text = mpd.GetStats().DatabaseUpdate.ToString();
}
public void SaveSettings()
{
Properties.Settings.Default.mpd_host = MpdHost.Text;