Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit 86bb912

Browse files
committed
added background dimming when opening windows
1 parent 20c3e13 commit 86bb912

File tree

5 files changed

+50
-4
lines changed

5 files changed

+50
-4
lines changed

UI/MainWindow/MainWindow.xaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
</Trigger>
105105
</Style.Triggers>
106106
</Style>
107+
107108
<!--Button Images-->
108109

109110
<Image x:Key="ImgReload" Source="/SPCode;component/Resources/Icons/icon-reload.png" Width="16"/>
@@ -120,12 +121,20 @@
120121
</DoubleAnimationUsingKeyFrames>
121122
</Storyboard>
122123

123-
<Storyboard x:Key="FadeFindReplaceGridIn" Duration="00:00:00.2" Storyboard.TargetName="FindReplaceGrid">
124-
<DoubleAnimation To="1" Duration="00:00:00.2" Storyboard.TargetProperty="Opacity" />
124+
<Storyboard x:Key="DimmMainWindow" Duration="00:00:00.5" Storyboard.TargetName="BlendEffectPlane" Storyboard.TargetProperty="Opacity">
125+
<DoubleAnimationUsingKeyFrames>
126+
<SplineDoubleKeyFrame Value="0.0" KeyTime="00:00:00"/>
127+
<SplineDoubleKeyFrame Value="0.5" KeyTime="00:00:00.5"/>
128+
</DoubleAnimationUsingKeyFrames>
125129
</Storyboard>
126-
<Storyboard x:Key="FadeFindReplaceGridOut" Duration="00:00:00.2" Storyboard.TargetName="FindReplaceGrid">
127-
<DoubleAnimation To="0" Duration="00:00:00.2" Storyboard.TargetProperty="Opacity" />
130+
131+
<Storyboard x:Key="RestoreMainWindow" Duration="00:00:00.5" Storyboard.TargetName="BlendEffectPlane" Storyboard.TargetProperty="Opacity">
132+
<DoubleAnimationUsingKeyFrames>
133+
<SplineDoubleKeyFrame Value="0.5" KeyTime="00:00:00"/>
134+
<SplineDoubleKeyFrame Value="0.0" KeyTime="00:00:00.5"/>
135+
</DoubleAnimationUsingKeyFrames>
128136
</Storyboard>
137+
129138
<Storyboard x:Key="EnableServerAnim">
130139
<DoubleAnimation Duration="00:00:00.5" To="5" Storyboard.TargetName="ServerProgressBar" Storyboard.TargetProperty="Height" />
131140
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="ServerProgressBar" Storyboard.TargetProperty="IsIndeterminate">
@@ -136,6 +145,7 @@
136145
</BooleanAnimationUsingKeyFrames.KeyFrames>
137146
</BooleanAnimationUsingKeyFrames>
138147
</Storyboard>
148+
139149
<Storyboard x:Key="DisableServerAnim">
140150
<DoubleAnimation Duration="00:00:00.5" To="0" Storyboard.TargetName="ServerProgressBar" Storyboard.TargetProperty="Height" />
141151
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="ServerProgressBar" Storyboard.TargetProperty="IsIndeterminate">
@@ -146,6 +156,7 @@
146156
</BooleanAnimationUsingKeyFrames.KeyFrames>
147157
</BooleanAnimationUsingKeyFrames>
148158
</Storyboard>
159+
149160
</ResourceDictionary>
150161
</ResourceDictionary.MergedDictionaries>
151162
</ResourceDictionary>

UI/MainWindow/MainWindow.xaml.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Text.RegularExpressions;
1010
using System.Windows;
1111
using System.Windows.Controls;
12+
using System.Windows.Media;
1213
using System.Windows.Media.Animation;
1314
using System.Windows.Threading;
1415
using DiscordRPC;
@@ -29,6 +30,8 @@ public partial class MainWindow
2930
{
3031
#region Variables
3132
private readonly Storyboard BlendOverEffect;
33+
private readonly Storyboard DimmMainWindowEffect;
34+
private readonly Storyboard RestoreMainWindowEffect;
3235
private readonly Storyboard DisableServerAnim;
3336
public readonly List<EditorElement> EditorReferences = new();
3437
public readonly List<DASMElement> DASMReferences = new();
@@ -122,6 +125,8 @@ public MainWindow(SplashScreen sc)
122125
BlendOverEffect = (Storyboard)Resources["BlendOverEffect"];
123126
EnableServerAnim = (Storyboard)Resources["EnableServerAnim"];
124127
DisableServerAnim = (Storyboard)Resources["DisableServerAnim"];
128+
DimmMainWindowEffect = (Storyboard)Resources["DimmMainWindow"];
129+
RestoreMainWindowEffect = (Storyboard)Resources["RestoreMainWindow"];
125130

126131
// Start OB
127132
ChangeObjectBrowserToDirectory(Program.OptionsObject.Program_ObjectBrowserDirectory);
@@ -562,6 +567,21 @@ private void CloseProgram(bool saveAll)
562567
updateWin.ShowDialog();
563568
}
564569
}
570+
571+
public void DimmMainWindow()
572+
{
573+
BlendEffectPlane.Fill = new SolidColorBrush(Colors.Black);
574+
DimmMainWindowEffect.Begin();
575+
}
576+
577+
public void RestoreMainWindow()
578+
{
579+
RestoreMainWindowEffect.Begin();
580+
RestoreMainWindowEffect.Completed += delegate
581+
{
582+
BlendEffectPlane.Fill = (SolidColorBrush)FindResource("AccentColorBrush4");
583+
};
584+
}
565585
#endregion
566586
}
567587
}

