From 6de96bbf609ede3e40923711ee92cf4eb0c32745 Mon Sep 17 00:00:00 2001
From: 1011025m <37438176+1011025m@users.noreply.github.com>
Date: Thu, 11 May 2023 00:56:13 +0800
Subject: [PATCH] Embedding SVG data into dialog and make it theme-aware
---
Bloxstrap/Bloxstrap.csproj | 2 --
Bloxstrap/Dialogs/HyperionDialog.xaml | 34 +++++++++++-------
Bloxstrap/Dialogs/HyperionDialog.xaml.cs | 11 ++++++
Bloxstrap/Resources/CancelButtonSmall.png | Bin 2663 -> 0 bytes
Bloxstrap/Resources/WordmarkRoblox.png | Bin 6104 -> 0 bytes
.../ViewModels/HyperionDialogViewModel.cs | 9 ++++-
6 files changed, 40 insertions(+), 16 deletions(-)
delete mode 100644 Bloxstrap/Resources/CancelButtonSmall.png
delete mode 100644 Bloxstrap/Resources/WordmarkRoblox.png
diff --git a/Bloxstrap/Bloxstrap.csproj b/Bloxstrap/Bloxstrap.csproj
index 16faf36..05de60f 100644
--- a/Bloxstrap/Bloxstrap.csproj
+++ b/Bloxstrap/Bloxstrap.csproj
@@ -14,8 +14,6 @@
-
-
diff --git a/Bloxstrap/Dialogs/HyperionDialog.xaml b/Bloxstrap/Dialogs/HyperionDialog.xaml
index 41b86c1..f0677e1 100644
--- a/Bloxstrap/Dialogs/HyperionDialog.xaml
+++ b/Bloxstrap/Dialogs/HyperionDialog.xaml
@@ -12,25 +12,33 @@
WindowStartupLocation="CenterScreen"
AllowsTransparency="True"
Background="Transparent">
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
\ No newline at end of file
diff --git a/Bloxstrap/Dialogs/HyperionDialog.xaml.cs b/Bloxstrap/Dialogs/HyperionDialog.xaml.cs
index a8514fc..feee352 100644
--- a/Bloxstrap/Dialogs/HyperionDialog.xaml.cs
+++ b/Bloxstrap/Dialogs/HyperionDialog.xaml.cs
@@ -1,6 +1,7 @@
using System;
using System.Windows;
using System.Windows.Forms;
+using System.Windows.Media;
using Bloxstrap.Enums;
using Bloxstrap.Extensions;
@@ -62,7 +63,17 @@ namespace Bloxstrap.Dialogs
public HyperionDialog()
{
_viewModel = new HyperionDialogViewModel(this);
+ if (App.Settings.Prop.Theme.GetFinal() == Theme.Light)
+ {
+ // Matching the roblox website light theme as close as possible.
+ _viewModel.DialogBorder = new Thickness(1);
+ _viewModel.Background = new SolidColorBrush(Color.FromRgb(242, 244, 245));
+ _viewModel.Foreground = new SolidColorBrush(Color.FromRgb(57, 59, 61));
+ _viewModel.IconColor = new SolidColorBrush(Color.FromRgb(57, 59, 61));
+ _viewModel.ProgressBarBackground = new SolidColorBrush(Color.FromRgb(189, 190, 190));
+ }
DataContext = _viewModel;
+
InitializeComponent();
}
diff --git a/Bloxstrap/Resources/CancelButtonSmall.png b/Bloxstrap/Resources/CancelButtonSmall.png
deleted file mode 100644
index 77e6a393d41fade2c9e02a5c48e80139c5f1cc62..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2663
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 $"Bloxstrap v{App.Version}";
-
+ // Using dark theme for default values.
+ public Thickness DialogBorder { get; set; } = new Thickness(0);
+ public Brush Background { get; set; } = Brushes.Black;
+ public Brush Foreground { get; set; } = new SolidColorBrush(Color.FromRgb(216, 216, 216));
+ public Brush IconColor { get; set; } = new SolidColorBrush(Color.FromRgb(255, 255, 255));
+ public Brush ProgressBarBackground { get; set; } = new SolidColorBrush(Color.FromRgb(86, 86, 86));
public HyperionDialogViewModel(IBootstrapperDialog dialog) : base(dialog)
{
}