diff options
| author | Michael <[email protected]> | 2017-01-08 09:57:10 -0500 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-01-08 09:57:10 -0500 |
| commit | f30dcf5ef41d54c588d7b42c48be8d941abba72e (patch) | |
| tree | 7705f99b965673b1c034ac2b1c56e65072c827df /ShiftOS.Wpf/Applications/SkinLoader.xaml.cs | |
| parent | 69dfad54724d4176dfce238a8d7e73970e6eef24 (diff) | |
| download | shiftos_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.cs | 176 |
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) + { + + } + } +} |
