Browse Source

Add dynamic hamburger width

pull/17/head
oZ-Zo 5 years ago
parent
commit
5e0804b43c
  1. 11
      W10SS_GUI/Classes/AppCulture.cs
  2. 60
      W10SS_GUI/Classes/Gui.cs
  3. 23
      W10SS_GUI/Classes/Tags.cs
  4. 26
      W10SS_GUI/Localized/EN.xaml
  5. 20
      W10SS_GUI/Localized/RU.xaml
  6. 50
      W10SS_GUI/MainWindow.xaml
  7. 44
      W10SS_GUI/MainWindow.xaml.cs
  8. 2
      W10SS_GUI/Resource/animations.xaml
  9. 5
      W10SS_GUI/Resource/controlsSize.xaml
  10. 2
      W10SS_GUI/W10SS_GUI.csproj

11
W10SS_GUI/Classes/AppCulture.cs

@ -19,13 +19,10 @@ namespace W10SS_GUI
private string _culture = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName == Culture.RU ? Culture.RU : Culture.EN; private string _culture = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName == Culture.RU ? Culture.RU : Culture.EN;
private ResourceDictionary resourceDictionaryEn = new ResourceDictionary() { Source = new Uri("pack://application:,,,/Localized/EN.xaml", UriKind.Absolute) }; private ResourceDictionary resourceDictionaryEn = new ResourceDictionary() { Source = new Uri("pack://application:,,,/Localized/EN.xaml", UriKind.Absolute) };
private ResourceDictionary resourceDictionaryRu = new ResourceDictionary() { Source = new Uri("pack://application:,,,/Localized/RU.xaml", UriKind.Absolute) }; private ResourceDictionary resourceDictionaryRu = new ResourceDictionary() { Source = new Uri("pack://application:,,,/Localized/RU.xaml", UriKind.Absolute) };
internal ResourceDictionary CurrentCulture
{ internal ResourceDictionary CurrentCulture => _culture == Culture.RU ? resourceDictionaryRu : resourceDictionaryEn;
get
{ internal string CurrentCultureName => _culture == Culture.RU ? Culture.RU : Culture.EN;
return _culture == Culture.RU ? resourceDictionaryRu : resourceDictionaryEn;
}
}
internal ResourceDictionary ChangeCulture() internal ResourceDictionary ChangeCulture()
{ {

60
W10SS_GUI/Classes/Gui.cs

@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
using W10SS_GUI.Controls;
using W10SS_GUI.Properties;
namespace W10SS_GUI.Classes
{
internal class Gui
{
private Dictionary<string, StackPanel> _togglesCategoryPanels = new Dictionary<string, StackPanel>();
private MainWindow MainWindow = Application.Current.MainWindow as MainWindow;
private HamburgerCategoryButton _lastclickedbutton;
internal string LastClickedButtonName
{
get
{
return _lastclickedbutton.Name as string;
}
}
internal Gui()
{
InitializeVariables();
}
internal void InitializeVariables()
{
foreach (var tagValue in Application.Current.Resources.MergedDictionaries.Where(r => r.Source.Segments[2] == "tags.xaml").FirstOrDefault().Values)
{
_togglesCategoryPanels.Add(tagValue.ToString(), MainWindow.panelTogglesCategoryContainer.Children.OfType<StackPanel>().Where(p => p.Tag == tagValue).FirstOrDefault());
}
}
internal void SetActivePanel(HamburgerCategoryButton button)
{
_lastclickedbutton = button;
foreach (KeyValuePair<string, StackPanel> kvp in _togglesCategoryPanels)
{
kvp.Value.Visibility = kvp.Key == button.Tag as string ? Visibility.Visible : Visibility.Collapsed;
}
MainWindow.textTogglesHeader.Text = MainWindow.Resources[button.Name] as string;
}
internal void SetHamburgerWidth(string cultureName)
{
Storyboard storyboard = MainWindow.TryFindResource("animationHamburgerOpen") as Storyboard;
DoubleAnimation animation = storyboard.Children[0] as DoubleAnimation;
animation.To = cultureName == "ru"
? Convert.ToDouble(MainWindow.TryFindResource("panelHamburgerRuMaxWidth"))
: Convert.ToDouble(MainWindow.TryFindResource("panelHamburgerEnMaxWidth"));
}
}
}

23
W10SS_GUI/Classes/Tags.cs

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace W10SS_GUI
{
internal static class Tags
{
internal static readonly string Privacy = string.Format("{0}", Application.Current.Resources["tagCategoryPrivacy"]);
internal static readonly string Ui = string.Format("{0}", Application.Current.Resources["tagCategoryUi"]);
internal static readonly string OneDrive = string.Format("{0}", Application.Current.Resources["tagCategoryOneDrive"]);
internal static readonly string System = string.Format("{0}", Application.Current.Resources["tagCategorySystem"]);
internal static readonly string StartMenu = string.Format("{0}", Application.Current.Resources["tagCategoryStartMenu"]);
internal static readonly string Uwp = string.Format("{0}", Application.Current.Resources["tagCategoryUwp"]);
internal static readonly string WinGame = string.Format("{0}", Application.Current.Resources["tagCategoryWinGame"]);
internal static readonly string TaskScheduler = string.Format("{0}", Application.Current.Resources["tagCategoryTaskScheduler"]);
internal static readonly string Defender = string.Format("{0}", Application.Current.Resources["tagCategoryDefender"]);
internal static readonly string ContextMenu = string.Format("{0}", Application.Current.Resources["tagCategoryContextMenu"]);
}
}

26
W10SS_GUI/Localized/EN.xaml

@ -3,20 +3,20 @@
xmlns:system="clr-namespace:System;assembly=mscorlib"> xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="textWindowTitle">Windows 10 Setup Script</system:String> <system:String x:Key="textWindowTitle">Windows 10 Setup Script</system:String>
<system:String x:Key="textHamburgerPrivacy">Privacy &amp; Telemetry</system:String> <system:String x:Key="HamburgerPrivacy">Privacy &amp; Telemetry</system:String>
<system:String x:Key="textHamburgerUi">UI &amp; Personalization</system:String> <system:String x:Key="HamburgerUi">UI &amp; Personalization</system:String>
<system:String x:Key="textHamburgerOneDrive">OneDrive</system:String> <system:String x:Key="HamburgerOneDrive">OneDrive</system:String>
<system:String x:Key="textHamburgerSystem">System</system:String> <system:String x:Key="HamburgerSystem">System</system:String>
<system:String x:Key="textHamburgerStartMenu">Start Menu</system:String> <system:String x:Key="HamburgerStartMenu">Start Menu</system:String>
<system:String x:Key="textHamburgerUwp">UWP Apps</system:String> <system:String x:Key="HamburgerUwp">UWP Apps</system:String>
<system:String x:Key="textHamburgerWinGame">Game Mode</system:String> <system:String x:Key="HamburgerWinGame">Game Mode</system:String>
<system:String x:Key="textHamburgerTaskScheduler">Task Scheduler</system:String> <system:String x:Key="HamburgerTaskScheduler">Task Scheduler</system:String>
<system:String x:Key="textHamburgerDefender">Microsoft Defender</system:String> <system:String x:Key="HamburgerDefender">Microsoft Defender</system:String>
<system:String x:Key="textHamburgerContextMenu">Context Menu</system:String> <system:String x:Key="HamburgerContextMenu">Context Menu</system:String>
<system:String x:Key="textHamburgerApply">Apply Settings</system:String> <system:String x:Key="textHamburgerApply">Apply</system:String>
<system:String x:Key="textHamburgerSave">Save Settings</system:String> <system:String x:Key="textHamburgerSave">Save</system:String>
<system:String x:Key="textHamburgerLoad">Import Settings</system:String> <system:String x:Key="textHamburgerLoad">Import</system:String>
<system:String x:Key="textHamburgerLanguage">Русский</system:String> <system:String x:Key="textHamburgerLanguage">Русский</system:String>
<system:String x:Key="textHamburgerOpenGithub">GitHub</system:String> <system:String x:Key="textHamburgerOpenGithub">GitHub</system:String>

20
W10SS_GUI/Localized/RU.xaml

@ -4,16 +4,16 @@
xmlns:system="clr-namespace:System;assembly=mscorlib"> xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="textWindowTitle">Windows 10 Setup Script</system:String> <system:String x:Key="textWindowTitle">Windows 10 Setup Script</system:String>
<system:String x:Key="textHamburgerPrivacy">Телеметрия</system:String> <system:String x:Key="HamburgerPrivacy">Безопасность и телеметрия</system:String>
<system:String x:Key="textHamburgerUi">Персонализация</system:String> <system:String x:Key="HamburgerUi">UI &amp; персонализация</system:String>
<system:String x:Key="textHamburgerOneDrive">OneDrive</system:String> <system:String x:Key="HamburgerOneDrive">OneDrive</system:String>
<system:String x:Key="textHamburgerSystem">Система</system:String> <system:String x:Key="HamburgerSystem">Система</system:String>
<system:String x:Key="textHamburgerStartMenu">Меню "Пуск"</system:String> <system:String x:Key="HamburgerStartMenu">Меню "Пуск"</system:String>
<system:String x:Key="textHamburgerUwp">UWP Приложения</system:String> <system:String x:Key="HamburgerUwp">UWP-приложения</system:String>
<system:String x:Key="textHamburgerWinGame">Игровой режим</system:String> <system:String x:Key="HamburgerWinGame">Игровой режим</system:String>
<system:String x:Key="textHamburgerTaskScheduler">Планировщик</system:String> <system:String x:Key="HamburgerTaskScheduler">Планировщик задач</system:String>
<system:String x:Key="textHamburgerDefender">Microsoft Defender</system:String> <system:String x:Key="HamburgerDefender">Microsoft Defender</system:String>
<system:String x:Key="textHamburgerContextMenu">Контекстное меню</system:String> <system:String x:Key="HamburgerContextMenu">Контекстное меню</system:String>
<system:String x:Key="textHamburgerApply">Применить</system:String> <system:String x:Key="textHamburgerApply">Применить</system:String>
<system:String x:Key="textHamburgerSave">Сохранить</system:String> <system:String x:Key="textHamburgerSave">Сохранить</system:String>

50
W10SS_GUI/MainWindow.xaml

@ -20,7 +20,7 @@
ShowInTaskbar="True" ShowInTaskbar="True"
Background="{DynamicResource colorWindowBackground}" Background="{DynamicResource colorWindowBackground}"
Foreground="{DynamicResource colorWindowForeground}" Foreground="{DynamicResource colorWindowForeground}"
SizeToContent="Manual"> SizeToContent="Manual" Initialized="Window_Initialized">
<Window.Style> <Window.Style>
<Style TargetType="{x:Type Window}"> <Style TargetType="{x:Type Window}">
<Setter Property="TextOptions.TextFormattingMode" Value="Display"/> <Setter Property="TextOptions.TextFormattingMode" Value="Display"/>
@ -34,7 +34,7 @@
<Canvas Name="panelHamburger" <Canvas Name="panelHamburger"
MinWidth="{StaticResource panelHamburgerMinWidth}" MinWidth="{StaticResource panelHamburgerMinWidth}"
Width="{StaticResource panelHamburgerMinWidth}" Width="{StaticResource panelHamburgerMinWidth}"
MaxWidth="{StaticResource panelHamburgerMaxWidth}" MaxWidth="{DynamicResource panelHamburgerMaxWidth}"
Background="{DynamicResource colorButtonHamburgerBackground}" Background="{DynamicResource colorButtonHamburgerBackground}"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Panel.ZIndex="10"> Panel.ZIndex="10">
@ -50,9 +50,9 @@
</EventTrigger> </EventTrigger>
</Canvas.Triggers> </Canvas.Triggers>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerPrivacy" <uc:HamburgerCategoryButton x:Name="HamburgerPrivacy"
Icon="{StaticResource iconHamburgerPrivacy}" Icon="{StaticResource iconHamburgerPrivacy}"
Text="{DynamicResource textHamburgerPrivacy}" Text="{DynamicResource HamburgerPrivacy}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 3" TextMargin="0 0 10 3"
Tag="{StaticResource tagCategoryPrivacy}" Tag="{StaticResource tagCategoryPrivacy}"
@ -60,9 +60,9 @@
Canvas.Top="0" Canvas.Left="0" Canvas.Top="0" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerUi" <uc:HamburgerCategoryButton x:Name="HamburgerUi"
Icon="{StaticResource iconHamburgerUi}" Icon="{StaticResource iconHamburgerUi}"
Text="{DynamicResource textHamburgerUi}" Text="{DynamicResource HamburgerUi}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 -2" TextMargin="0 0 10 -2"
Tag="{StaticResource tagCategoryUi}" Tag="{StaticResource tagCategoryUi}"
@ -70,19 +70,19 @@
Canvas.Top="40" Canvas.Left="0" Canvas.Top="40" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerOneDrive" <uc:HamburgerCategoryButton x:Name="HamburgerOneDrive"
IconVisibility="Collapsed" IconVisibility="Collapsed"
ViewboxPathData="{StaticResource iconHamburgerOneDrive}" ViewboxPathData="{StaticResource iconHamburgerOneDrive}"
Text="{DynamicResource textHamburgerOneDrive}" Text="{DynamicResource HamburgerOneDrive}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 3" TextMargin="0 0 10 3"
Tag="{StaticResource tagCategoryOneDrive}" Tag="{StaticResource tagCategoryOneDrive}"
Canvas.Top="80" Canvas.Left="0" Canvas.Top="80" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerSystem" <uc:HamburgerCategoryButton x:Name="HamburgerSystem"
Icon="{StaticResource iconHamburgerSystem}" Icon="{StaticResource iconHamburgerSystem}"
Text="{DynamicResource textHamburgerSystem}" Text="{DynamicResource HamburgerSystem}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 1" TextMargin="0 0 10 1"
Tag="{StaticResource tagCategorySystem}" Tag="{StaticResource tagCategorySystem}"
@ -90,9 +90,9 @@
Canvas.Top="120" Canvas.Left="0" Canvas.Top="120" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerStartMenu" <uc:HamburgerCategoryButton x:Name="HamburgerStartMenu"
Icon="{StaticResource iconHamburgerStartMenu}" Icon="{StaticResource iconHamburgerStartMenu}"
Text="{DynamicResource textHamburgerStartMenu}" Text="{DynamicResource HamburgerStartMenu}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 5" TextMargin="0 0 10 5"
Tag="{StaticResource tagCategoryStartMenu}" Tag="{StaticResource tagCategoryStartMenu}"
@ -100,9 +100,9 @@
Canvas.Top="160" Canvas.Left="0" Canvas.Top="160" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerUwp" <uc:HamburgerCategoryButton x:Name="HamburgerUwp"
Icon="{StaticResource iconHamburgerUwp}" Icon="{StaticResource iconHamburgerUwp}"
Text="{DynamicResource textHamburgerUwp}" Text="{DynamicResource HamburgerUwp}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 1" TextMargin="0 0 10 1"
Tag="{StaticResource tagCategoryUwp}" Tag="{StaticResource tagCategoryUwp}"
@ -110,29 +110,29 @@
Canvas.Top="200" Canvas.Left="0" Canvas.Top="200" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerWinGame" <uc:HamburgerCategoryButton x:Name="HamburgerWinGame"
IconVisibility="Collapsed" IconVisibility="Collapsed"
ViewboxPathData="{StaticResource iconHamburgerWinGame}" ViewboxPathData="{StaticResource iconHamburgerWinGame}"
Text="{DynamicResource textHamburgerWinGame}" Text="{DynamicResource HamburgerWinGame}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 4" TextMargin="0 0 10 4"
Tag="{StaticResource tagCategoryWinGame}" Tag="{StaticResource tagCategoryWinGame}"
Canvas.Top="240" Canvas.Left="0" Canvas.Top="240" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerTaskScheduler" <uc:HamburgerCategoryButton x:Name="HamburgerTaskScheduler"
IconVisibility="Collapsed" IconVisibility="Collapsed"
ViewboxPathData="{StaticResource iconHamburgerTaskScheduler}" ViewboxPathData="{StaticResource iconHamburgerTaskScheduler}"
Text="{DynamicResource textHamburgerTaskScheduler}" Text="{DynamicResource HamburgerTaskScheduler}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 2" TextMargin="0 0 10 2"
Tag="{StaticResource tagCategoryTaskScheduler}" Tag="{StaticResource tagCategoryTaskScheduler}"
Canvas.Top="280" Canvas.Left="0" Canvas.Top="280" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerDefender" <uc:HamburgerCategoryButton x:Name="HamburgerDefender"
Icon="{StaticResource iconHamburgerDefender}" Icon="{StaticResource iconHamburgerDefender}"
Text="{DynamicResource textHamburgerDefender}" Text="{DynamicResource HamburgerDefender}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 4" TextMargin="0 0 10 4"
Tag="{StaticResource tagCategoryDefender}" Tag="{StaticResource tagCategoryDefender}"
@ -140,9 +140,9 @@
Canvas.Top="320" Canvas.Left="0" Canvas.Top="320" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerContextMenu" <uc:HamburgerCategoryButton x:Name="HamburgerContextMenu"
Icon="{StaticResource iconHamburgerContextMenu}" Icon="{StaticResource iconHamburgerContextMenu}"
Text="{DynamicResource textHamburgerContextMenu}" Text="{DynamicResource HamburgerContextMenu}"
Width="{Binding ElementName=panelHamburger, Path=Width}" Width="{Binding ElementName=panelHamburger, Path=Width}"
TextMargin="0 0 10 3" TextMargin="0 0 10 3"
Tag="{StaticResource tagCategoryContextMenu}" Tag="{StaticResource tagCategoryContextMenu}"
@ -150,7 +150,7 @@
Canvas.Top="360" Canvas.Left="0" Canvas.Top="360" Canvas.Left="0"
MouseLeftButtonDown="ButtonHamburger_Click"/> MouseLeftButtonDown="ButtonHamburger_Click"/>
<uc:HamburgerCategoryFlashButton x:Name="buttonHamburgerApplySettings" <uc:HamburgerCategoryFlashButton x:Name="HamburgerApplySettings"
IsEnabled="False" IsEnabled="False"
IconVisibility="Collapsed" IconVisibility="Collapsed"
ViewboxPathData="{StaticResource iconHamburgerApplySettings}" ViewboxPathData="{StaticResource iconHamburgerApplySettings}"
@ -159,7 +159,7 @@
TextMargin="0 0 10 1" TextMargin="0 0 10 1"
Canvas.Bottom="0" Canvas.Left="0"/> Canvas.Bottom="0" Canvas.Left="0"/>
<uc:HamburgerCategoryButton x:Name="buttonHamburgerSaveSettings" <uc:HamburgerCategoryButton x:Name="HamburgerSaveSettings"
IsEnabled="False" IsEnabled="False"
IconVisibility="Collapsed" IconVisibility="Collapsed"
ViewboxPathData="{StaticResource iconHamburgerSaveSettings}" ViewboxPathData="{StaticResource iconHamburgerSaveSettings}"
@ -224,7 +224,7 @@
<StackPanel Name="panelTogglesCategoryContainer"> <StackPanel Name="panelTogglesCategoryContainer">
<StackPanel x:Name="panelTogglesCategoryPrivacy" <StackPanel Name="panelTogglesCategoryPrivacy"
Tag="{StaticResource tagCategoryPrivacy}" Tag="{StaticResource tagCategoryPrivacy}"
Visibility="Collapsed" /> Visibility="Collapsed" />

44
W10SS_GUI/MainWindow.xaml.cs

@ -16,6 +16,7 @@ using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
using W10SS_GUI.Controls; using W10SS_GUI.Controls;
using W10SS_GUI.Classes;
namespace W10SS_GUI namespace W10SS_GUI
{ {
@ -24,32 +25,23 @@ namespace W10SS_GUI
/// </summary> /// </summary>
public partial class MainWindow : Window public partial class MainWindow : Window
{ {
private Dictionary<string, StackPanel> TogglesCategoryPanels = new Dictionary<string, StackPanel>();
private AppCulture AppCulture = new AppCulture(); private AppCulture AppCulture = new AppCulture();
private Gui Gui;
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
SetUiLanguage();
InitializeVariables();
InitializeToggles();
} }
private void InitializeToggles() private void InitializeVariables()
{ {
//AppDomain.CurrentDomain.BaseDirectory Gui = new Gui();
} }
private void InitializeVariables() private void InitializeToggles()
{ {
ICollection tagsDictionaryValues = Application.Current.Resources.MergedDictionaries.Where(r => r.Source.Segments[2] == "tags.xaml").FirstOrDefault().Values; //AppDomain.CurrentDomain.BaseDirectory
foreach (var tagValue in tagsDictionaryValues)
{
TogglesCategoryPanels.Add(tagValue.ToString(), panelTogglesCategoryContainer.Children.OfType<StackPanel>().Where(p => p.Tag == tagValue).FirstOrDefault());
}
textTogglesHeader.Text = buttonHamburgerPrivacy.Text;
} }
private void SetUiLanguage() private void SetUiLanguage()
@ -59,21 +51,23 @@ namespace W10SS_GUI
private void ButtonHamburger_Click(object sender, MouseButtonEventArgs e) private void ButtonHamburger_Click(object sender, MouseButtonEventArgs e)
{ {
HamburgerCategoryButton button = sender as HamburgerCategoryButton; Gui.SetActivePanel(sender as HamburgerCategoryButton);
string tag = button.Tag.ToString();
foreach (KeyValuePair<string, StackPanel> kvp in TogglesCategoryPanels)
{
kvp.Value.Visibility = kvp.Key == tag ? Visibility.Visible : Visibility.Collapsed;
}
textTogglesHeader.Text = button.Text;
} }
private void ButtonHamburgerLanguageSettings_Click(object sender, MouseButtonEventArgs e) private void ButtonHamburgerLanguageSettings_Click(object sender, MouseButtonEventArgs e)
{ {
Resources.MergedDictionaries.Add(AppCulture.ChangeCulture()); Resources.MergedDictionaries.Add(AppCulture.ChangeCulture());
textTogglesHeader.Text = buttonHamburgerPrivacy.Text; textTogglesHeader.Text = Convert.ToString(Resources[Gui.LastClickedButtonName]);
Gui.SetHamburgerWidth(AppCulture.CurrentCultureName);
}
private void Window_Initialized(object sender, EventArgs e)
{
InitializeVariables();
SetUiLanguage();
Gui.SetHamburgerWidth(AppCulture.CurrentCultureName);
InitializeToggles();
Gui.SetActivePanel(HamburgerPrivacy);
} }
} }
} }