UI/MainWindow/MainWindowCommands.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,9 @@ private void Command_NewFromTemplate()
123123
Owner = this,
124124
ShowInTaskbar = false
125125
};
126+
DimmMainWindow();
126127
nfWindow.ShowDialog();
128+
RestoreMainWindow();
127129
UpdateWindowTitle();
128130
}
129131
catch (Exception ex)
@@ -640,7 +642,9 @@ private void Command_OpenSPDef()
640642
Owner = this,
641643
ShowInTaskbar = false
642644
};
645+
DimmMainWindow();
643646
spDefinitionWindow.ShowDialog();
647+
RestoreMainWindow();
644648
}
645649
catch (Exception ex)
646650
{

UI/MainWindow/MainWindowConfigHandler.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Text;
33
using System.Windows;
44
using System.Windows.Controls;
5+
using System.Windows.Media;
56
using SPCode.Interop;
67
using SPCode.UI.Components;
78
using SPCode.UI.Windows;
@@ -37,7 +38,9 @@ public void FillConfigMenu()
3738
private void EditItem_Click(object sender, RoutedEventArgs e)
3839
{
3940
var configWindow = new ConfigWindow() { Owner = this, ShowInTaskbar = false };
41+
DimmMainWindow();
4042
configWindow.ShowDialog();
43+
RestoreMainWindow();
4144
}
4245

4346
private void Item_Click(object sender, RoutedEventArgs e)

UI/MainWindow/MainWindowMenuHandler.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,9 @@ private void Menu_OpenWebsiteFromTag(object sender, RoutedEventArgs e)
210210
private void Menu_About(object sender, RoutedEventArgs e)
211211
{
212212
var aboutWindow = new AboutWindow { Owner = this, ShowInTaskbar = false };
213+
DimmMainWindow();
213214
aboutWindow.ShowDialog();
215+
RestoreMainWindow();
214216
}
215217

216218
private void Menu_Help(object sender, RoutedEventArgs e)
@@ -227,7 +229,9 @@ private void Menu_OpenSPDef(object sender, RoutedEventArgs e)
227229
private void Menu_OpenOptions(object sender, RoutedEventArgs e)
228230
{
229231
var optionsWindow = new OptionsWindow { Owner = this, ShowInTaskbar = false };
232+
DimmMainWindow();
230233
optionsWindow.ShowDialog();
234+
RestoreMainWindow();
231235
}
232236

233237
private void Menu_ReFormatCurrent(object sender, RoutedEventArgs e)
@@ -261,6 +265,7 @@ private async void UpdateCheck_Click(object sender, RoutedEventArgs e)
261265
{
262266
await updatingWindow.CloseAsync();
263267
var uWindow = new UpdateWindow(status) { Owner = this };
268+
DimmMainWindow();
264269
uWindow.ShowDialog();
265270
if (uWindow.Succeeded)
266271
{
@@ -297,6 +302,7 @@ await this.ShowMessageAsync(Translate("VersUpToDate"),
297302
message, MessageDialogStyle.Affirmative, MetroDialogOptions);
298303
}
299304
}
305+
RestoreMainWindow();
300306
}
301307

302308
private async void Changelog_Click(object sender, RoutedEventArgs e)
@@ -312,7 +318,9 @@ private async void Changelog_Click(object sender, RoutedEventArgs e)
312318

313319
await dialog.CloseAsync();
314320
var uw = new UpdateWindow(status, true) { Owner = this };
321+
DimmMainWindow();
315322
uw.ShowDialog();
323+
RestoreMainWindow();
316324
}
317325

318326
private void MenuButton_Compile(object sender, RoutedEventArgs e)

0 commit comments

Comments
 (0)