aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs
blob: 609b6175015c067f51ae269d5da0ac76491782f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using System;
using System.Windows.Forms;
using ShiftOS.Engine;
using ShiftOS.Engine.WindowManager;
using System.Drawing;
using System.IO;
using Newtonsoft.Json;

namespace ShiftOS.Main.ShiftOS.Apps
{
    public partial class Shifter : UserControl
    {
        public int colorType; //This is a check to see what option was chosen.
        public Shifter()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            colorType = 1;
            ShiftWM.Init(new SelectColor(), "Select a color", Properties.Resources.iconColourPicker_fw.ToIcon());
        }

        private void setDefaultSkin(object sender, EventArgs e)
        {
            setBorderColor(Color.FromArgb(64, 64, 64));
            ShiftSkinData.btnCloseColor = Color.Black;
            ShiftSkinData.btnMaxColor = Color.Black;
            ShiftSkinData.btnMinColor = Color.Black;
            button5_Click(sender, e);
        }

        private void setColorSkin(object sender, EventArgs e)
        {
            setBorderColor(Color.Blue);
            ShiftSkinData.btnCloseColor = Color.Red;
            ShiftSkinData.btnMaxColor = Color.Yellow;
            ShiftSkinData.btnMinColor = Color.Green;
            ShiftSkinData.btnCloseHoverColor = Color.FromArgb(255, 102, 102);
            ShiftSkinData.btnMaxHoverColor = Color.FromArgb(255, 255, 153);
            ShiftSkinData.btnMinColor = Color.FromArgb(102, 255, 102);
            button5_Click(sender, e);
        }

        private void setRandomSkin(object sender, EventArgs e)
        {
            Random rnd = new Random();
            setBorderColor(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255)));
            ShiftSkinData.btnCloseColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            ShiftSkinData.btnMaxColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            ShiftSkinData.btnMinColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            ShiftSkinData.btnCloseHoverColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            ShiftSkinData.btnMaxHoverColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            ShiftSkinData.btnMinHoverColor = Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255));
            button5_Click(sender, e);
        }

        // SetBorderColor
        public void setBorderColor(Color borderColor)
        {
            ShiftSkinData.leftTopCornerColor = borderColor;
            ShiftSkinData.titleBarColor = borderColor;
            ShiftSkinData.rightTopCornerColor = borderColor;
            ShiftSkinData.leftSideColor = borderColor;
            ShiftSkinData.rightSideColor = borderColor;
            ShiftSkinData.leftBottomCornerColor = borderColor;
            ShiftSkinData.bottomSideColor = borderColor;
            ShiftSkinData.rightBottomCornerColor = borderColor;
        }

        private void button5_Click(object sender, EventArgs e)
        {

            foreach (var window in ShiftWM.Windows)
            {
                window.Invoke(new Action(() => window.titleBar.BackColor = ShiftSkinData.titleBarColor));
                window.Invoke(new Action(() => window.leftTopCorner.BackColor = ShiftSkinData.leftTopCornerColor));
                window.Invoke(new Action(() => window.rightTopCorner.BackColor = ShiftSkinData.rightTopCornerColor));
                window.Invoke(new Action(() => window.leftSide.BackColor = ShiftSkinData.leftSideColor));
                window.Invoke(new Action(() => window.rightSide.BackColor = ShiftSkinData.rightSideColor));
                window.Invoke(new Action(() => window.leftBottomCorner.BackColor = ShiftSkinData.leftBottomCornerColor));
                window.Invoke(new Action(() => window.bottomSide.BackColor = ShiftSkinData.bottomSideColor));
                window.Invoke(new Action(() => window.rightBottomCorner.BackColor = ShiftSkinData.rightBottomCornerColor));
                window.Invoke(new Action(() => window.btnClose.BackColor = ShiftSkinData.btnCloseColor));
                window.Invoke(new Action(() => window.btnMax.BackColor = ShiftSkinData.btnMaxColor));
                window.Invoke(new Action(() => window.btnMin.BackColor = ShiftSkinData.btnMinColor));
                
            }
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            Color[] shiftColors = new Color[14];
            shiftColors[0] = ShiftSkinData.leftTopCornerColor;
            shiftColors[1] = ShiftSkinData.titleBarColor;
            shiftColors[2] = ShiftSkinData.rightTopCornerColor;
            shiftColors[3] = ShiftSkinData.leftSideColor;
            shiftColors[4] = ShiftSkinData.rightSideColor;
            shiftColors[5] = ShiftSkinData.leftBottomCornerColor;
            shiftColors[6] = ShiftSkinData.bottomSideColor;
            shiftColors[7] = ShiftSkinData.rightBottomCornerColor;
            shiftColors[8] = ShiftSkinData.btnCloseColor;
            shiftColors[9] = ShiftSkinData.btnMaxColor;
            shiftColors[10] = ShiftSkinData.btnMinColor;
            shiftColors[11] = ShiftSkinData.btnCloseHoverColor;
            shiftColors[12] = ShiftSkinData.btnMaxHoverColor;
            shiftColors[13] = ShiftSkinData.btnMinHoverColor;
            File.WriteAllText(@"C:\Users\Public\Documents\Skin.json", JsonConvert.SerializeObject(shiftColors));
            ShiftWM.StartInfoboxSession("Saved Skin", "Saved Skin to C:\\Users\\Public\\Documents\\Skin.json", InfoboxTemplate.ButtonType.Ok);
        }
    }
}