2
W10SS_GUI/Resource/animations.xaml

@ -3,7 +3,7 @@
xmlns:local="clr-namespace:W10SS_GUI.Resource"> xmlns:local="clr-namespace:W10SS_GUI.Resource">
<Storyboard x:Key="animationHamburgerOpen" > <Storyboard x:Key="animationHamburgerOpen" >
<DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)" To="{StaticResource panelHamburgerMaxWidth}" Duration="0:0:0.15" > <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)" To="{DynamicResource panelHamburgerMaxWidth}" Duration="0:0:0.15" >
<DoubleAnimation.EasingFunction> <DoubleAnimation.EasingFunction>
<SineEase EasingMode="EaseIn" /> <SineEase EasingMode="EaseIn" />
</DoubleAnimation.EasingFunction> </DoubleAnimation.EasingFunction>

5
W10SS_GUI/Resource/controlsSize.xaml

@ -16,8 +16,9 @@
<system:Double x:Key="textHamburgerSize">16</system:Double> <system:Double x:Key="textHamburgerSize">16</system:Double>
<system:Double x:Key="panelHamburgerMinWidth">40</system:Double> <system:Double x:Key="panelHamburgerMinWidth">40</system:Double>
<system:Double x:Key="panelHamburgerWidth">200</system:Double> <system:Double x:Key="panelHamburgerMaxWidth">250</system:Double>
<system:Double x:Key="panelHamburgerMaxWidth">200</system:Double> <system:Double x:Key="panelHamburgerRuMaxWidth">250</system:Double>
<system:Double x:Key="panelHamburgerEnMaxWidth">200</system:Double>
<system:Double x:Key="togglesCategoryPanelWidth">500</system:Double> <system:Double x:Key="togglesCategoryPanelWidth">500</system:Double>
<system:Double x:Key="togglesCategoryPanelHeaderHeight">40</system:Double> <system:Double x:Key="togglesCategoryPanelHeaderHeight">40</system:Double>

2
W10SS_GUI/W10SS_GUI.csproj

@ -112,6 +112,7 @@
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Include="Classes\AppCulture.cs" /> <Compile Include="Classes\AppCulture.cs" />
<Compile Include="Classes\Tags.cs" />
<Compile Include="Controls\HamburgerCategoryButton.xaml.cs"> <Compile Include="Controls\HamburgerCategoryButton.xaml.cs">
<DependentUpon>HamburgerCategoryButton.xaml</DependentUpon> <DependentUpon>HamburgerCategoryButton.xaml</DependentUpon>
</Compile> </Compile>
@ -121,6 +122,7 @@
<Compile Include="Controls\ToggleSwitch.xaml.cs"> <Compile Include="Controls\ToggleSwitch.xaml.cs">
<DependentUpon>ToggleSwitch.xaml</DependentUpon> <DependentUpon>ToggleSwitch.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Classes\Gui.cs" />
<Compile Include="MainWindow.xaml.cs"> <Compile Include="MainWindow.xaml.cs">
<DependentUpon>MainWindow.xaml</DependentUpon> <DependentUpon>MainWindow.xaml</DependentUpon>
<SubType>Code</SubType> <SubType>Code</SubType>

Loading…
Cancel
Save