From 373e8d29a393306604e122f27ccd2f4cfc9cd071 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Mon, 19 Apr 2021 09:53:37 +1000 Subject: [PATCH] rename tmp files --- src/com/bytezone/diskbrowser/cpm/CPMDisk.java | 2 +- .../diskbrowser/disk/AbstractFormattedDisk.java | 17 +++++++++++++---- src/com/bytezone/diskbrowser/dos/DosDisk.java | 2 +- .../bytezone/diskbrowser/gui/AppleDiskTab.java | 5 ++--- .../bytezone/diskbrowser/gui/TreeBuilder.java | 8 +++----- .../bytezone/diskbrowser/pascal/PascalDisk.java | 2 +- .../diskbrowser/prodos/ProdosDirectory.java | 2 +- .../prodos/VolumeDirectoryHeader.java | 4 ---- .../bytezone/diskbrowser/utilities/NuFX.java | 3 +++ 9 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/com/bytezone/diskbrowser/cpm/CPMDisk.java b/src/com/bytezone/diskbrowser/cpm/CPMDisk.java index 2445ef8..09caf99 100644 --- a/src/com/bytezone/diskbrowser/cpm/CPMDisk.java +++ b/src/com/bytezone/diskbrowser/cpm/CPMDisk.java @@ -185,7 +185,7 @@ public class CPMDisk extends AbstractFormattedDisk "---- --------- --- - - -- -- -- -- ----------------------------" + "-------------------" + newLine; StringBuilder text = new StringBuilder (); - text.append (String.format ("Disk : %s%n%n", getDisplayPath ())); + text.append (String.format ("File : %s%n%n", getDisplayPath ())); text.append ("User Name Typ R S Ex S2 S1 RC Blocks" + newLine); text.append (line); diff --git a/src/com/bytezone/diskbrowser/disk/AbstractFormattedDisk.java b/src/com/bytezone/diskbrowser/disk/AbstractFormattedDisk.java index 53b031f..0180f7f 100755 --- a/src/com/bytezone/diskbrowser/disk/AbstractFormattedDisk.java +++ b/src/com/bytezone/diskbrowser/disk/AbstractFormattedDisk.java @@ -67,6 +67,7 @@ public abstract class AbstractFormattedDisk implements FormattedDisk */ sectorTypesList.add (emptySector); sectorTypesList.add (usedSector); + /* * Hopefully every used sector will be changed by the subclass to something * sensible, but deleted files will always leave the sector as used/unknown @@ -74,16 +75,22 @@ public abstract class AbstractFormattedDisk implements FormattedDisk */ setSectorTypes (); setGridLayout (); + /* * Create the disk name as the root for the catalog tree. Subclasses will * have to append their catalog entries to this node. */ + String name = getName (); + if (name.endsWith (".tmp")) + name = "tmp.dsk"; + DefaultAppleFileSource afs = - new DefaultAppleFileSource (getName (), disk.toString (), this); + new DefaultAppleFileSource (name, disk.toString (), this); DefaultMutableTreeNode root = new DefaultMutableTreeNode (afs); DefaultTreeModel treeModel = new DefaultTreeModel (root); catalogTree = new JTree (treeModel); treeModel.setAsksAllowsChildren (true); // allows empty nodes to appear as folders + /* * Add an ActionListener to the disk in case the interleave or blocksize * changes @@ -226,11 +233,13 @@ public abstract class AbstractFormattedDisk implements FormattedDisk public String getDisplayPath () // ---------------------------------------------------------------------------------// { - if (originalPath != null) - return originalPath.toString (); + // if (originalPath != null) + // return originalPath.toString (); String home = System.getProperty ("user.home"); - String path = disk.getFile ().getAbsolutePath (); + + String path = originalPath != null ? originalPath.toString () + : disk.getFile ().getAbsolutePath (); if (path.startsWith (home)) return "~" + path.substring (home.length ()); diff --git a/src/com/bytezone/diskbrowser/dos/DosDisk.java b/src/com/bytezone/diskbrowser/dos/DosDisk.java index f930094..cd9491f 100755 --- a/src/com/bytezone/diskbrowser/dos/DosDisk.java +++ b/src/com/bytezone/diskbrowser/dos/DosDisk.java @@ -532,7 +532,7 @@ public class DosDisk extends AbstractFormattedDisk StringBuilder text = new StringBuilder (); - text.append (String.format ("Disk : %s%n%n", getDisplayPath ())); + text.append (String.format ("File : %s%n%n", getDisplayPath ())); text.append ("L Typ Len Name Addr" + " Length TS Data Comment" + newLine); text.append (underline); diff --git a/src/com/bytezone/diskbrowser/gui/AppleDiskTab.java b/src/com/bytezone/diskbrowser/gui/AppleDiskTab.java index a930b9e..0c5e543 100755 --- a/src/com/bytezone/diskbrowser/gui/AppleDiskTab.java +++ b/src/com/bytezone/diskbrowser/gui/AppleDiskTab.java @@ -17,8 +17,8 @@ import javax.swing.tree.TreeNode; import com.bytezone.diskbrowser.applefile.AppleFileSource; import com.bytezone.diskbrowser.disk.DiskFactory; -import com.bytezone.diskbrowser.disk.HybridDisk; import com.bytezone.diskbrowser.disk.FormattedDisk; +import com.bytezone.diskbrowser.disk.HybridDisk; import com.bytezone.diskbrowser.gui.RedoHandler.RedoEvent; // -----------------------------------------------------------------------------------// @@ -59,7 +59,7 @@ class AppleDiskTab extends AbstractTab // ---------------------------------------------------------------------------------// { super (redoHandler, selector, font); - // System.out.println ("File not found: " + lastFileUsed); + create (disk); DefaultMutableTreeNode node = findNode (lastFileUsed); @@ -101,7 +101,6 @@ class AppleDiskTab extends AbstractTab public void activate () // ---------------------------------------------------------------------------------// { - // System.out.println ("=========== Activating AppleDiskTab ============="); eventHandler.redo = true; eventHandler.fireDiskSelectionEvent (disk); eventHandler.redo = false; diff --git a/src/com/bytezone/diskbrowser/gui/TreeBuilder.java b/src/com/bytezone/diskbrowser/gui/TreeBuilder.java index b1de8e7..c244f68 100755 --- a/src/com/bytezone/diskbrowser/gui/TreeBuilder.java +++ b/src/com/bytezone/diskbrowser/gui/TreeBuilder.java @@ -107,18 +107,16 @@ class TreeBuilder System.out.println ("Failed to set the disk icon : " + iconName); } - /* - * Class used to control the text displayed by the JTree. - */ // ---------------------------------------------------------------------------------// class FileNode implements DataSource // why does it implement DataSource? // ---------------------------------------------------------------------------------// { - DefaultMutableTreeNode parentNode; - public final File file; private static final int MAX_NAME_LENGTH = 36; private static final int SUFFIX_LENGTH = 12; private static final int PREFIX_LENGTH = MAX_NAME_LENGTH - SUFFIX_LENGTH - 3; + + DefaultMutableTreeNode parentNode; + public final File file; private FormattedDisk formattedDisk; int disks; boolean showDisks; diff --git a/src/com/bytezone/diskbrowser/pascal/PascalDisk.java b/src/com/bytezone/diskbrowser/pascal/PascalDisk.java index 444905a..8136473 100755 --- a/src/com/bytezone/diskbrowser/pascal/PascalDisk.java +++ b/src/com/bytezone/diskbrowser/pascal/PascalDisk.java @@ -282,7 +282,7 @@ public class PascalDisk extends AbstractFormattedDisk String date = volumeEntry.date == null ? "--" : df.format (volumeEntry.date.getTime ()); StringBuilder text = new StringBuilder (); - text.append ("Disk : " + getDisplayPath () + newLine2); + text.append ("File : " + getDisplayPath () + newLine2); text.append ("Volume : " + volumeEntry.name + newLine); text.append ("Date : " + date + newLine2); text.append ( diff --git a/src/com/bytezone/diskbrowser/prodos/ProdosDirectory.java b/src/com/bytezone/diskbrowser/prodos/ProdosDirectory.java index a919c78..cc5faf4 100755 --- a/src/com/bytezone/diskbrowser/prodos/ProdosDirectory.java +++ b/src/com/bytezone/diskbrowser/prodos/ProdosDirectory.java @@ -39,7 +39,7 @@ class ProdosDirectory extends AbstractFile implements ProdosConstants // ---------------------------------------------------------------------------------// { StringBuffer text = new StringBuffer (); - text.append ("Disk : " + parentFD.getDisplayPath () + newLine2); + text.append ("File : " + parentFD.getDisplayPath () + newLine2); for (int i = 0; i < buffer.length; i += ENTRY_SIZE) { int storageType = (buffer[i] & 0xF0) >> 4; diff --git a/src/com/bytezone/diskbrowser/prodos/VolumeDirectoryHeader.java b/src/com/bytezone/diskbrowser/prodos/VolumeDirectoryHeader.java index 3cdb321..8615f01 100755 --- a/src/com/bytezone/diskbrowser/prodos/VolumeDirectoryHeader.java +++ b/src/com/bytezone/diskbrowser/prodos/VolumeDirectoryHeader.java @@ -7,10 +7,6 @@ import com.bytezone.diskbrowser.disk.DiskAddress; import com.bytezone.diskbrowser.gui.DataSource; import com.bytezone.diskbrowser.utilities.Utility; -/* - * There is only one of these - it is always the first entry in the first block. - * Every other entry will be either a SubDirectoryHeader or a FileEntry. - */ // -----------------------------------------------------------------------------------// class VolumeDirectoryHeader extends DirectoryHeader // -----------------------------------------------------------------------------------// diff --git a/src/com/bytezone/diskbrowser/utilities/NuFX.java b/src/com/bytezone/diskbrowser/utilities/NuFX.java index a0ecbe4..0dd86bd 100644 --- a/src/com/bytezone/diskbrowser/utilities/NuFX.java +++ b/src/com/bytezone/diskbrowser/utilities/NuFX.java @@ -66,6 +66,8 @@ public class NuFX if (record.hasFile ()) { ++totalFiles; + + // note: total blocks does not include subdirectory blocks int blocks = (record.getFileSize () - 1) / 512 + 1; if (blocks == 1) // seedling totalBlocks += blocks; @@ -73,6 +75,7 @@ public class NuFX totalBlocks += blocks + 1; else // tree totalBlocks += blocks + (blocks / 256) + 2; + storePath (record.getFileName ()); }