%&&e>-cybUv1a%SqoMY2hPOtg|(JHp)~%2l`>cDZ+r|&D2;vsAEsd9B^Yyr
zY5k3#gE1#9IsR@Amm{-ijbCK(b7V(vJJMgtAM!P7F_gq!BvSr8T0u_tJ6PueZ9?l_
zd!Xs{G6(2=W_S(fH^`8*KRRyz4ZYG;Qr5_$wjF6dt36xnbNj8#dR=R?WHDJ>GmBGK
zFSP4WS~rXH$nJIKC0XocoTQ&s&_7(R@ez(s%#cN#BbP{z-($`?%qDX0P;<&qS~rXH
z$Sf|h*dvSS8j{8Jjuk6)bH^~2*3IHPGK-ch_Q+y-g=BHvEKYs9Fh&td>t=Bt*}cw_
zB#S+=m<}OXTsMnzcTn@199f8#EcVA@
zt#5jF^zQ2Q?v%SF7T53H&5KNnBE=p;=1$V+)h)9)$iR|48x2+#6=c+WHG%v
zvbb&*=XRR1IF!~sMp23^l##_ASxoPaEUufyxt*pguHU<}7>0Rqh>I-t$YOeTWO3ar
z&h0d1asA$%#V}-Xh>I-t$YOeTWO3ar&h0d1asA$%#V}-Xh>I-t$YOeTWO3ar&h0d1
zasA$%#V}-Xh>I-t$YOeTWO3arE_rur4!k>yVaVbTEm`c5#q{pT;<{O!+i98?*YDj~
z3_})&xX5CUET(ry7T3(;^`duYr8QsEW-;_xY-MDzKNf4<(z~N~SFd-sjvP4m?yR(K
z7Uz*!Tx79F7Sp?9UR-xxT=MSL9e8&Z!!R$Vcc%vU7*A`~XEx6;?d3VpTHnlznHSfb
z7nkg`bqC&^#V}+sy*s}wrgz7@xbD2TWL7MHxcbqC&^
z#V}+sy*s}wrgujc*UjRRcen1qyR#UEET(tom&Nq%$l|(LT=MSL9e8&Z!;r=F?)Ui|b}_$-7&3;N4jaLl)D!^UGp-cVuzREFKlT
zJ1ec(^{^QFEVeSb9{#Q`*1F~O#k{__-s_7;Meoi^>t=E8-C0~@u}2ouyJKElcV1lb
z?nVy0JBwkM7t_1*I!2-O&Aga-am{&g$-5gl@a`;zA&cqV`DHP^JLbi8=fx%OZsfqb
zvlxafrg!I;#q{pT;<{N}^6o|sygQ3w$YOeTepyWKZn;=|Tgrcp{4C!|GiUB?`AWW=
zJFk%!aw=zXEa&pOOyx1|bM*#yx%vsOBa~fWj?O>%!1lio{nJmnFMHj36Rh3Hr=KJ1
zZ|6Pke)+K5{sFdsB(J2teqzym{Ss##*D#h+@&>K+)A#E$)buItV|FCJ$@i$|UojoG
zrhB?Udz#8V=4&f>g@2Fb0m{Ec>v)Yh6HMQ|t`9p~xQBV6W*YgSYe%}4&40OYThsV0
z&S8H;x6oIA^YOn3j+=AbytZ-kk8R~8M{!iKqxdoLTbx7g(_>t1?$dQ#u457A`!i(C
z=QuJ-bKP?sE1e({p2)}LyPENqd`K&e8M@}wS8c{V#&OC4fQTy%R#k6XUM>lAf!
z)*j)WVUDi5kEL{4m(^|CXT8AtvAo4!IR4dTt;~*)p0vkNy2cb+IK;atUca=pugmw3
zm+a`(wjYm{?(~knY^hk=tId6SmE^wvah{TUIjY#b{J4BSkKST8Rw_%${kQ06bWdE#
zAM*9}QwU;@6?>HTSSs&H?qHn@^iP_fXm2;YUgiKj-3+hc{01YrVQe_|fLBRbBahnN
kPRES37mee7{S4&eGa)*h%f(^b
literal 0
HcmV?d00001
diff --git a/VS/Script_Gui/Script_Gui_3/MainWindow.xaml b/VS/Script_Gui/Script_Gui_3/MainWindow.xaml
index 3075940f..3d9e2aec 100644
--- a/VS/Script_Gui/Script_Gui_3/MainWindow.xaml
+++ b/VS/Script_Gui/Script_Gui_3/MainWindow.xaml
@@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Script_Gui_3"
mc:Ignorable="d"
- Name="Window" Title="Windows 10 Setup Script" MinHeight="863" MinWidth="950" Height="863" Width="950"
+ Name="Window" Title="Windows 10 Setup Script" MinHeight="908" MinWidth="950" Height="908" Width="950"
FontFamily="Calibri" FontSize="18" TextOptions.TextFormattingMode="Display" WindowStartupLocation="CenterScreen"
SnapsToDevicePixels="True" ResizeMode="CanResize" ShowInTaskbar="True" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
Foreground="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}">
@@ -1091,12 +1091,12 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
@@ -2184,12 +2129,12 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
@@ -3225,12 +3097,12 @@
-
-
+
+
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
-
-"@
- $toggles += $toggleTemplate
- }
-}
-
-#endregion Dynamic Toggle Creation
-
-[xml]$xamlMarkup = @'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-'@
-
-$xamlGui = [System.Windows.Markup.XamlReader]::Load((New-Object System.Xml.XmlNodeReader $xamlMarkup))
-$xamlMarkup.SelectNodes('//*[@Name]') | ForEach-Object {
- New-Variable -Name $_.Name -Value $xamlGui.FindName($_.Name) -Force
-}
-
-#region Script Functions
-function Hide-Console {
- <#
- .SYNOPSIS
- Hide Powershell console before show WPF GUI.
- #>
-
- [CmdletBinding()]
- param ()
-
- Add-Type -Name Window -Namespace Console -MemberDefinition '
- [DllImport("Kernel32.dll")]
- public static extern IntPtr GetConsoleWindow();
-
- [DllImport("user32.dll")]
- public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
-'
- [Console.Window]::ShowWindow([Console.Window]::GetConsoleWindow(), 0)
-}
-
-function Use-HamburgerMenu {
- <#
- .SYNOPSIS
- Show or hide hamburger menu.
- #>
-
- [CmdletBinding()]
- param ()
-
- $minWidth = 50
- $maxWidth = 250
- $duration = New-Object System.Windows.Duration([timespan]::FromSeconds(1))
- $widthProperty = New-Object System.Windows.PropertyPath([System.Windows.Controls.Canvas]::WidthProperty)
-
- if ($HamburgerMenu.ActualWidth -eq $minWidth) {
- $animation = New-Object System.Windows.Media.Animation.DoubleAnimation($minWidth, $maxWidth, $duration)
- }
-
- else {
- $animation = New-Object System.Windows.Media.Animation.DoubleAnimation($maxWidth, $minWidth, $duration)
- }
-
- $animation.SpeedRatio ="3"
- $storyboard = New-Object System.Windows.Media.Animation.Storyboard
- [System.Windows.Media.Animation.Storyboard]::SetTargetProperty($animation, $widthProperty)
- $storyboard.Children.Add($animation)
- $storyboard.Begin($HamburgerMenu)
-}
-
-function Set-HamburgerHover {
- <#
- .SYNOPSIS
- Mouse hover effect for hamburger button.
- #>
-
- [CmdletBinding()]
- param
- (
- [Parameter(Mandatory=$false)]
- [switch]$Active
- )
-
-
- if ($Active)
- {
- $ButtonHamburger.Background = "#2196F3"
- }
-
- else
- {
- $ButtonHamburger.Background = "#3F51B5"
- }
-}
-
-function Click-HamburgerButton {
- <#
- .SYNOPSIS
- Click event to Hamburger Category Button.
- #>
-
- [CmdletBinding()]
- param
- (
- [Parameter(Mandatory=$true)]
- $ShowPanel,
-
- [Parameter(Mandatory=$true)]
- [string]$SetHeader
- )
-
- $PanelToggle_ContextMenu, $PanelToggle_Defender, $PanelToggle_Edge, $PanelToggle_Game,
- $PanelToggle_OneDrive, $PanelToggle_Privacy, $PanelToggle_StartMenu, $PanelToggle_System,
- $PanelToggle_Tasks, $PanelToggle_Ui, $PanelToggle_Uwp | ForEach-Object {
- if (($_.Name -eq $ShowPanel.Name) -and ($_.Visibility -eq "Collapsed"))
- {
- $_.Visibility = "Visible"
- }
-
- elseif (($_.Name -ne $ShowPanel.Name) -and ($_.Visibility -eq "Visible"))
- {
- $_.Visibility = "Collapsed"
- }
- }
-
- $TextBlock_Category.Text = $SetHeader
-}
-
-function Click-ToggleButton {
- <#
- .SYNOPSIS
- Click event to Toggle Buttons.
- #>
-
- [CmdletBinding()]
- param
- (
- [Parameter(Mandatory=$false)]
- [switch]$Check
- )
-
- if ($Check)
- {
- $Global:clickedToggle++
- }
-
- elseif (!$Check)
- {
- $Global:clickedToggle--
- }
-
- if ($clickedToggle -gt 0)
- {
- $ButtonApply.Visibility = "Visible"
- $ButtonSave.Visibility = "Visible"
- }
-
- else
- {
- $ButtonApply.Visibility = "Hidden"
- $ButtonSave.Visibility = "Hidden"
- }
-}
-
-function Set-Language {
- <#
- .SYNOPSIS
- Click event if "Change Language" button and change Toogle TextBlock text to Russian
- #>
-
- [CmdletBinding()]
- param ()
-
- (Get-Variable -Name "TextToggle_*").Name | ForEach-Object {
- $toggle = $Window.FindName($_)
- $split = $_.Split("_")
- $name = "TextRu_{0}"-f $split[1]
- $text = Get-Variable -Name $name
- $counter = $split[2]
- $toggle.Text = $text.Value[$counter]
- $ButtonChangeLanguage.Visibility = "Hidden"
- }
-}
-
-#endregion
-
-#region Controls Events
-
-$ButtonHamburger.Add_MouseLeftButtonDown({
- Use-HamburgerMenu
-})
-
-$ButtonHamburger.Add_MouseEnter({
- Set-HamburgerHover -Active
-})
-
-$ButtonHamburger.Add_MouseLeave({
- Set-HamburgerHover
-
-})
-
-$ButtonChangeLanguage.Add_MouseLeftButtonDown({
- Set-Language
-})
-
-#endregion
-
-#region Add Click Event to Hamburger Category Buttons
-
-$Button_ContextMenu.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_ContextMenu -SetHeader "Context Menu"
- })
-
-$Button_Defender.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Defender -SetHeader "Microsoft Defender"
- })
-
-$Button_Edge.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Edge -SetHeader "Microsoft Edge"
- })
-
-$Button_Game.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Game -SetHeader "Windows Game Recording"
- })
-
-$Button_OneDrive.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_OneDrive -SetHeader "OneDrive"
- })
-
-$Button_Privacy.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Privacy -SetHeader "Privacy & Telemetry"
- })
-
-$Button_StartMenu.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_StartMenu -SetHeader "Start Menu"
- })
-
-$Button_System.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_System -SetHeader "System"
- })
-
-$Button_Tasks.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Tasks -SetHeader "Scheduled Tasks"
- })
-
-$Button_Ui.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Ui -SetHeader "UI & Personalization"
- })
-
-$Button_Uwp.Add_MouseLeftButtonDown({
- Click-HamburgerButton -ShowPanel $PanelToggle_Uwp -SetHeader "Uwp Apps"
- })
-#endregion
-
-#region Add Click Event to Toggle Buttons
-(Get-Variable -Name "Toggle_*").Name | ForEach-Object {
- $toggle = $Window.FindName($_)
- $toggle.Add_Checked({
- Click-ToggleButton -Check
- })
-
- $toggle.Add_Unchecked({
- Click-ToggleButton
- })
-}
-#endregion
-
-Hide-Console
-$Window.ShowDialog() | Out-Null
\ No newline at end of file
diff --git a/Win-10-Setup-Script-GUI.ps1 b/Win-10-Setup-Script-GUI.ps1
index 3c56afe2..cfb545a9 100644
--- a/Win-10-Setup-Script-GUI.ps1
+++ b/Win-10-Setup-Script-GUI.ps1
@@ -1,15 +1,322 @@
Add-Type -AssemblyName "PresentationCore", "PresentationFramework", "WindowsBase"
-[xml]$xamlMarkup = @'
+#region Variable
+
+# If variable clickedToggle > 0 show "Save" and "Apply" button, else hide "Save" and "Apply" button
+$clickedToggle = 0
+
+# Variable RU defines UI language
+if ($PSCulture -eq "ru-RU")
+{
+ New-Variable -Name "RU" -Value $true
+}
+
+else
+{
+ New-Variable -Name "RU" -Value $false
+}
+
+$gitHub = "https://github.com/farag2/Windows-10-Setup-Script"
+
+#endregion Variable
+
+#region Text Eng
+$TextEng = "Add ""Extract"" to MSI file type context menu",
+"Add ""Run as different user"" from context menu for .exe file type",
+"Add ""Install"" to CAB file type context menu",
+"Remove ""Cast to Device"" from context menu",
+"Remove ""Share"" from context menu",
+"Remove ""Previous Versions"" from file context menu",
+"Remove ""Edit with Paint 3D"" from context menu",
+"Remove ""Include in Library"" from context menu",
+"Remove ""Turn on BitLocker"" from context menu",
+"Remove ""Edit with Photos"" from context menu",
+"Remove ""Create a new video"" from Context Menu",
+"Remove ""Edit"" from images Context Menu",
+"Remove ""Print"" from batch and cmd files context menu",
+"Remove ""Compressed (zipped) Folder"" from context menu",
+"Remove ""Send to"" from folder context menu",
+"Make the ""Open"", ""Print"", ""Edit"" context menu items available, when more than 15 selected",
+"Turn off ""Look for an app in the Microsoft Store"" in ""Open with"" dialog",
+"Turn off Windows Defender SmartScreen for Microsoft Edge",
+"Do not allow Microsoft Edge to start and load the Start and New Tab page at Windows startup and each time Microsoft Edge is closed",
+"Do not allow Microsoft Edge to pre-launch at Windows startup, when the system is idle, and each time Microsoft Edge is closed",
+"Turn off creation of an Edge shortcut on the desktop for each user profile",
+"Add folder to exclude from Windows Defender Antivirus scan",
+"Turn on Controlled folder access and add protected folders",
+"Allow an app through Controlled folder access",
+"Turn on Windows Defender Exploit Guard Network Protection",
+"Turn on Windows Defender PUA Protection",
+"Turn on Windows Defender Sandbox",
+"Hide notification about sign in with Microsoft in the Windows Security",
+"Hide notification about disabled SmartScreen for Microsoft Edge",
+"Uninstall OneDrive",
+"Turn off ""Connected User Experiences and Telemetry"" service",
+"Turn off per-user services",
+"Turn off the SQMLogger session at the next computer restart",
+"Set the operating system diagnostic data level to ""Basic""",
+"Turn off Windows Error Reporting",
+"Change Windows Feedback frequency to ""Never""",
+"Turn off diagnostics tracking scheduled tasks",
+"Do not offer tailored experiences based on the diagnostic data setting",
+"Do not let apps on other devices open and message apps on this device, and vice versa",
+"Do not allow apps to use advertising ID",
+"Do not use sign-in info to automatically finish setting up device after an update or restart",
+"Do not let websites provide locally relevant content by accessing language list",
+"Turn on tip, trick, and suggestions as you use Windows",
+"Do not show app suggestions on Start menu",
+"Do not show suggested content in the Settings",
+"Turn off automatic installing suggested apps",
+"Do not let track app launches to improve Start menu and search results",
+"Create a task in the Task Scheduler to start Windows cleaning up",
+"Create a task in the Task Scheduler to clear the C:\Windows\SoftwareDistribution\Download folder",
+"Create a task in the Task Scheduler to clear the C:\Temp folder",
+"Do not show recently added apps on Start menu",
+"Open shortcut to the Command Prompt from Start menu as Administrator",
+"Add old style shortcut for ""Devices and Printers"" to the Start menu",
+"Import Start menu layout from pre-saved reg file",
+"Unpin all Start menu tiles",
+"Turn on Storage Sense to automatically free up space",
+"Run Storage Sense every month",
+"Delete temporary files that apps aren't using",
+"Delete files in recycle bin if they have been there for over 30 days",
+"Never delete files in ""Downloads"" folder",
+"Let Windows try to fix apps so they're not blurry",
+"Turn off hibernate",
+"Turn off location for this device",
+"Change environment variable for ""%TEMP%"" to ""%SystemDrive%\Temp""",
+"Turn on Win32 long paths",
+"Group svchost.exe processes",
+"Turn on Retpoline patch against Spectre v2",
+"Turn on the display of stop error information on the BSoD",
+"Do not preserve zone information",
+"Turn off Admin Approval Mode for administrators",
+"Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled",
+"Set download mode for delivery optization on ""HTTP only""",
+" Always wait for the network at computer startup and logon",
+"Do not let Windows manage default printer",
+"Turn off Windows features",
+"Remove Windows capabilities",
+"Turn on updates for other Microsoft products",
+"Remove Shadow copies (restoration points)",
+"Turn off Windows Script Host",
+"Turn off default background apps, except the followings...",
+"Set power management scheme for !!!",
+"Turn on latest installed .NET runtime for all apps",
+"Do not allow the computer to turn off the Ethernet adapter to save power",
+"Set the default input method to the English language",
+"Turn on Windows Sandbox",
+"Set location of the ""Desktop"", ""Documents"", ""Downloads"", ""Music"", ""Pictures"", and ""Videos""",
+"Run troubleshooters automatically, then notify",
+"Set ""High performance"" in graphics performance preference for apps",
+"Launch folder in a separate process",
+"Turn off and delete reserved storage after the next update installation",
+"Turn on automatic backup the system registry to the C:\Windows\System32\config\RegBack folder",
+"Turn off ""The Windows Filtering Platform has blocked a connection"" message in ""Windows Logs\Security""",
+"Turn off SmartScreen for apps and files",
+"Turn off F1 Help key",
+"Turn on Num Lock at startup",
+"Turn off sticky Shift key after pressing 5 times",
+"Turn off AutoPlay for all media and devices",
+"Turn off thumbnail cache removal",
+"Turn On automatically save my restartable apps when sign out and restart them after sign in",
+"Show ""This PC"" on Desktop",
+"Set File Explorer to open to This PC by default",
+"Show Hidden Files, Folders, and Drives",
+"Turn off check boxes to select items",
+"Show File Name Extensions",
+"Show folder merge conflicts",
+"Do not show all folders in the navigation pane",
+"Do not show Cortana button on taskbar",
+"Do not show Task View button on taskbar",
+"Do not show People button on the taskbar",
+"Show seconds on taskbar clock",
+"Turn on acrylic taskbar transparency",
+"Do not show when snapping a window, what can be attached next to it",
+"Show more details in file transfer dialog",
+"Turn on ribbon in File Explorer",
+"Turn on recycle bin files delete confirmation",
+"Remove 3D Objects folder in ""This PC"" and in the navigation pane",
+"Do not show ""Frequent folders"" in Quick access",
+"Do not show ""Recent files"" in Quick access",
+"Remove the ""Previous Versions"" tab from properties context menu",
+"Hide search box or search icon on taskbar",
+"Do not show ""Windows Ink Workspace"" button in taskbar",
+"Always show all icons in the notification area",
+"Unpin Microsoft Edge and Microsoft Store from taskbar",
+"Set the Control Panel view by large icons",
+"Choose theme color for default Windows mode",
+"Choose theme color for default app mode",
+"Do not show ""New App Installed"" notification",
+"Do not show user first sign-in animation",
+"Turn off JPEG desktop wallpaper import quality reduction",
+"Show Task Manager details",
+"Show accent color on the title bars and window borders",
+"Turn off automatically hiding scroll bars",
+"Show more Windows Update restart notifications about restarting",
+"Turn off the ""- Shortcut"" name extension for new shortcuts",
+"Use the PrtScn button to open screen snipping",
+"Automatically adjust active hours for me based on daily usage",
+"Turn off Windows Game Recording and Broadcasting",
+"Turn off Game Bar",
+"Turn off Game Mode",
+"Turn off Game Bar tips"
+#endregion Text Eng
+
+#region Text Ru
+$TextRu = "Добавить пункт ""Extract"" для MSI в контекстное меню",
+"Добавить ""Запуск от имени другого пользователя"" в контекстное меню для .exe файлов",
+"Добавить пункт ""Установить"" для CAB-файлов в контекстном меню",
+"Удалить пункт ""Передать на устройство"" из контекстного меню",
+"Удалить пункт ""Отправить"" (поделиться) из контекстного меню",
+"Удалить пункт ""Восстановить прежнюю версию"" из контекстного меню",
+"Удалить пункт ""Изменить с помощью Paint 3D"" из контекстного меню",
+"Удалить пункт ""Добавить в библиотеку"" из контекстного меню",
+"Удалить пункт ""Включить BitLocker"" из контекстного меню",
+"Удалить пункт ""Изменить с помощью приложения ""Фотографии"""" из контекстного меню изображений",
+"Удалить пункт ""Создать новое видео"" из контекстного меню",
+"Удалить пункт ""Изменить"" из контекстного меню изображений",
+"Удалить пункт ""Печать"" из контекстного меню для bat- и cmd-файлов",
+"Удалить пункт ""Сжатая ZIP-папка"" из контекстного меню",
+"Удалить пункт ""Отправить"" из контекстного меню папки",
+"Сделать доступными элементы контекстного меню ""Открыть"", ""Изменить"" и ""Печать"" при выделении более 15 элементов",
+"Отключить поиск программ в Microsoft Store при открытии диалога ""Открыть с помощью""",
+"Отключить Windows Defender SmartScreen в Microsoft Edge",
+"Не разрешать Edge запускать и загружать страницу при загрузке Windows и каждый раз при закрытии Edge",
+"Не разрешать предварительный запуск Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Edge",
+"Отключить создание ярлыка Edge на рабочем столе для каждого профиля пользователя пользователя",
+"Добавить папку в список исключений сканирования Защитника Windows",
+"Включить контролируемый доступ к папкам и добавить защищенные папки",
+"Разрешить работу приложения через контролируемый доступ к папкам",
+"Включить Защиту сети в Защитнике Windows",
+"Включить блокировки потенциально нежелательных приложений",
+"Запускать Защитник Windows в песочнице",
+"Скрыть уведомление Защитника Windows об использовании аккаунта Microsoft",
+"Скрыть уведомление Защитника Windows об отключенном фильтре SmartScreen для Microsoft Edge",
+"Удалить OneDrive",
+"Отключить службу ""Функциональные возможности для подключенных пользователей и телеметрия""",
+"Отключить пользовательские службы",
+"Отключить сборщик SQMLogger при следующем запуске ПК",
+"Установить уровень отправляемых диагностических сведений на ""Базовый""",
+"Отключить отчеты об ошибках Windows для всех пользователей",
+"Изменить частоту формирования отзывов на ""Никогда""",
+"Отключить задачи диагностического отслеживания",
+"Не предлагать персонализированныее возможности, основанные на выбранном параметре диагностических данных",
+"Не разрешать приложениям на других устройствах запускать приложения и отправлять сообщения на этом устройстве и наоборот",
+"Не разрешать приложениям использовать идентификатор рекламы",
+"Не использовать данные для входа для автоматического завершения настройки устройства после перезапуска или обновления",
+"Не позволять веб-сайтам предоставлять местную информацию за счет доступа к списку языков",
+"Показывать советы, подсказки и рекомендации при использованию Windows",
+"Не показывать рекомендации в меню ""Пуск""",
+"Не показывать рекомендуемое содержание в ""Параметрах""",
+"Отключить автоматическую установку рекомендованных приложений",
+"Не разрешать Windows отслеживать запуски приложений для улучшения меню ""Пуск"" и результатов поиска и не показывать недавно добавленные приложения",
+"Создать задачу в Планировщике задач по очистке обновлений Windows",
+"Создать задачу в Планировщике задач по очистке папки ""%SystemRoot%\SoftwareDistribution\Download""",
+"Создать задачу в Планировщике задач по очистке папки ""%TEMP%""",
+"Не показывать недавно добавленные приложения в меню ""Пуск""",
+"Запускать ярлык к командной строке в меню ""Пуск"" от имени Администратора",
+"Добавить ярлык старого формата для ""Устройства и принтеры"" в меню Пуск",
+"Импорт настроенного макета меню ""Пуск"" из заготовленного reg-файла",
+"Открепить все ярлыки от начального экрана",
+"Включить Память устройства для автоматического освобождения места",
+"Запускать контроль памяти каждый месяц",
+"Удалять временные файлы, не используемые в приложениях",
+"Удалять файлы, которые находятся в корзине более 30 дней",
+"Никогда не удалять файлы из папки ""Загрузки""",
+"Разрешить Windows исправлять размытость в приложениях",
+"Отключить гибридный спящий режим",
+"Отключить местоположение для этого устройства",
+"Изменить путь переменной среды для временных файлов на ""%SystemDrive%\Temp""",
+"Включить длинные пути Win32",
+"Группировать одинаковые службы в один процесс svchost.exe",
+"Включить патч Retpoline против Spectre v2",
+"Включить дополнительную информацию при выводе BSoD",
+"Не хранить сведения о зоне происхождения вложенных файлов",
+"Отключить использование режима одобрения администратором для встроенной учетной записи администратора",
+"Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами",
+"Отключить оптимизацию доставки для обновлений с других ПК",
+"Всегда ждать сеть при запуске и входе в систему",
+"Не разрешать Windows управлять принтером, используемым по умолчанию",
+"Отключить компоненты",
+"Удалить компоненты",
+"Включить автоматическое обновление для других продуктов Microsoft",
+"Удалить теневые копии (точки восстановения)",
+"Отключить Windows Script Host",
+"Запретить стандартным приложениям работать в фоновом режиме, кроме следующих...",
+"Установить схему управления питания для !!!",
+"Использовать последнюю установленную версию .NET для всех приложений",
+"Запретить отключение Ethernet-адаптера для экономии энергии",
+"Установить метод ввода по умолчанию на английский язык",
+"Включить Windows Sandbox",
+"Переопределить расположение папок ""Рабочий стол"", ""Документы"", ""Загрузки"", ""Музыка"", ""Изображения"", ""Видео""",
+"Автоматически запускать средства устранения неполадок, а затем уведомлять",
+"Установить параметры производительности графики для отдельных приложений на ""Высокая производительность""",
+"Запускать окна с папками в отдельном процессе",
+"Отключить и удалить зарезервированное хранилище после следующей установки обновлений",
+"Включить автоматическое создание копии реестра в папку C:\Windows\System32\config\RegBack",
+"Отключить в ""Журналах Windows\Безопасность"" сообщение ""Платформа фильтрации IP-пакетов Windows разрешила подключение""",
+"Отключить SmartScreen для приложений и файлов",
+"Отключить справку по нажатию F1",
+"Включить Num Lock при загрузке",
+"Отключить залипание клавиши Shift после 5 нажатий",
+"Отключить автозапуск с внешних носителей",
+"Отключить удаление кэша миниатюр",
+"Автоматически сохранять мои перезапускаемые приложения при выходе из системы и перезапустить их после выхода",
+"Отобразить ""Этот компьютер"" на рабочем столе",
+"Открывать ""Этот компьютер"" в Проводнике",
+"Показывать скрытые файлы, папки и диски",
+"Отключить флажки для выбора элементов",
+"Показывать расширения для зарегистрированных типов файлов",
+"Не скрывать конфликт слияния папок",
+"Не отображать все папки в области навигации",
+"Не показывать кнопку Кортаны на панели задач",
+"Не показывать кнопку Просмотра задач",
+"Не показывать панель ""Люди"" на панели задач",
+"Отображать секунды в системных часах на панели задач",
+"Включить прозрачную панель задач",
+"Не показывать при прикреплении окна, что можно прикрепить рядом с ним",
+"Развернуть диалог переноса файлов",
+"Включить отображение ленты проводника в развернутом виде",
+"Запрашивать подтверждение на удалении файлов из корзины",
+"Скрыть папку ""Объемные объекты"" из ""Этот компьютер"" и на панели быстрого доступа",
+"Не показывать недавно используемые папки на панели быстрого доступа",
+"Не показывать недавно использовавшиеся файлы на панели быстрого доступа",
+"Отключить отображение вкладки ""Предыдущие версии"" в свойствах файлов и папок",
+"Скрыть поле или значок поиска на Панели задач",
+"Не показывать кнопку Windows Ink Workspace на панели задач",
+"Всегда отображать все значки в области уведомлений",
+"Открепить Microsoft Edge и Microsoft Store от панели задач",
+"Установить крупные значки в панели управления",
+"Выбрать режим Windows по умолчанию",
+"Выбрать режим приложения по умолчанию",
+"Не показывать уведомление ""Установлено новое приложение""",
+"Не показывать анимацию при первом входе в систему",
+"Установка качества фона рабочего стола на 100 %",
+"Раскрыть окно Диспетчера задач",
+"Отображать цвет элементов в заголовках окон и границ окон",
+"Отключить автоматическое скрытие полос прокрутки в Windows",
+"Показывать уведомление, когда компьютеру требуется перезагрузка для завершения обновления",
+"Нe дoбaвлять ""- яpлык"" для coздaвaeмыx яpлыкoв",
+"Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана",
+"Автоматически изменять период активности для этого устройства на основе действий",
+"Отключить Запись и трансляции игр Windows",
+"Отключить игровую панель",
+"Отключить игровой режим",
+"Отключить подсказки игровой панели"
+#endregion Text Ru
+
+#region Xaml Markup
+
+[xml]$xamlMarkup = @"
@@ -67,10 +374,6 @@
-
-
-
+
+
@@ -301,8 +611,8 @@
-
-
+
+
@@ -324,25 +634,25 @@
-
+
-
+
-
+
-
+
@@ -353,7 +663,7 @@
-
+
@@ -968,7 +1278,7 @@
-
+
@@ -988,10 +1298,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-'@
+"@
+
+#endregion Xaml Markup
$xamlGui = [System.Windows.Markup.XamlReader]::Load((New-Object System.Xml.XmlNodeReader $xamlMarkup))
$xamlMarkup.SelectNodes('//*[@Name]') | ForEach-Object {
- New-Variable -Name $_.Name -Value $xamlGui.FindName($_.Name)
+ New-Variable -Name $_.Name -Value $xamlGui.FindName($_.Name) -Force
}
#region Script Functions
@@ -4347,37 +4201,231 @@ function Set-HamburgerHover {
if ($Active)
{
- $Button_Hamburger.Background = "#2196F3"
+ $ButtonHamburger.Background = "#2196F3"
}
else
{
- $Button_Hamburger.Background = "#3F51B5"
+ $ButtonHamburger.Background = "#3F51B5"
+ }
+}
+
+function Click-HamburgerButton {
+ <#
+ .SYNOPSIS
+ Click event to Hamburger Category Button.
+ #>
+
+ [CmdletBinding()]
+ param
+ (
+ [Parameter(Mandatory=$true)]
+ $Panel,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Header
+ )
+
+ $PanelToggle_ContextMenu, $PanelToggle_Edge, $PanelToggle_MicrosoftDefender, $PanelToggle_OneDrive,
+ $PanelToggle_Privacy, $PanelToggle_ScheduledTasks, $PanelToggle_StartMenu, $PanelToggle_System,
+ $PanelToggle_UI, $PanelToggle_UwpApps, $PanelToggle_WindowsGameRecording | ForEach-Object {
+
+ if (($_.Name -eq $Panel.Name) -and ($_.Visibility -eq "Collapsed"))
+ {
+ $_.Visibility = "Visible"
+ }
+
+ elseif (($_.Name -ne $Panel.Name) -and ($_.Visibility -eq "Visible"))
+ {
+ $_.Visibility = "Collapsed"
+ }
}
+
+ $TextBlock_Category.Text = $Header
+}
+
+function Click-ToggleButton {
+ <#
+ .SYNOPSIS
+ Click event to Toggle Buttons.
+ #>
+
+ [CmdletBinding()]
+ param
+ (
+ [Parameter(Mandatory=$false)]
+ [switch]$IsChecked
+ )
+
+ if ($IsChecked)
+ {
+ $Global:clickedToggle++
+ }
+
+ elseif (!$IsChecked)
+ {
+ $Global:clickedToggle--
+ }
+
+ if ($clickedToggle -gt 0)
+ {
+ $ButtonApply.Visibility = "Visible"
+ $ButtonSave.Visibility = "Visible"
+ }
+
+ else
+ {
+ $ButtonApply.Visibility = "Hidden"
+ $ButtonSave.Visibility = "Hidden"
+ }
+}
+
+function Set-Language {
+ <#
+ .SYNOPSIS
+ Change Language button click event
+ #>
+
+ [CmdletBinding()]
+ param
+ (
+ [Parameter(Mandatory=$false)]
+ [switch]$Change
+ )
+
+ (Get-Variable -Name "Text_*").Name | ForEach-Object {
+ $textToggle = $Window.FindName($_)
+
+ if ($Change)
+ {
+ if ($RU)
+ {
+ $textToggle.Text = $TextEng[$textToggle.Uid]
+ }
+
+ else
+ {
+ $textToggle.Text = $TextRu[$textToggle.Uid]
+ }
+ }
+
+ else
+ {
+ if ($RU)
+ {
+ $textToggle.Text = $TextRu[$textToggle.Uid]
+ }
+
+ else
+ {
+ $textToggle.Text = $TextEng[$textToggle.Uid]
+ }
+ }
+ }
+
+ if ($Change)
+ {
+ $Global:RU = !$RU
+ }
+}
+
+function Follow-OnGitHub {
+ <#
+ .SYNOPSIS
+ Open Farag2 GitHub in Default Browser
+ #>
+
+ [CmdletBinding()]
+ param ()
+
+ Start-Process -FilePath "explorer.exe" -ArgumentList $gitHub
}
#endregion
#region Controls Events
-$Button_Hamburger.Add_MouseLeftButtonDown({
+$ButtonHamburger.Add_MouseLeftButtonDown({
Use-HamburgerMenu
})
-$Button_Hamburger.Add_MouseEnter({
+$ButtonHamburger.Add_MouseEnter({
Set-HamburgerHover -Active
})
-$Button_Hamburger.Add_MouseLeave({
+$ButtonHamburger.Add_MouseLeave({
Set-HamburgerHover
})
+$ButtonChangeLanguage.Add_MouseLeftButtonDown({
+ Set-Language -Change
+})
+$ButtonGitHub.Add_MouseLeftButtonDown({
+ Follow-OnGitHub
+})
+$Button_ContextMenu.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_ContextMenu -Header "Context Menu"
+ })
+
+$Button_Defender.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_MicrosoftDefender -Header "Microsoft Defender"
+ })
+
+$Button_Edge.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_Edge -Header "Microsoft Edge"
+ })
+
+$Button_Game.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_WindowsGameRecording -Header "Windows Game Recording"
+ })
+
+$Button_OneDrive.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_OneDrive -Header "OneDrive"
+ })
+
+$Button_Privacy.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_Privacy -Header "Privacy & Telemetry"
+ })
+
+$Button_StartMenu.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_StartMenu -Header "Start Menu"
+ })
+
+$Button_System.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_System -Header "System"
+ })
+
+$Button_Tasks.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_ScheduledTasks -Header "Scheduled Tasks"
+ })
+$Button_Ui.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_UI -Header "UI & Personalization"
+ })
+
+$Button_Uwp.Add_MouseLeftButtonDown({
+ Click-HamburgerButton -Panel $PanelToggle_UwpApps -Header "Uwp Apps"
+ })
+#endregion Controls Events
+
+#region Add Click Event to Toggle Buttons
+
+(Get-Variable -Name "Toggle_*").Name | ForEach-Object {
+ $currentToggle = $Window.FindName($_)
+ $currentToggle.Add_Checked({
+ Click-ToggleButton -IsChecked
+ })
+
+ $currentToggle.Add_Unchecked({
+ Click-ToggleButton
+ })
+}
-#endregion
+#endregion Add Click Event to Toggle Buttons
+Set-Language
Hide-Console
$Window.ShowDialog() | Out-Null
\ No newline at end of file