aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/Applications
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-04-21 19:42:41 -0400
committerMichael <[email protected]>2017-04-21 19:42:41 -0400
commitf9f834b1c31f2b6c611f44b2eba8d7ec816145f5 (patch)
tree6d4084dfd38ebf11e68647f2a88d3d94e4d76157 /ShiftOS.WinForms/Applications
parent1e74f09670a89d8fdf51215aa7a275c335e80211 (diff)
downloadshiftos_thereturn-f9f834b1c31f2b6c611f44b2eba8d7ec816145f5.tar.gz
shiftos_thereturn-f9f834b1c31f2b6c611f44b2eba8d7ec816145f5.tar.bz2
shiftos_thereturn-f9f834b1c31f2b6c611f44b2eba8d7ec816145f5.zip
Add copying/moving of files/dirs
Diffstat (limited to 'ShiftOS.WinForms/Applications')
-rw-r--r--ShiftOS.WinForms/Applications/FileDialog.cs47
-rw-r--r--ShiftOS.WinForms/Applications/FileSkimmer.Designer.cs2
-rw-r--r--ShiftOS.WinForms/Applications/FileSkimmer.cs63
3 files changed, 103 insertions, 9 deletions
diff --git a/ShiftOS.WinForms/Applications/FileDialog.cs b/ShiftOS.WinForms/Applications/FileDialog.cs
index 308be7d..ba92f08 100644
--- a/ShiftOS.WinForms/Applications/FileDialog.cs
+++ b/ShiftOS.WinForms/Applications/FileDialog.cs
@@ -60,9 +60,20 @@ namespace ShiftOS.WinForms.Applications
try
{
var itm = lvitems.SelectedItems[0];
- if (FileExists(currentdir + "/" + itm.Text))
+ if (cbfiletypes.Text != "Directory")
{
- txtfilename.Text = itm.Text;
+ if (FileExists(currentdir + "/" + itm.Text))
+ {
+ txtfilename.Text = itm.Text;
+ }
+ }
+ else
+ {
+ if (DirectoryExists(currentdir + "/" + itm.Text))
+ {
+ txtfilename.Text = itm.Text;
+ }
+
}
}
catch { }
@@ -72,23 +83,41 @@ namespace ShiftOS.WinForms.Applications
{
string fname = "";
fname = (!string.IsNullOrWhiteSpace(txtfilename.Text)) ? txtfilename.Text : "";
- fname = (!fname.EndsWith(cbfiletypes.SelectedItem.ToString())) ? fname + cbfiletypes.SelectedItem.ToString() : fname;
- fname = (fname == cbfiletypes.SelectedItem.ToString()) ? "" : fname;
+ if (cbfiletypes.Text != "Directory")
+ {
+ fname = (!fname.EndsWith(cbfiletypes.SelectedItem.ToString())) ? fname + cbfiletypes.SelectedItem.ToString() : fname;
+ fname = (fname == cbfiletypes.SelectedItem.ToString()) ? "" : fname;
+ }
switch (style)
{
case FileOpenerStyle.Open:
-
- if(FileExists(currentdir + "/" + fname))
+ if (cbfiletypes.Text == "Directory")
{
- callback?.Invoke(currentdir + "/" + fname);
- this.Close();
+ if (DirectoryExists(currentdir + "/" + fname))
+ {
+ callback?.Invoke(currentdir + "/" + fname);
+ this.Close();
+ }
+ else
+ {
+ Infobox.Show("{FILE_NOT_FOUND}", "{FILE_NOT_FOUND_EXP}");
+ }
+
}
else
{
- Infobox.Show("{FILE_NOT_FOUND}", "{FILE_NOT_FOUND_EXP}");
+ if (FileExists(currentdir + "/" + fname))
+ {
+ callback?.Invoke(currentdir + "/" + fname);
+ this.Close();
+ }
+ else
+ {
+ Infobox.Show("{FILE_NOT_FOUND}", "{FILE_NOT_FOUND_EXP}");
+ }
}
break;
case FileOpenerStyle.Save:
diff --git a/ShiftOS.WinForms/Applications/FileSkimmer.Designer.cs b/ShiftOS.WinForms/Applications/FileSkimmer.Designer.cs
index 63b61cc..91a72da 100644
--- a/ShiftOS.WinForms/Applications/FileSkimmer.Designer.cs
+++ b/ShiftOS.WinForms/Applications/FileSkimmer.Designer.cs
@@ -134,12 +134,14 @@ namespace ShiftOS.WinForms.Applications
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
this.copyToolStripMenuItem.Size = new System.Drawing.Size(47, 20);
this.copyToolStripMenuItem.Text = "Copy";
+ this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
//
// moveToolStripMenuItem
//
this.moveToolStripMenuItem.Name = "moveToolStripMenuItem";
this.moveToolStripMenuItem.Size = new System.Drawing.Size(49, 20);
this.moveToolStripMenuItem.Text = "Move";
+ this.moveToolStripMenuItem.Click += new System.EventHandler(this.moveToolStripMenuItem_Click);
//
// FileSkimmer
//
diff --git a/ShiftOS.WinForms/Applications/FileSkimmer.cs b/ShiftOS.WinForms/Applications/FileSkimmer.cs
index 689c718..4b11d24 100644
--- a/ShiftOS.WinForms/Applications/FileSkimmer.cs
+++ b/ShiftOS.WinForms/Applications/FileSkimmer.cs
@@ -324,6 +324,69 @@ namespace ShiftOS.WinForms.Applications
copyToolStripMenuItem.Visible = false;
}
}
+
+ private void copyToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ string path = currentdir + "/" + lvitems.SelectedItems[0].Tag.ToString();
+ if (DirectoryExists(path))
+ {
+ FileSkimmerBackend.GetFile(new[] { "Directory" }, FileOpenerStyle.Save, (newPath) =>
+ {
+ Copy(path, newPath);
+ ResetList();
+ });
+ }
+ else if (FileExists(path))
+ {
+ string[] psplit = path.Split('.');
+ string ext = "." + psplit[psplit.Length - 1];
+ FileSkimmerBackend.GetFile(new[] { ext }, FileOpenerStyle.Save, (newPath) =>
+ {
+ Copy(path, newPath);
+ ResetList();
+ });
+
+ }
+ }
+ catch
+ {
+
+ }
+ }
+
+ private void moveToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ string path = currentdir + "/" + lvitems.SelectedItems[0].Tag.ToString();
+ if (DirectoryExists(path))
+ {
+ FileSkimmerBackend.GetFile(new[] { "Directory" }, FileOpenerStyle.Save, (newPath) =>
+ {
+ Utils.Move(path, newPath);
+ ResetList();
+ });
+ }
+ else if (FileExists(path))
+ {
+ string[] psplit = path.Split('.');
+ string ext = psplit[psplit.Length - 1];
+ FileSkimmerBackend.GetFile(new[] { ext }, FileOpenerStyle.Save, (newPath) =>
+ {
+ Utils.Move(path, newPath);
+ ResetList();
+ });
+
+ }
+ }
+ catch
+ {
+
+ }
+
+ }
}