X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Ffs%2FNioFileLabelProvider.java;h=e2ea90596a33b0ade3abfcd0aa8acf2a449eab71;hb=7fa402d36e0e194424589f4d7efeae5610d2c6eb;hp=391f250eb70fcff5cf6c94ab2b89a6534a18a85e;hpb=e78d5435d12c2df2100838e090ae6d045a980f8d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java index 391f250eb..e2ea90596 100644 --- a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java +++ b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/fs/NioFileLabelProvider.java @@ -18,11 +18,25 @@ public class NioFileLabelProvider extends ColumnLabelProvider { @Override public String getText(Object element) { - Path path = (Path) element; try { + if (element instanceof ParentDir) { + switch (propName) { + case FsUiConstants.PROPERTY_SIZE: + return "-"; + case FsUiConstants.PROPERTY_LAST_MODIFIED: + return Files.getLastModifiedTime(((ParentDir) element).getPath()).toString(); + case FsUiConstants.PROPERTY_TYPE: + return "Folder"; + } + } + + Path path = (Path) element; switch (propName) { case FsUiConstants.PROPERTY_SIZE: - return FsUiUtils.humanReadableByteCount(Files.size(path), false); + if (Files.isDirectory(path)) + return "-"; + else + return FsUiUtils.humanReadableByteCount(Files.size(path), false); case FsUiConstants.PROPERTY_LAST_MODIFIED: return Files.getLastModifiedTime(path).toString(); case FsUiConstants.PROPERTY_TYPE: @@ -39,7 +53,7 @@ public class NioFileLabelProvider extends ColumnLabelProvider { throw new IllegalArgumentException("Unsupported property " + propName); } } catch (IOException ioe) { - throw new FsUiException("Cannot get property " + propName + " on " + path.toString()); + throw new FsUiException("Cannot get property " + propName + " on " + element); } } }