aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Wpf/Applications/SkinLoader.xaml.cs
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-01-08 09:57:10 -0500
committerMichael <[email protected]>2017-01-08 09:57:10 -0500
commitf30dcf5ef41d54c588d7b42c48be8d941abba72e (patch)
tree7705f99b965673b1c034ac2b1c56e65072c827df /ShiftOS.Wpf/Applications/SkinLoader.xaml.cs
parent69dfad54724d4176dfce238a8d7e73970e6eef24 (diff)
downloadshiftos_thereturn-f30dcf5ef41d54c588d7b42c48be8d941abba72e.tar.gz
shiftos_thereturn-f30dcf5ef41d54c588d7b42c48be8d941abba72e.tar.bz2
shiftos_thereturn-f30dcf5ef41d54c588d7b42c48be8d941abba72e.zip
Initial upload
Diffstat (limited to 'ShiftOS.Wpf/Applications/SkinLoader.xaml.cs')
-rw-r--r--ShiftOS.Wpf/Applications/SkinLoader.xaml.cs176
1 files changed, 176 insertions, 0 deletions
diff --git a/ShiftOS.Wpf/Applications/SkinLoader.xaml.cs b/ShiftOS.Wpf/Applications/SkinLoader.xaml.cs
new file mode 100644
index 0000000..1facc89
--- /dev/null
+++ b/ShiftOS.Wpf/Applications/SkinLoader.xaml.cs
@@ -0,0 +1,176 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Newtonsoft.Json;
+using ShiftOS.Objects.ShiftFS;
+using ShiftOS.Engine;
+
+namespace ShiftOS.Wpf.Applications
+{
+ /// <summary>
+ /// Interaction logic for SkinLoader.xaml
+ /// </summary>
+ [Launcher("Skin Loader", true, "al_skin_loader")]
+ [RequiresUpgrade("skinning")]
+ public partial class SkinLoader : UserControl, IShiftOSWindow
+ {
+ public SkinLoader()
+ {
+ InitializeComponent();
+ }
+
+ private Skin _mySkin = new Skin();
+
+ private void close_Click(object sender, RoutedEventArgs e)
+ {
+ AppearanceManager.Close(this);
+ }
+
+ private void loaddefault_Click(object sender, RoutedEventArgs e)
+ {
+ _mySkin = new Skin();
+ Setup();
+ }
+
+ private void import_Click(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void export_Click(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ public void Setup()
+ {
+ SetupWindowUpgradeables();
+ SetupWindowSkin();
+ }
+
+ public void SetupWindowSkin()
+ {
+ if (_mySkin.ShowTitleCorners)
+ {
+ titleleft.Visibility = Visibility.Visible;
+ titleright.Visibility = Visibility.Visible;
+ }
+ else
+ {
+ titleleft.Visibility = Visibility.Hidden;
+ titleright.Visibility = Visibility.Hidden;
+ }
+
+ pgcontents.Background = _mySkin.ControlColor.CreateBrush();
+ pgcontents.Foreground = _mySkin.ControlTextColor.CreateBrush();
+
+
+ titlemaster.Height = _mySkin.TitlebarHeight;
+ if (_mySkin.TitleTextCentered == true)
+ {
+ titletext.SetValue(Canvas.LeftProperty, (double)(titlemaster.ActualWidth - titletext.ActualWidth) / 2);
+ titletext.SetValue(Canvas.TopProperty, (double)_mySkin.TitleTextLeft.Y);
+ }
+ else
+ {
+ titletext.SetValue(Canvas.LeftProperty, (double)_mySkin.TitleTextLeft.X);
+ titletext.SetValue(Canvas.TopProperty, (double)_mySkin.TitleTextLeft.Y);
+ }
+
+ titletext.SetFont(_mySkin.TitleFont);
+
+ titletext.Foreground = _mySkin.TitleTextColor.CreateBrush();
+
+ titlebar.Background = _mySkin.TitleBackgroundColor.CreateBrush();
+
+ close.SetValue(Canvas.LeftProperty, this.ActualWidth - _mySkin.CloseButtonSize.Width - _mySkin.CloseButtonFromSide.X);
+ close.SetValue(Canvas.TopProperty, (double)_mySkin.CloseButtonFromSide.Y);
+
+ min.SetValue(Canvas.LeftProperty, this.ActualWidth - _mySkin.MinimizeButtonSize.Width - _mySkin.MinimizeButtonFromSide.X);
+ min.SetValue(Canvas.TopProperty, (double)_mySkin.MinimizeButtonFromSide.Y);
+
+ max.SetValue(Canvas.LeftProperty, this.ActualWidth - _mySkin.MaximizeButtonSize.Width - _mySkin.MaximizeButtonFromSide.X);
+ max.SetValue(Canvas.TopProperty, (double)_mySkin.MaximizeButtonFromSide.Y);
+
+ close.Background = _mySkin.CloseButtonColor.CreateBrush();
+ min.Background = _mySkin.MinimizeButtonColor.CreateBrush();
+ max.Background = _mySkin.MaximizeButtonColor.CreateBrush();
+
+ close.BorderThickness = new Thickness(0.0);
+ min.BorderThickness = new Thickness(0.0);
+ max.BorderThickness = new Thickness(0.0);
+
+ borderleft.Background = _mySkin.BorderLeftBackground.CreateBrush();
+ borderright.Background = _mySkin.BorderRightBackground.CreateBrush();
+ borderbottom.Background = _mySkin.BorderBottomBackground.CreateBrush();
+ borderbottoml.Background = _mySkin.BorderBottomLeftBackground.CreateBrush();
+ borderbottomr.Background = _mySkin.BorderBottomRightBackground.CreateBrush();
+
+ borderleft.Width = _mySkin.LeftBorderWidth;
+ borderright.Width = _mySkin.RightBorderWidth;
+ bottommaster.Height = _mySkin.BottomBorderWidth;
+
+ }
+
+
+ public void SetupWindowUpgradeables()
+ {
+ close.Upgrade("close_button");
+ max.Upgrade("maximize_button");
+ min.Upgrade("minimize_button");
+
+ titlemaster.Upgrade("wm_titlebar");
+
+ borderleft.Upgrade("wm_free_placement");
+ borderright.Upgrade("wm_free_placement");
+ borderbottom.Upgrade("wm_free_placement");
+ borderbottoml.Upgrade("wm_free_placement");
+ borderbottomr.Upgrade("wm_free_placement");
+
+
+ }
+
+
+ private void apply_Click(object sender, RoutedEventArgs e)
+ {
+ Utils.WriteAllText(Paths.GetPath("skin.json"), JsonConvert.SerializeObject(_mySkin));
+ SkinEngine.LoadSkin();
+ }
+
+ public void OnLoad()
+ {
+ this.SetTitle("Skin Loader");
+ _mySkin = JsonConvert.DeserializeObject<Skin>(JsonConvert.SerializeObject(SkinEngine.LoadedSkin));
+ }
+
+ public void OnSkinLoad()
+ {
+ Setup();
+ }
+
+ public bool OnUnload()
+ {
+ return true;
+ }
+
+ public void OnUpgrade()
+ {
+ }
+
+ public void apps_Click(object s, RoutedEventArgs a)
+ {
+
+ }
+ }
+}