aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/AlternateDesktop.cs
diff options
context:
space:
mode:
authorMichael VanOverbeek <[email protected]>2016-04-09 13:16:39 -0400
committerMichael VanOverbeek <[email protected]>2016-04-09 13:16:39 -0400
commit14edb9eade65806b531e51a0ed1fba7c62ba848e (patch)
treeb8a0124d66ca9d414870a27de103e7be9a748081 /source/WindowsFormsApplication1/AlternateDesktop.cs
parentcfb8690c6fbbb0595f8a3a4cd9f3210054a9680d (diff)
downloadshiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.tar.gz
shiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.tar.bz2
shiftos-c--14edb9eade65806b531e51a0ed1fba7c62ba848e.zip
Uploaded source code for ShiftOS 0.1.1 Beta 2.3
Initial commit of repository.
Diffstat (limited to 'source/WindowsFormsApplication1/AlternateDesktop.cs')
-rw-r--r--source/WindowsFormsApplication1/AlternateDesktop.cs165
1 files changed, 165 insertions, 0 deletions
diff --git a/source/WindowsFormsApplication1/AlternateDesktop.cs b/source/WindowsFormsApplication1/AlternateDesktop.cs
new file mode 100644
index 0000000..f3c7b73
--- /dev/null
+++ b/source/WindowsFormsApplication1/AlternateDesktop.cs
@@ -0,0 +1,165 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace ShiftOS
+{
+ public partial class AlternateDesktop : Form
+ {
+ public AlternateDesktop()
+ {
+ InitializeComponent();
+ }
+
+ private void ClockTick_Tick(object sender, EventArgs e)
+ {
+ lbclock.Text = API.GetTime();
+
+ }
+
+ public void GetApps()
+ {
+ pnlsidebar.Controls.Clear();
+ API.GetAppLauncherItems();
+ Panel appbtn = new Panel();
+ appbtn.BackColor = Color.Black;
+ appbtn.Size = new Size(32, 32);
+ appbtn.Visible = true;
+ appbtn.Name = "ashow";
+ appbtn.Click += new EventHandler(this.SidebarButton_Click);
+
+ pnlsidebar.Controls.Add(appbtn);
+ foreach(ApplauncherItem itm in API.AppLauncherItems)
+ {
+ if(itm.Display == true)
+ {
+ Panel btn = new Panel();
+ btn.BackColor = Color.Gray;
+ btn.BackgroundImage = itm.Icon;
+ btn.BackgroundImageLayout = ImageLayout.Stretch;
+ btn.Size = new Size(32, 32);
+ btn.Name = $"al_{new Random().Next(1000, 9999)}";
+ btn.Tag = itm;
+ btn.MouseMove += new MouseEventHandler(this.SidebarButton_Hover);
+ btn.MouseLeave += new EventHandler(this.SidebarButton_Leave);
+ btn.Click += new EventHandler(this.SidebarButton_Click);
+ pnlsidebar.Controls.Add(btn);
+ btn.Show();
+ }
+ }
+ foreach(PanelButton pbtn in API.PanelButtons)
+ {
+ Panel btn = new Panel();
+ btn.Tag = pbtn;
+ btn.Name = $"pnl_{new Random().Next(1000, 9999)}";
+ btn.BackgroundImage = pbtn.Icon;
+ btn.BackgroundImageLayout = ImageLayout.Stretch;
+ btn.BackColor = Color.Black;
+ btn.Size = new Size(32, 32);
+ btn.MouseMove += new MouseEventHandler(this.SidebarButton_Hover);
+ btn.MouseLeave += new EventHandler(this.SidebarButton_Leave);
+ btn.Click += new EventHandler(this.SidebarButton_Click);
+ pnlsidebar.Controls.Add(btn);
+ btn.Show();
+ }
+ }
+
+ public void SidebarButton_Hover(object sender, MouseEventArgs e)
+ {
+ Panel s = (Panel)sender;
+ int labelLoc = pnlcontext.Height + (s.Bottom - (s.Height / 2));
+ lblapplabel.Location = new Point(pnlsidebar.Width + 5, labelLoc);
+ if(s.Name.Contains("al"))
+ {
+ var itm = (ApplauncherItem)s.Tag;
+ lblapplabel.Text = itm.Name;
+ }
+ else
+ {
+ var itm = (PanelButton)s.Tag;
+ lblapplabel.Text = itm.Name;
+ }
+ lblapplabel.Visible = true;
+ }
+
+ public void SidebarButton_Click(object sender, EventArgs e)
+ {
+ var s = (Panel)sender;
+ if (s.Name.Contains("al"))
+ {
+ var itm = (ApplauncherItem)s.Tag;
+ var li = new LuaInterpreter();
+ li.mod(itm.Lua);
+ li = null;
+ }
+ else if(s.Name.Contains("ashow"))
+ {
+ pnlapplauncher.Show();
+ foreach(Control ctrl in this.Controls)
+ {
+ ctrl.MouseDown += (object se, MouseEventArgs a) =>
+ {
+ pnlapplauncher.Hide();
+ };
+ }
+ }
+ else
+ {
+ try
+ {
+ PanelButton pbtn = (PanelButton)s.Tag;
+ API.ToggleMinimized(pbtn.FormToManage);
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+ }
+
+ public void SidebarButton_Leave(object sender, EventArgs e)
+ {
+ lblapplabel.Hide();
+ }
+
+ private void AlternateDesktop_Load(object sender, EventArgs e)
+ {
+ this.ShowInTaskbar = false;
+ this.FormBorderStyle = FormBorderStyle.None;
+ this.WindowState = FormWindowState.Maximized;
+ GetApps();
+ }
+
+ private void apptick_Tick(object sender, EventArgs e)
+ {
+ //GetApps();
+ }
+
+ private bool unity = false;
+
+ public void ToggleUnityMode()
+ {
+ if (unity == false)
+ {
+ unity = true;
+ this.BackColor = Skinning.Utilities.globaltransparencycolour;
+ this.BackgroundImage = null;
+ this.TransparencyKey = Skinning.Utilities.globaltransparencycolour;
+ }
+ else
+ {
+ unity = false;
+ this.BackColor = API.CurrentSkin.desktopbackgroundcolour;
+ this.BackgroundImage = API.CurrentSkinImages.desktopbackground;
+ this.BackgroundImageLayout = (ImageLayout)API.CurrentSkin.desktopbackgroundlayout;
+ this.TransparencyKey = Skinning.Utilities.globaltransparencycolour;
+ }
+ }
+ }
+}