From 44aa17d7c9a2bf1f24f0f8cdec01dcdb9781af61 Mon Sep 17 00:00:00 2001
From: Jack251970 <1160210343@qq.com>
Date: Fri, 21 Feb 2025 21:17:00 +0800
Subject: [PATCH] Improve report window with dark theme & localization support
---
Flow.Launcher/Languages/en.xaml | 6 ++
Flow.Launcher/ReportWindow.xaml | 101 +++++++++++++++++++++++------
Flow.Launcher/ReportWindow.xaml.cs | 64 +++++++++++++-----
3 files changed, 134 insertions(+), 37 deletions(-)
diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml
index 4c465d61f..493528a89 100644
--- a/Flow.Launcher/Languages/en.xaml
+++ b/Flow.Launcher/Languages/en.xaml
@@ -383,6 +383,12 @@
Report sent successfully
Failed to send report
Flow Launcher got an error
+ Please open new issue in
+ 1. Upload log file: {0}
+ 2. Copy below exception message
+ Date: {0}
+ Exception:
+ Length
Please wait...
diff --git a/Flow.Launcher/ReportWindow.xaml b/Flow.Launcher/ReportWindow.xaml
index 50dace075..5e799e2a3 100644
--- a/Flow.Launcher/ReportWindow.xaml
+++ b/Flow.Launcher/ReportWindow.xaml
@@ -1,23 +1,82 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Flow.Launcher/ReportWindow.xaml.cs b/Flow.Launcher/ReportWindow.xaml.cs
index a535dfb3e..12ffe3ffc 100644
--- a/Flow.Launcher/ReportWindow.xaml.cs
+++ b/Flow.Launcher/ReportWindow.xaml.cs
@@ -6,10 +6,10 @@ using System.Text;
using System.Linq;
using System.Windows;
using System.Windows.Documents;
-using Flow.Launcher.Helper;
using Flow.Launcher.Infrastructure;
using Flow.Launcher.Infrastructure.Logger;
using Flow.Launcher.Plugin.SharedCommands;
+using Flow.Launcher.Infrastructure.Exception;
namespace Flow.Launcher
{
@@ -43,32 +43,36 @@ namespace Flow.Launcher
var log = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First();
var websiteUrl = exception switch
- {
- FlowPluginException pluginException =>GetIssuesUrl(pluginException.Metadata.Website),
- _ => Constant.IssuesUrl
- };
-
+ {
+ FlowPluginException pluginException =>GetIssuesUrl(pluginException.Metadata.Website),
+ _ => Constant.IssuesUrl
+ };
- var paragraph = Hyperlink("Please open new issue in: ", websiteUrl);
- paragraph.Inlines.Add($"1. upload log file: {log.FullName}\n");
- paragraph.Inlines.Add($"2. copy below exception message");
+ var paragraph = Hyperlink(App.API.GetTranslation("reportWindow_please_open_issue"), websiteUrl);
+ paragraph.Inlines.Add(string.Format(App.API.GetTranslation("reportWindow_upload_log"), log.FullName));
+ paragraph.Inlines.Add("\n");
+ paragraph.Inlines.Add(App.API.GetTranslation("reportWindow_copy_below"));
ErrorTextbox.Document.Blocks.Add(paragraph);
StringBuilder content = new StringBuilder();
- content.AppendLine(ErrorReporting.RuntimeInfo());
- content.AppendLine(ErrorReporting.DependenciesInfo());
- content.AppendLine($"Date: {DateTime.Now.ToString(CultureInfo.InvariantCulture)}");
- content.AppendLine("Exception:");
+ content.AppendLine(RuntimeInfo());
+ content.AppendLine();
+ content.AppendLine(DependenciesInfo());
+ content.AppendLine();
+ content.AppendLine(string.Format(App.API.GetTranslation("reportWindow_date"), DateTime.Now.ToString(CultureInfo.InvariantCulture)));
+ content.AppendLine(App.API.GetTranslation("reportWindow_exception"));
content.AppendLine(exception.ToString());
paragraph = new Paragraph();
paragraph.Inlines.Add(content.ToString());
ErrorTextbox.Document.Blocks.Add(paragraph);
}
- private Paragraph Hyperlink(string textBeforeUrl, string url)
+ private static Paragraph Hyperlink(string textBeforeUrl, string url)
{
- var paragraph = new Paragraph();
- paragraph.Margin = new Thickness(0);
+ var paragraph = new Paragraph
+ {
+ Margin = new Thickness(0)
+ };
var link = new Hyperlink
{
@@ -79,10 +83,38 @@ namespace Flow.Launcher
link.Click += (s, e) => SearchWeb.OpenInBrowserTab(url);
paragraph.Inlines.Add(textBeforeUrl);
+ paragraph.Inlines.Add(" ");
paragraph.Inlines.Add(link);
paragraph.Inlines.Add("\n");
return paragraph;
}
+
+ private void BtnCancel_OnClick(object sender, RoutedEventArgs e)
+ {
+ Close();
+ }
+
+ private static string RuntimeInfo()
+ {
+ var info =
+ $"""
+ Flow Launcher {App.API.GetTranslation("reportWindow_version")}: {Constant.Version}
+ OS {App.API.GetTranslation("reportWindow_version")}: {ExceptionFormatter.GetWindowsFullVersionFromRegistry()}
+ IntPtr {App.API.GetTranslation("reportWindow_length")}: {IntPtr.Size}
+ x64: {Environment.Is64BitOperatingSystem}
+ """;
+ return info;
+ }
+
+ private static string DependenciesInfo()
+ {
+ var info =
+ $"""
+ {App.API.GetTranslation("pythonFilePath")}: {Constant.PythonPath}
+ {App.API.GetTranslation("nodeFilePath")}: {Constant.NodePath}
+ """;
+ return info;
+ }
}
}