aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs
diff options
context:
space:
mode:
authorAlex-TIMEHACK <[email protected]>2017-11-18 16:29:54 +0000
committerAlex-TIMEHACK <[email protected]>2017-11-18 16:29:54 +0000
commit4037be53b29a122732cfc10693e9c0027f606bb0 (patch)
tree8533ea9ee0ac8f5f7f696b85cb039f783657ada0 /ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs
parent65b7ac2b8cbc4478f6d31a21f106048aeb075078 (diff)
parent97722fbe9d474adffbba0b92e9727c48a8205234 (diff)
downloadshiftos-rewind-4037be53b29a122732cfc10693e9c0027f606bb0.tar.gz
shiftos-rewind-4037be53b29a122732cfc10693e9c0027f606bb0.tar.bz2
shiftos-rewind-4037be53b29a122732cfc10693e9c0027f606bb0.zip
Updated my fork!
Conflicts: ShiftOS.Engine/ShiftOS.Engine.csproj ShiftOS.Engine/Terminal/Commands/Hello.cs ShiftOS.Engine/Terminal/TerminalBackend.cs ShiftOS.Engine/Terminal/TerminalCommand.cs ShiftOS.Main/ShiftOS.Main.csproj ShiftOS.Main/ShiftOS/Apps/Terminal.cs ShiftOS.Main/ShiftOS/Desktop.cs
Diffstat (limited to 'ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs')
-rw-r--r--ShiftOS.Main/ShiftOS/Apps/FileSkimmer.cs104
1 files changed, 104 insertions, 0 deletions
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);
+ }
+ }
+ }
+}