diff options
Diffstat (limited to 'ShiftOS.Main/ShiftOS')
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/FileSkimmer.Designer.cs | 257 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs | 104 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/FileSkimmer.resx | 163 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs | 6 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs | 6 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Apps/TestForm.cs | 6 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Desktop.Designer.cs | 185 | ||||
| -rw-r--r-- | ShiftOS.Main/ShiftOS/Desktop.cs | 66 |
8 files changed, 661 insertions, 132 deletions
diff --git a/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.Designer.cs b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.Designer.cs new file mode 100644 index 0000000..f2e0d76 --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.Designer.cs @@ -0,0 +1,257 @@ +using System.Windows.Forms; + +namespace ShiftOS.Main.ShiftOS.Apps +{ + partial class FileSkimmer + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FileSkimmer)); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.breadcrumbsBar = new System.Windows.Forms.ToolStrip(); + this.toolStrip2 = new System.Windows.Forms.ToolStrip(); + this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); + this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); + this.largeIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.smallIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.detailsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.listToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.listView1 = new System.Windows.Forms.ListView(); + this.textFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.renameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuStrip1.SuspendLayout(); + this.toolStrip2.SuspendLayout(); + this.contextMenuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(1541, 33); + this.menuStrip1.TabIndex = 1; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.newFileToolStripMenuItem, + this.newFolderToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(50, 29); + this.fileToolStripMenuItem.Text = "File"; + // + // newFileToolStripMenuItem + // + this.newFileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.textFileToolStripMenuItem}); + this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem"; + this.newFileToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.newFileToolStripMenuItem.Text = "New File"; + // + // newFolderToolStripMenuItem + // + this.newFolderToolStripMenuItem.Name = "newFolderToolStripMenuItem"; + this.newFolderToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.newFolderToolStripMenuItem.Text = "New Folder"; + // + // breadcrumbsBar + // + this.breadcrumbsBar.ImageScalingSize = new System.Drawing.Size(24, 24); + this.breadcrumbsBar.Location = new System.Drawing.Point(0, 33); + this.breadcrumbsBar.Name = "breadcrumbsBar"; + this.breadcrumbsBar.Size = new System.Drawing.Size(1541, 25); + this.breadcrumbsBar.TabIndex = 2; + this.breadcrumbsBar.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.breadcrumbsBar_ItemClicked); + // + // toolStrip2 + // + this.toolStrip2.ImageScalingSize = new System.Drawing.Size(24, 24); + this.toolStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripButton1, + this.toolStripDropDownButton1}); + this.toolStrip2.Location = new System.Drawing.Point(0, 58); + this.toolStrip2.Name = "toolStrip2"; + this.toolStrip2.Size = new System.Drawing.Size(1541, 32); + this.toolStrip2.TabIndex = 3; + this.toolStrip2.Text = "toolbar"; + // + // toolStripButton1 + // + this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image"))); + this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButton1.Name = "toolStripButton1"; + this.toolStripButton1.Size = new System.Drawing.Size(28, 29); + this.toolStripButton1.Text = "^"; + this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click); + // + // toolStripDropDownButton1 + // + this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.largeIconsToolStripMenuItem, + this.smallIconsToolStripMenuItem, + this.detailsToolStripMenuItem, + this.listToolStripMenuItem, + this.tilesToolStripMenuItem}); + this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); + this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; + this.toolStripDropDownButton1.Size = new System.Drawing.Size(119, 29); + this.toolStripDropDownButton1.Text = "View Mode"; + this.toolStripDropDownButton1.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.toolStripDropDownButton1_DropDownItemClicked); + // + // largeIconsToolStripMenuItem + // + this.largeIconsToolStripMenuItem.Name = "largeIconsToolStripMenuItem"; + this.largeIconsToolStripMenuItem.Size = new System.Drawing.Size(186, 30); + this.largeIconsToolStripMenuItem.Text = "Large Icons"; + // + // smallIconsToolStripMenuItem + // + this.smallIconsToolStripMenuItem.Name = "smallIconsToolStripMenuItem"; + this.smallIconsToolStripMenuItem.Size = new System.Drawing.Size(186, 30); + this.smallIconsToolStripMenuItem.Text = "Small Icons"; + // + // detailsToolStripMenuItem + // + this.detailsToolStripMenuItem.Name = "detailsToolStripMenuItem"; + this.detailsToolStripMenuItem.Size = new System.Drawing.Size(186, 30); + this.detailsToolStripMenuItem.Text = "Details"; + // + // listToolStripMenuItem + // + this.listToolStripMenuItem.Name = "listToolStripMenuItem"; + this.listToolStripMenuItem.Size = new System.Drawing.Size(186, 30); + this.listToolStripMenuItem.Text = "List"; + // + // tilesToolStripMenuItem + // + this.tilesToolStripMenuItem.Name = "tilesToolStripMenuItem"; + this.tilesToolStripMenuItem.Size = new System.Drawing.Size(186, 30); + this.tilesToolStripMenuItem.Text = "Tiles"; + // + // listView1 + // + this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView1.Location = new System.Drawing.Point(0, 90); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(1541, 696); + this.listView1.TabIndex = 4; + this.listView1.UseCompatibleStateImageBehavior = false; + this.listView1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseClick); + this.listView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDoubleClick); + // + // textFileToolStripMenuItem + // + this.textFileToolStripMenuItem.Name = "textFileToolStripMenuItem"; + this.textFileToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.textFileToolStripMenuItem.Text = "Text file"; + this.textFileToolStripMenuItem.Click += new System.EventHandler(this.textFileToolStripMenuItem_Click); + // + // contextMenuStrip1 + // + this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openToolStripMenuItem, + this.renameToolStripMenuItem, + this.deleteToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(148, 94); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(147, 30); + this.openToolStripMenuItem.Text = "Open"; + // + // renameToolStripMenuItem + // + this.renameToolStripMenuItem.Name = "renameToolStripMenuItem"; + this.renameToolStripMenuItem.Size = new System.Drawing.Size(147, 30); + this.renameToolStripMenuItem.Text = "Rename"; + // + // deleteToolStripMenuItem + // + this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; + this.deleteToolStripMenuItem.Size = new System.Drawing.Size(147, 30); + this.deleteToolStripMenuItem.Text = "Delete"; + // + // FileSkimmer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.listView1); + this.Controls.Add(this.toolStrip2); + this.Controls.Add(this.breadcrumbsBar); + this.Controls.Add(this.menuStrip1); + this.Name = "FileSkimmer"; + this.Size = new System.Drawing.Size(1541, 786); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.toolStrip2.ResumeLayout(false); + this.toolStrip2.PerformLayout(); + this.contextMenuStrip1.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStrip breadcrumbsBar; + private System.Windows.Forms.ToolStrip toolStrip2; + private System.Windows.Forms.ListView listView1; + private System.Windows.Forms.ToolStripDropDownButton toolStripDropDownButton1; + private System.Windows.Forms.ToolStripMenuItem largeIconsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem smallIconsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem detailsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem listToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem tilesToolStripMenuItem; + private System.Windows.Forms.ToolStripButton toolStripButton1; + private ToolStripMenuItem fileToolStripMenuItem; + private ToolStripMenuItem newFileToolStripMenuItem; + private ToolStripMenuItem newFolderToolStripMenuItem; + private ToolStripMenuItem textFileToolStripMenuItem; + private ContextMenuStrip contextMenuStrip1; + private ToolStripMenuItem openToolStripMenuItem; + private ToolStripMenuItem renameToolStripMenuItem; + private ToolStripMenuItem deleteToolStripMenuItem; + } +} diff --git a/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs new file mode 100644 index 0000000..ae26b2d --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Windows.Forms; +using ShiftOS.Engine.Misc; +using ShiftOS.Engine.ShiftFS; +using ShiftOS.Engine.WindowManager; +using System.Linq; + +namespace ShiftOS.Main.ShiftOS.Apps +{ + public partial class FileSkimmer : UserControl, IShiftWindowExtensions + { + ShiftDirectory _currentDirectory; + + public FileSkimmer() + { + InitializeComponent(); + } + + public void OnLoaded(ShiftWindow window) + { + Debug.WriteLine(ShiftFS.Drives.Count); + listView1.ShowDrivesList(window); + } + + void toolStripDropDownButton1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + switch (e.ClickedItem.Text) + { + case "Small Icons": + listView1.View = View.SmallIcon; + break; + case "Details": + listView1.View = View.Details; + break; + case "List": + listView1.View = View.List; + break; + case "Tiles": + listView1.View = View.Tile; + break; + default: + listView1.View = View.LargeIcon; + break; + } + } + + void listView1_MouseDoubleClick(object sender, MouseEventArgs e) + { + var hit = listView1.HitTest(e.Location); + + if (!(hit.Item.Tag is ShiftDirectory dir)) return; + + listView1.Items.Clear(); + listView1.DisplayShiftFolder(dir); + _currentDirectory = dir; + breadcrumbsBar.Items.Add(new ToolStripButton(dir.Name) { Tag = dir }); + } + + void toolStripButton1_Click(object sender, EventArgs e) + { + listView1.Items.Clear(); + if (breadcrumbsBar.Items.Count > 1) + { + breadcrumbsBar.Items.Remove(breadcrumbsBar.Items.OfType<ToolStripItem>().Last()); + var dir = breadcrumbsBar.Items.OfType<ToolStripItem>().Last().Tag as ShiftDirectory; + _currentDirectory = dir; + listView1.DisplayShiftFolder(dir); + } + else + { + breadcrumbsBar.Items.Clear(); + listView1.ShowDrivesList(); + } + } + + void breadcrumbsBar_ItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + var items = new List<ToolStripItem>(breadcrumbsBar.Items.OfType<ToolStripItem>() + .Where((_, y) => y > breadcrumbsBar.Items.IndexOf(e.ClickedItem))); + + foreach (var item in items) + { + breadcrumbsBar.Items.Remove(item); + } + + toolStripButton1_Click(null, EventArgs.Empty); + } + + void textFileToolStripMenuItem_Click(object sender, EventArgs e) + { + _currentDirectory.Add(new ShiftFile<string>("Text file")); + } + + void listView1_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Right) + { + contextMenuStrip1.Show(MousePosition); + } + } + } +} diff --git a/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.resx b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.resx new file mode 100644 index 0000000..97a52d3 --- /dev/null +++ b/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.resx @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>175, 17</value> + </metadata> + <metadata name="breadcrumbsBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>331, 17</value> + </metadata> + <metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>473, 17</value> + </metadata> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== +</value> + </data> + <data name="toolStripDropDownButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== +</value> + </data> + <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>615, 17</value> + </metadata> +</root>
\ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs index 543529a..5e335b0 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/SelectColor.cs @@ -28,20 +28,20 @@ namespace ShiftOS.Main.ShiftOS.Apps.ShifterStuff _finalColor = Color.FromArgb(_colorType1, _colorType2, _colorType3); - foreach (var window in ShiftWm.Windows) + foreach (var window in ShiftWM.Windows) { window.Invoke(new Action(() => window.titleBar.BackColor = _finalColor)); } - ShiftWm.StartInfoboxSession( + ShiftWM.StartInfoboxSession( "Success!", $"Changed color to:\r\n{_colorType1}, {_colorType2}, {_colorType3}.", InfoboxTemplate.ButtonType.Ok); } catch (Exception) { - ShiftWm.StartInfoboxSession("Error!", "An error occured while setting the color.", InfoboxTemplate.ButtonType.Ok); + ShiftWM.StartInfoboxSession("Error!", "An error occured while setting the color.", InfoboxTemplate.ButtonType.Ok); } return _finalColor; } diff --git a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs index f7c9752..df093f0 100644 --- a/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs +++ b/ShiftOS.Main/ShiftOS/Apps/ShifterStuff/Shifter.cs @@ -21,7 +21,7 @@ namespace ShiftOS.Main.ShiftOS.Apps.ShifterStuff void button1_Click(object sender, EventArgs e) { ColorType = 1; - ShiftWm.Init(new SelectColor(), "Select a color", Resources.iconColourPicker_fw.ToIcon()); + ShiftWM.Init(new SelectColor(), "Select a color", Resources.iconColourPicker_fw); } void SetDefaultSkin(object sender, EventArgs e) @@ -73,7 +73,7 @@ namespace ShiftOS.Main.ShiftOS.Apps.ShifterStuff void button5_Click(object sender, EventArgs e) { - foreach (var window in ShiftWm.Windows) + foreach (var window in ShiftWM.Windows) { window.Invoke(new Action(() => window.titleBar.BackColor = ShiftSkinData.TitleBarColor)); window.Invoke(new Action(() => window.leftTopCorner.BackColor = ShiftSkinData.LeftTopCornerColor)); @@ -107,7 +107,7 @@ namespace ShiftOS.Main.ShiftOS.Apps.ShifterStuff shiftColors[12] = ShiftSkinData.BtnMaxHoverColor; shiftColors[13] = ShiftSkinData.BtnMinHoverColor; File.WriteAllText(@"C:\Users\Public\Documents\Skin.json", JsonConvert.SerializeObject(shiftColors)); - ShiftWm.StartInfoboxSession( + ShiftWM.StartInfoboxSession( "Saved Skin", "Saved Skin to C:\\Users\\Public\\Documents\\Skin.json", InfoboxTemplate.ButtonType.Ok); diff --git a/ShiftOS.Main/ShiftOS/Apps/TestForm.cs b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs index 5929a66..a0c12c0 100644 --- a/ShiftOS.Main/ShiftOS/Apps/TestForm.cs +++ b/ShiftOS.Main/ShiftOS/Apps/TestForm.cs @@ -17,11 +17,11 @@ namespace ShiftOS.Main.ShiftOS.Apps void Button1_Click(object sender, EventArgs e) { var demo = new ShiftDemo(); - ShiftWm.Init(demo, textBox1.Text, null); - ShiftWm.StartInfoboxSession(textBox1.Text, textBox2.Text, InfoboxTemplate.ButtonType.Ok); + ShiftWM.Init(demo, textBox1.Text, null); + ShiftWM.StartInfoboxSession(textBox1.Text, textBox2.Text, InfoboxTemplate.ButtonType.Ok); } void button2_Click(object sender, EventArgs e) - => ShiftWm.Init(new Shifter(), "Shifter", Resources.iconShifter.ToIcon()); + => ShiftWM.Init(new Shifter(), "Shifter", Resources.iconShifter); } }
\ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.Designer.cs b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs index 9a7a4fb..98cd5e7 100644 --- a/ShiftOS.Main/ShiftOS/Desktop.Designer.cs +++ b/ShiftOS.Main/ShiftOS/Desktop.Designer.cs @@ -28,96 +28,104 @@ /// </summary> private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.listView1 = new System.Windows.Forms.ListView(); - this.taskbar = new System.Windows.Forms.ToolStrip(); - this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); - this.terminalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.taskbarClock = new System.Windows.Forms.ToolStripLabel(); - this.timer1 = new System.Windows.Forms.Timer(this.components); - this.textPadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.taskbar.SuspendLayout(); - this.SuspendLayout(); - // - // listView1 - // - this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.listView1.Location = new System.Drawing.Point(0, 0); - this.listView1.Margin = new System.Windows.Forms.Padding(2); - this.listView1.Name = "listView1"; - this.listView1.Size = new System.Drawing.Size(1277, 684); - this.listView1.TabIndex = 0; - this.listView1.UseCompatibleStateImageBehavior = false; - // - // taskbar - // - this.taskbar.Dock = System.Windows.Forms.DockStyle.Bottom; - this.taskbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - this.taskbar.ImageScalingSize = new System.Drawing.Size(24, 24); - this.taskbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + this.listView1 = new System.Windows.Forms.ListView(); + this.taskbar = new System.Windows.Forms.ToolStrip(); + this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); + this.terminalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.textPadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.taskbarClock = new System.Windows.Forms.ToolStripLabel(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.fileSkimmerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.taskbar.SuspendLayout(); + this.SuspendLayout(); + // + // listView1 + // + this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView1.Location = new System.Drawing.Point(0, 0); + this.listView1.Name = "listView1"; + this.listView1.Size = new System.Drawing.Size(1916, 1052); + this.listView1.TabIndex = 0; + this.listView1.UseCompatibleStateImageBehavior = false; + // + // taskbar + // + this.taskbar.Dock = System.Windows.Forms.DockStyle.Bottom; + this.taskbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.taskbar.ImageScalingSize = new System.Drawing.Size(24, 24); + this.taskbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripDropDownButton1, this.taskbarClock}); - this.taskbar.Location = new System.Drawing.Point(0, 653); - this.taskbar.Name = "taskbar"; - this.taskbar.Size = new System.Drawing.Size(1277, 31); - this.taskbar.TabIndex = 1; - this.taskbar.Text = "toolStrip1"; - // - // toolStripDropDownButton1 - // - this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.taskbar.Location = new System.Drawing.Point(0, 1020); + this.taskbar.Name = "taskbar"; + this.taskbar.Padding = new System.Windows.Forms.Padding(0, 0, 2, 0); + this.taskbar.Size = new System.Drawing.Size(1916, 32); + this.taskbar.TabIndex = 1; + this.taskbar.Text = "toolStrip1"; + // + // toolStripDropDownButton1 + // + this.toolStripDropDownButton1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.terminalToolStripMenuItem, - this.textPadToolStripMenuItem}); - this.toolStripDropDownButton1.Image = global::ShiftOS.Main.Properties.Resources.iconWebBrowser; - this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; - this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - this.toolStripDropDownButton1.Size = new System.Drawing.Size(95, 28); - this.toolStripDropDownButton1.Tag = ((uint)(0u)); - this.toolStripDropDownButton1.Text = "Programs"; - // - // terminalToolStripMenuItem - // - this.terminalToolStripMenuItem.Name = "terminalToolStripMenuItem"; - this.terminalToolStripMenuItem.Size = new System.Drawing.Size(120, 22); - this.terminalToolStripMenuItem.Text = "Terminal"; - this.terminalToolStripMenuItem.Click += new System.EventHandler(this.terminalToolStripMenuItem_Click); - // - // taskbarClock - // - this.taskbarClock.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; - this.taskbarClock.Image = global::ShiftOS.Main.Properties.Resources.iconClock; - this.taskbarClock.Name = "taskbarClock"; - this.taskbarClock.Size = new System.Drawing.Size(52, 28); - this.taskbarClock.Tag = ((uint)(0u)); - this.taskbarClock.Text = "0:00"; - // - // timer1 - // - this.timer1.Interval = 1000; - this.timer1.Tick += new System.EventHandler(this.timer1_Tick); - // - // textPadToolStripMenuItem - // - this.textPadToolStripMenuItem.Name = "textPadToolStripMenuItem"; - this.textPadToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.textPadToolStripMenuItem.Text = "TextPad"; - this.textPadToolStripMenuItem.Click += new System.EventHandler(this.textPadToolStripMenuItem_Click); - // - // Desktop - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1277, 684); - this.Controls.Add(this.taskbar); - this.Controls.Add(this.listView1); - this.Margin = new System.Windows.Forms.Padding(2); - this.Name = "Desktop"; - this.Text = "Desktop"; - this.taskbar.ResumeLayout(false); - this.taskbar.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + this.textPadToolStripMenuItem, + this.fileSkimmerToolStripMenuItem}); + this.toolStripDropDownButton1.Image = global::ShiftOS.Main.Properties.Resources.iconWebBrowser; + this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; + this.toolStripDropDownButton1.Size = new System.Drawing.Size(131, 29); + this.toolStripDropDownButton1.Tag = ((uint)(0u)); + this.toolStripDropDownButton1.Text = "Programs"; + // + // terminalToolStripMenuItem + // + this.terminalToolStripMenuItem.Name = "terminalToolStripMenuItem"; + this.terminalToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.terminalToolStripMenuItem.Text = "Terminal"; + this.terminalToolStripMenuItem.Click += new System.EventHandler(this.terminalToolStripMenuItem_Click); + // + // textPadToolStripMenuItem + // + this.textPadToolStripMenuItem.Name = "textPadToolStripMenuItem"; + this.textPadToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.textPadToolStripMenuItem.Text = "TextPad"; + this.textPadToolStripMenuItem.Click += new System.EventHandler(this.textPadToolStripMenuItem_Click); + // + // taskbarClock + // + this.taskbarClock.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.taskbarClock.Image = global::ShiftOS.Main.Properties.Resources.iconClock; + this.taskbarClock.Name = "taskbarClock"; + this.taskbarClock.Size = new System.Drawing.Size(70, 29); + this.taskbarClock.Tag = ((uint)(0u)); + this.taskbarClock.Text = "0:00"; + // + // timer1 + // + this.timer1.Interval = 1000; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // fileSkimmerToolStripMenuItem + // + this.fileSkimmerToolStripMenuItem.Name = "fileSkimmerToolStripMenuItem"; + this.fileSkimmerToolStripMenuItem.Size = new System.Drawing.Size(210, 30); + this.fileSkimmerToolStripMenuItem.Text = "File Skimmer"; + this.fileSkimmerToolStripMenuItem.Click += new System.EventHandler(this.fileSkimmerToolStripMenuItem_Click); + // + // Desktop + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1916, 1052); + this.Controls.Add(this.taskbar); + this.Controls.Add(this.listView1); + this.Name = "Desktop"; + this.Text = "Desktop"; + this.taskbar.ResumeLayout(false); + this.taskbar.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -130,5 +138,6 @@ private System.Windows.Forms.Timer timer1; private System.Windows.Forms.ToolStripMenuItem terminalToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem textPadToolStripMenuItem; - } + private System.Windows.Forms.ToolStripMenuItem fileSkimmerToolStripMenuItem; + } }
\ No newline at end of file diff --git a/ShiftOS.Main/ShiftOS/Desktop.cs b/ShiftOS.Main/ShiftOS/Desktop.cs index 9bfcb0f..95e4d26 100644 --- a/ShiftOS.Main/ShiftOS/Desktop.cs +++ b/ShiftOS.Main/ShiftOS/Desktop.cs @@ -20,41 +20,32 @@ namespace ShiftOS.Main.ShiftOS #region Disgusting taskbar code - ShiftWm.Windows.CollectionChanged += (sender, args) => + ShiftWM.Windows.ItemAdded += (sender, e) => { - args.NewItems?.OfType<ShiftWindow>() - .ToList() - .ForEach( - window => - { - taskbar.Invoke( - new Action( - () => - { - taskbar.Items.Add( - new ToolStripButton - { - Text = window.Title.Text, - Image = window.Icon.ToBitmap(), - Tag = window.Id - }); - })); - }); + taskbar.Invoke( + new Action( + () => + { + taskbar.Items.Add( + new ToolStripButton + { + Text = e.Item.Title.Text, + Image = e.Item.Icon.ToBitmap(), + Tag = e.Item.Id + }); + })); + }; - args.OldItems?.OfType<ShiftWindow>() - .ToList() - .ForEach( - window => - { - taskbar.Invoke( - new Action( - () => - { - var tbRemovalList = taskbar.Items.OfType<ToolStripItem>().Where(i => (uint) i.Tag == window.Id); + ShiftWM.Windows.ItemRemoved += (sender, e) => + { + taskbar.Invoke( + new Action( + () => + { + var tbRemovalList = taskbar.Items.OfType<ToolStripItem>().Where(i => (uint) i.Tag == e.Item.Id); - tbRemovalList.ToList().ForEach(p => taskbar.Items.Remove(p)); - })); - }); + tbRemovalList.ToList().ForEach(p => taskbar.Items.Remove(p)); + })); }; #endregion @@ -66,14 +57,19 @@ namespace ShiftOS.Main.ShiftOS void terminalToolStripMenuItem_Click(object sender, EventArgs e) { var trm = new Terminal(); - - ShiftWm.Init(trm, "Terminal", null); + ShiftWM.Init(trm, "Terminal", null); } void textPadToolStripMenuItem_Click(object sender, EventArgs e) { var tp = new TextPad(); - ShiftWm.Init(tp, "TextPad", Resources.iconTextPad.ToIcon()); + ShiftWM.Init(tp, "TextPad", Resources.iconTextPad); + } + + void fileSkimmerToolStripMenuItem_Click(object sender, EventArgs e) + { + var fs = new FileSkimmer(); + ShiftWM.Init(fs, "File Skimmer", Resources.iconFileSkimmer); } } }
\ No newline at end of file |
