aboutsummaryrefslogtreecommitdiff
path: root/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs')
-rw-r--r--Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs163
1 files changed, 129 insertions, 34 deletions
diff --git a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
index a01d044..52ea334 100644
--- a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
+++ b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
@@ -65,14 +65,15 @@ namespace Histacom2.OS.Win95.Win95Apps
Properties.Resources.WinClassicFolder,
Properties.Resources.WinClassicApp, // 10
Properties.Resources.WinClassicSetup,
- Properties.Resources.WinClassicNotepad,
+ Properties.Resources.WinClassicTextFile,
Properties.Resources.WinClassicCalcBig,
Properties.Resources.WinClassicNotepadBig,
Properties.Resources.WinClassicRegedit, // 15
Properties.Resources.WinClassicWordpad,
- Properties.Resources.TimeDistorter1,
+ Properties.Resources.TimeDistorter1,
Properties.Resources.WinClassicGTN,
- Properties.Resources.WinClassicFTP });
+ Properties.Resources.WinClassicFTP,
+ Properties.Resources.WinClassicRtfFile});
program.BringToFront();
@@ -126,7 +127,8 @@ namespace Histacom2.OS.Win95.Win95Apps
private void RefreshAll()
{
- //try {
+ //try
+ //{
this.mainView.Items.Clear();
foreach (string str in Directory.GetDirectories(CurrentDirectory))
@@ -140,10 +142,10 @@ namespace Histacom2.OS.Win95.Win95Apps
{
ListViewItem itm;
- if (IsFileOpenDialog == true || IsFileSaveDialog == true)
+ if (IsFileOpenDialog || IsFileSaveDialog)
{
if (!(Path.GetFileName(str) == "_data.info"))
- {
+ {
if (new FileInfo(str).Extension == onlyViewExtension)
{
itm = this.mainView.Items.Add(Path.GetFileName(str));
@@ -224,6 +226,13 @@ namespace Histacom2.OS.Win95.Win95Apps
Program.AddTaskbarItem(app, app.Tag.ToString(), "Notepad", Properties.Resources.Win95IconNotepad);
break;
+ case 2:
+ WinClassicWordPad wp = new WinClassicWordPad();
+ wp.mainText.LoadFile(fileDir);
+ WinClassic app2 = wm.StartWin95(wp, "Wordpad", Properties.Resources.Win95IconWordpad, true, true);
+
+ Program.AddTaskbarItem(app2, app2.Tag.ToString(), "Wordpad", Properties.Resources.Win95IconWordpad);
+ break;
case 12:
OpenApplication(FileDialogBoxManager.ReadTextFile(fileDir), fileDir);
break;
@@ -576,13 +585,16 @@ namespace Histacom2.OS.Win95.Win95Apps
{
try
{
- if (new DirectoryInfo((string)mainView.FocusedItem.Tag).Extension == null || new DirectoryInfo((string)mainView.FocusedItem.Tag).Extension == "")
+ if (Directory.Exists(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text)))
{ // If it isn't a file
- GoToDir(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text));
+ if (mainView.FocusedItem.Text == "C:")
+ GoToDir(Path.Combine(CurrentDirectory, "CDrive"));
+ else
+ GoToDir(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text));
}
else
{ // If it is a file
- if (IsFileOpenDialog == true || IsFileSaveDialog == true)
+ if (IsFileOpenDialog || IsFileSaveDialog)
{
if (new FileInfo(Path.Combine(CurrentDirectory, txtSave.Text)).Extension == onlyViewExtension)
{
@@ -600,9 +612,7 @@ namespace Histacom2.OS.Win95.Win95Apps
OpenFile(mainView.FocusedItem.Tag.ToString());
}
}
- } catch (Exception ex) {
- MessageBox.Show(ex.Message);
- }
+ } catch { /* TODO: Illegal operation */ }
}
void diskView_AfterSelect(object sender, EventArgs e)
@@ -707,10 +717,52 @@ namespace Histacom2.OS.Win95.Win95Apps
}
else
{
- if (Directory.Exists(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text))) Directory.Delete(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text), true);
- else File.Delete(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text));
+ if (Directory.Exists(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text)))
+ {
+ Directory.Delete(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text), true);
+
+ // Remove the directory now from the _data.info
+
+ FileSystemFolderInfo fsfi = JsonConvert.DeserializeObject<FileSystemFolderInfo>(File.ReadAllText(Path.Combine(CurrentDirectory, "_data.info")));
+
+ foreach (THDirInfo dir in fsfi.SubDirs)
+ {
+ if (dir.Name == mainView.FocusedItem.Text)
+ {
+ // Delete it
+
+ fsfi.SubDirs.Remove(dir);
+ break;
+ }
+ }
+
+ File.WriteAllText(Path.Combine(CurrentDirectory, "_data.info"), JsonConvert.SerializeObject(fsfi, Formatting.Indented));
+ }
+ else
+ {
+ File.Delete(Path.Combine(CurrentDirectory, mainView.FocusedItem.Text));
+
+ // Remove the file now from the _data.info
+
+ FileSystemFolderInfo fsfi = JsonConvert.DeserializeObject<FileSystemFolderInfo>(File.ReadAllText(Path.Combine(CurrentDirectory, "_data.info")));
+
+ foreach (THFileInfo file in fsfi.Files)
+ {
+ if (file.Name == mainView.FocusedItem.Text)
+ {
+ // Delete it
+
+ fsfi.Files.Remove(file);
+ continue;
+ }
+ }
+
+ File.WriteAllText(Path.Combine(CurrentDirectory, "_data.info"), JsonConvert.SerializeObject(fsfi, Formatting.Indented));
+
+ }
RefreshAll();
+ RefreshTreeNode();
}
} catch
{
@@ -751,37 +803,80 @@ namespace Histacom2.OS.Win95.Win95Apps
private void mainView_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
- string setText = e.Label;
- if (setText == "") wm.StartInfobox95("Rename", "You must type a filename.", InfoboxType.Error, InfoboxButtons.OK);
- else
+ try
{
- if (Directory.Exists(setText)) wm.StartInfobox95("Error Renaming File", $"Cannot rename {new DirectoryInfo(setText).Name}: A file with the name you specified already exists. Specify a different filename.", InfoboxType.Error, InfoboxButtons.OK);
+ string setText = e.Label;
+ if (setText == "") wm.StartInfobox95("Rename", "You must type a filename.", InfoboxType.Error, InfoboxButtons.OK);
else
{
- if (File.Exists(setText)) wm.StartInfobox95("Error Renaming File", $"Cannot rename {new FileInfo(setText).Name}: A file with the name you specified already exists. Specify a different filename.", InfoboxType.Error, InfoboxButtons.OK);
+ if (Directory.Exists(setText)) wm.StartInfobox95("Error Renaming File", $"Cannot rename {new DirectoryInfo(setText).Name}: A file with the name you specified already exists. Specify a different filename.", InfoboxType.Error, InfoboxButtons.OK);
else
{
- if (Directory.Exists((string)mainView.FocusedItem.Tag))
+ if (File.Exists(setText)) wm.StartInfobox95("Error Renaming File", $"Cannot rename {new FileInfo(setText).Name}: A file with the name you specified already exists. Specify a different filename.", InfoboxType.Error, InfoboxButtons.OK);
+ else
{
- // It was a directory
+ if (Directory.Exists(Path.Combine(CurrentDirectory, OldLabelText)))
+ {
+ // It was a directory
- Directory.Move((string)mainView.FocusedItem.Tag, Path.Combine(CurrentDirectory, setText));
+ Directory.Move(Path.Combine(CurrentDirectory, OldLabelText), Path.Combine(CurrentDirectory, setText));
- File.Delete(Path.Combine(CurrentDirectory, setText, "_data.info"));
- SaveDirectoryInfo(CurrentDirectory, setText, false, setText, true);
- }
- else
- {
- // It was a file
+ File.Delete(Path.Combine(CurrentDirectory, setText, "_data.info"));
+ SaveDirectoryInfo(CurrentDirectory, setText, false, setText, true);
+
+ // Rename the directory now in the _data.info
+
+ FileSystemFolderInfo fsfi = JsonConvert.DeserializeObject<FileSystemFolderInfo>(File.ReadAllText(Path.Combine(CurrentDirectory, "_data.info")));
+
+ foreach (THDirInfo dir in fsfi.SubDirs)
+ {
+ if (dir.Name == OldLabelText)
+ {
+ // Rename it
+ THDirInfo oldDirInfo = dir;
+ oldDirInfo.Name = Path.Combine(CurrentDirectory, setText);
+
+ fsfi.SubDirs.Remove(dir);
+ fsfi.SubDirs.Add(oldDirInfo);
+ }
+ }
- File.Copy((string)mainView.FocusedItem.Tag, Path.Combine(CurrentDirectory, setText));
- File.Delete((string)mainView.FocusedItem.Tag);
+ File.Delete(Path.Combine(CurrentDirectory, "_data.info"));
+ File.WriteAllText(Path.Combine(CurrentDirectory, "_data.info"), JsonConvert.SerializeObject(fsfi));
+ }
+ else
+ {
+ // It was a file
+
+ File.Copy(Path.Combine(CurrentDirectory, OldLabelText), Path.Combine(CurrentDirectory, setText));
+ File.Delete(Path.Combine(CurrentDirectory, OldLabelText));
+
+ // Rename the file now in the _data.info
+
+ FileSystemFolderInfo fsfi = JsonConvert.DeserializeObject<FileSystemFolderInfo>(File.ReadAllText(Path.Combine(CurrentDirectory, "_data.info")));
+
+ foreach (THFileInfo file in fsfi.Files)
+ {
+ if (file.Name == OldLabelText)
+ {
+ // Rename it
+ THFileInfo oldFileInfo = file;
+ oldFileInfo.Name = Path.Combine(CurrentDirectory, setText);
+
+ fsfi.Files.Remove(file);
+ fsfi.Files.Add(oldFileInfo);
+ }
+ }
+
+ File.Delete(Path.Combine(CurrentDirectory, "_data.info"));
+ File.WriteAllText(Path.Combine(CurrentDirectory, "_data.info"), JsonConvert.SerializeObject(fsfi));
+ }
}
}
}
- }
- RefreshAll();
- RefreshTreeNode();
+ RefreshAll();
+ RefreshTreeNode();
+ } catch { }
}
private TreeNode[] createSubDirNodes(DirectoryInfo folder)
@@ -948,7 +1043,7 @@ namespace Histacom2.OS.Win95.Win95Apps
foreach (ListViewItem item in mainView.Items) item.Selected = true;
}
- private void mainView_MouseClick(object sender, MouseEventArgs e)
+ private void TextDocumentToolStripMenuItem_Click(object sender, EventArgs e)
{
}