Fixed: File browser ordering and volume name

This commit is contained in:
Mark McDowall 2014-12-20 13:24:29 -08:00
parent d3a35108df
commit 6878804705
4 changed files with 25 additions and 5 deletions

View File

@ -431,6 +431,13 @@ namespace NzbDrone.Common.Disk
return new FileStream(path, FileMode.Open, FileAccess.Read);
}
public List<DriveInfo> GetDrives()
{
return DriveInfo.GetDrives()
.Where(d => d.DriveType == DriveType.Fixed || d.DriveType == DriveType.Network)
.ToList();
}
public List<DirectoryInfo> GetDirectoryInfos(string path)
{
Ensure.That(path, () => path).IsValidPath();

View File

@ -103,12 +103,12 @@ namespace NzbDrone.Common.Disk
private List<FileSystemModel> GetDrives()
{
return _diskProvider.GetFixedDrives()
return _diskProvider.GetDrives()
.Select(d => new FileSystemModel
{
Type = FileSystemEntityType.Drive,
Name = d,
Path = d,
Name = GetVolumeName(d),
Path = d.Name,
LastModified = null
})
.ToList();
@ -117,6 +117,7 @@ namespace NzbDrone.Common.Disk
private List<FileSystemModel> GetDirectories(string path)
{
var directories = _diskProvider.GetDirectoryInfos(path)
.OrderBy(d => d.Name)
.Select(d => new FileSystemModel
{
Name = d.Name,
@ -134,6 +135,7 @@ namespace NzbDrone.Common.Disk
private List<FileSystemModel> GetFiles(string path)
{
return _diskProvider.GetFileInfos(path)
.OrderBy(d => d.Name)
.Select(d => new FileSystemModel
{
Name = d.Name,
@ -155,6 +157,16 @@ namespace NzbDrone.Common.Disk
return path;
}
private string GetVolumeName(DriveInfo driveInfo)
{
if (driveInfo.VolumeLabel.IsNullOrWhiteSpace())
{
return driveInfo.Name;
}
return String.Format("{0} ({1})", driveInfo.Name, driveInfo.VolumeLabel);
}
private string GetParent(string path)
{

View File

@ -46,6 +46,7 @@ namespace NzbDrone.Common.Disk
string[] GetFixedDrives();
string GetVolumeLabel(string path);
FileStream StreamFile(string path);
List<DriveInfo> GetDrives();
List<DirectoryInfo> GetDirectoryInfos(string path);
List<FileInfo> GetFileInfos(string path);
}

View File

@ -24,11 +24,11 @@ define(
}
else if (type === 'folder') {
icon = 'icon-folder-close';
icon = 'icon-folder-close-alt';
}
else if (type === 'file') {
icon = 'icon-file';
icon = 'icon-file-alt';
}
this.$el.html('<i class="{0}"></i>'.format(icon));