summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsr55 <[email protected]>2013-09-07 16:54:52 +0000
committersr55 <[email protected]>2013-09-07 16:54:52 +0000
commit0c5a1f22cce32136e76c471c9dd6716e20c81f91 (patch)
tree53fe3f7cfafe32c781239da186649ab4c01597e3
parentfc297e6f21f204621f110b6f156031cf6dc626a4 (diff)
WinGui: Add System Information to the About Window and Log header.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5775 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj1
-rw-r--r--win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs9
-rw-r--r--win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs33
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs47
-rw-r--r--win/CS/HandBrakeWPF/Views/AboutView.xaml8
5 files changed, 97 insertions, 1 deletions
diff --git a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
index d884131d0..bb85a5071 100644
--- a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
+++ b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
@@ -66,6 +66,7 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
+ <Reference Include="System.Management" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Windows.Forms" />
diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs b/win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs
index 42f075508..f316c85c6 100644
--- a/win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs
+++ b/win/CS/HandBrake.ApplicationServices/Utilities/GeneralUtilities.cs
@@ -96,10 +96,17 @@ namespace HandBrake.ApplicationServices.Utilities
{
var logHeader = new StringBuilder();
+ StringBuilder gpuBuilder = new StringBuilder();
+ foreach (var item in SystemInfo.GetGPUInfo)
+ {
+ gpuBuilder.AppendLine(string.Format(" {0}", item));
+ }
+
logHeader.AppendLine(String.Format("HandBrake {0} - {1}", VersionHelper.GetVersion(), VersionHelper.GetPlatformBitnessVersion()));
logHeader.AppendLine(String.Format("OS: {0}", Environment.OSVersion));
logHeader.AppendLine(String.Format("CPU: {0}", SystemInfo.GetCpuCount));
- logHeader.Append(String.Format("Ram: {0} MB, ", SystemInfo.TotalPhysicalMemory));
+ logHeader.AppendLine(String.Format("Ram: {0} MB, ", SystemInfo.TotalPhysicalMemory));
+ logHeader.AppendLine(String.Format("GPU Information:{0}{1}", Environment.NewLine, gpuBuilder.ToString().TrimEnd()));
logHeader.AppendLine(String.Format("Screen: {0}x{1}", SystemInfo.ScreenBounds.Bounds.Width, SystemInfo.ScreenBounds.Bounds.Height));
logHeader.AppendLine(String.Format("Temp Dir: {0}", Path.GetTempPath()));
logHeader.AppendLine(String.Format("Install Dir: {0}", Application.StartupPath));
diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs b/win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs
index 41af30f5e..6eb669114 100644
--- a/win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs
+++ b/win/CS/HandBrake.ApplicationServices/Utilities/SystemInfo.cs
@@ -10,7 +10,11 @@
namespace HandBrake.ApplicationServices.Utilities
{
using System;
+ using System.Collections.Generic;
+ using System.Globalization;
+ using System.Management;
using System.Text.RegularExpressions;
+ using System.Windows.Documents;
using System.Windows.Forms;
using HandBrake.Interop.HbLib;
@@ -109,5 +113,34 @@ namespace HandBrake.ApplicationServices.Utilities
return false;
}
}
+
+ /// <summary>
+ /// Gets the get gpu driver version.
+ /// </summary>
+ public static List<string> GetGPUInfo
+ {
+ get
+ {
+ List<string> gpuInfo = new List<string>();
+ ManagementObjectSearcher searcher = new ManagementObjectSearcher(
+ "select * from " + "Win32_VideoController");
+ foreach (ManagementObject share in searcher.Get())
+ {
+ string gpu = string.Empty, version = string.Empty;
+
+ foreach (PropertyData PC in share.Properties)
+ {
+ if (PC.Name.Equals("DriverVersion")) version = PC.Value.ToString();
+
+
+ if (PC.Name.Equals("Name"))
+ gpu = PC.Value.ToString();
+ }
+
+ gpuInfo.Add(string.Format("{0} - {1}", gpu, version));
+ }
+ return gpuInfo;
+ }
+ }
}
} \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
index cb9cef3e7..f456357b7 100644
--- a/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/AboutViewModel.cs
@@ -9,6 +9,11 @@
namespace HandBrakeWPF.ViewModels
{
+ using System;
+ using System.IO;
+ using System.Text;
+ using System.Windows.Forms;
+
using HandBrake.ApplicationServices.Utilities;
using HandBrakeWPF.ViewModels.Interfaces;
@@ -19,11 +24,37 @@ namespace HandBrakeWPF.ViewModels
public class AboutViewModel : ViewModelBase, IAboutViewModel
{
/// <summary>
+ /// The system info.
+ /// </summary>
+ private string systemInfo;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="AboutViewModel"/> class.
/// </summary>
public AboutViewModel()
{
this.Title = "About HandBrake";
+
+ StringBuilder builder = new StringBuilder();
+ foreach (var item in SystemInfo.GetGPUInfo)
+ {
+ builder.AppendLine(item);
+ }
+
+ StringBuilder system = new StringBuilder();
+ system.AppendLine(string.Format("Enviroment: {0}", Environment.NewLine));
+ system.AppendLine(string.Format("Operating System: {0}", Environment.OSVersion));
+ system.AppendLine(string.Format("CPU: {0}", SystemInfo.GetCpuCount));
+ system.AppendLine(string.Format("Ram: {0} MB{1}", SystemInfo.TotalPhysicalMemory, Environment.NewLine));
+
+ system.AppendLine(string.Format("{0}GPU Information:{0}{0}{1}", Environment.NewLine, builder));
+
+ system.AppendLine(string.Format("{0}System Paths:{0}", Environment.NewLine));
+ system.AppendLine(string.Format("Temp Dir: {0}", Path.GetTempPath()));
+ system.AppendLine(string.Format("Install Dir: {0}", Application.StartupPath));
+ system.AppendLine(string.Format("Data Dir: {0}\n", Application.UserAppDataPath));
+
+ SystemInformation = system.ToString();
}
/// <summary>
@@ -38,6 +69,22 @@ namespace HandBrakeWPF.ViewModels
}
/// <summary>
+ /// Gets or sets the system info.
+ /// </summary>
+ public string SystemInformation
+ {
+ get
+ {
+ return this.systemInfo;
+ }
+ set
+ {
+ this.systemInfo = value;
+ this.NotifyOfPropertyChange("SystemInfo");
+ }
+ }
+
+ /// <summary>
/// Close this window.
/// </summary>
public void Close()
diff --git a/win/CS/HandBrakeWPF/Views/AboutView.xaml b/win/CS/HandBrakeWPF/Views/AboutView.xaml
index d7b63c08b..188b3aa28 100644
--- a/win/CS/HandBrakeWPF/Views/AboutView.xaml
+++ b/win/CS/HandBrakeWPF/Views/AboutView.xaml
@@ -29,6 +29,8 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0"
@@ -43,6 +45,12 @@
<TextBox Text="{x:Static Properties:Resources.About_GPL}" Grid.Row="2" Margin="10,0,10,10" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />
+ <TextBlock Grid.Row="3" Margin="5,10,0,5" Text="System Information: " />
+
+ <TextBox Text="{Binding SystemInformation}" Grid.Row="4" Margin="10,0,10,10" HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />
+
+
</Grid>
</Grid>