Skip to content

Commit cdf4f5f

Browse files
committed
RD Version, OS, Host (Product,Version,Executable) to clipboard for About window
1 parent 1e3056e commit cdf4f5f

File tree

2 files changed

+43
-10
lines changed

2 files changed

+43
-10
lines changed

RetailCoder.VBE/App.cs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,13 +192,25 @@ public void LogRubberduckStart()
192192
GlobalDiagnosticsContext.Set("RubberduckVersion", version.ToString());
193193
var headers = new List<string>
194194
{
195-
string.Format("\r\n\tRubberduck version {0} loading:", version),
196-
string.Format("\tOperating System: {0} {1}", Environment.OSVersion.VersionString, Environment.Is64BitOperatingSystem ? "x64" : "x86"),
197-
string.Format("\tHost Product: {0} {1}", Application.ProductName, Environment.Is64BitProcess ? "x64" : "x86"),
198-
string.Format("\tHost Version: {0}", Application.ProductVersion),
199-
string.Format("\tHost Executable: {0}", Path.GetFileName(Application.ExecutablePath)),
195+
$"\r\n\tRubberduck version {version} loading:",
196+
$"\tOperating System: {Environment.OSVersion.VersionString} {GetBitness(Environment.Is64BitOperatingSystem)}",
197+
$"\tHost Product: {Application.ProductName} {GetBitness(Environment.Is64BitProcess)}",
198+
$"\tHost Version: {Application.ProductVersion}",
199+
$"\tHost Executable: {Path.GetFileName(Application.ExecutablePath)}",
200200
};
201201
LogLevelHelper.SetDebugInfo(string.Join(Environment.NewLine, headers));
202+
203+
string GetBitness(bool is64Bit)
204+
{
205+
if (is64Bit)
206+
{
207+
return "x64";
208+
}
209+
else
210+
{
211+
return "x86";
212+
}
213+
}
202214
}
203215

204216
private bool _disposed;

RetailCoder.VBE/UI/About/AboutControl.xaml.cs

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
using System.Windows;
22
using System.Windows.Input;
3+
using System;
4+
using Application = System.Windows.Forms.Application;
35

46
namespace Rubberduck.UI.About
57
{
@@ -22,15 +24,34 @@ private void OnKeyDownHandler(object sender, KeyEventArgs e)
2224
}
2325
}
2426

25-
private void CopyVersionInfoToClipboard()
27+
private void CopyVersionInfo_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
2628
{
27-
Clipboard.SetText(this.Version.Text);
28-
System.Windows.MessageBox.Show("Version information copied to clipboard.", "Copy successfull");
29+
CopyVersionInfoToClipboard();
2930
}
3031

31-
private void CopyVersionInfo_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
32+
private void CopyVersionInfoToClipboard()
3233
{
33-
CopyVersionInfoToClipboard();
34+
System.Text.StringBuilder sb = new System.Text.StringBuilder();
35+
sb.AppendLine($"Rubberduck version: {this.Version.Text}");
36+
sb.AppendLine($"Operating System: {Environment.OSVersion.VersionString}, {GetBitness(Environment.Is64BitOperatingSystem)}");
37+
sb.AppendLine($"Host Product: {Application.ProductName} {GetBitness(Environment.Is64BitProcess)}");
38+
sb.AppendLine($"Host Version: {Application.ProductVersion}");
39+
sb.AppendFormat($"Host Executable: {System.IO.Path.GetFileName(Application.ExecutablePath)}");
40+
41+
Clipboard.SetText(sb.ToString());
42+
System.Windows.MessageBox.Show("Version information copied to clipboard.", "Copy successfull");
43+
44+
string GetBitness(bool is64Bit)
45+
{
46+
if (is64Bit)
47+
{
48+
return "x64";
49+
}
50+
else
51+
{
52+
return "x86";
53+
}
54+
}
3455
}
3556
}
3657
}

0 commit comments

Comments
 (0)