From 8f488a68ad0b7e61e6cdf591f6b17aac8d56361a Mon Sep 17 00:00:00 2001 From: ubbelol Date: Wed, 24 Aug 2016 15:48:13 +0200 Subject: [PATCH] Add support for forward slashes in file manager --- Server/Forms/FrmFileManager.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Server/Forms/FrmFileManager.cs b/Server/Forms/FrmFileManager.cs index 35742060..e1d9498a 100644 --- a/Server/Forms/FrmFileManager.cs +++ b/Server/Forms/FrmFileManager.cs @@ -35,8 +35,25 @@ public FrmFileManager(Client c) private string GetAbsolutePath(string item) { + if (!string.IsNullOrEmpty(_currentDir) && _currentDir[0] == '/') + return Path.Combine(_currentDir, item + '/'); + return Path.GetFullPath(Path.Combine(_currentDir, item)); } + + private void NavigateUp() + { + if (!string.IsNullOrEmpty(_currentDir) && _currentDir[0] == '/') + { + if (_currentDir.LastIndexOf('/') > 0) + { + _currentDir = _currentDir.TrimEnd('/'); + SetCurrentDir(_currentDir.Remove(_currentDir.LastIndexOf('/') + 1)); + } + } + else + SetCurrentDir(GetAbsolutePath(@"..\")); + } private void FrmFileManager_Load(object sender, EventArgs e) { @@ -71,7 +88,7 @@ private void lstDirectory_DoubleClick(object sender, EventArgs e) switch (type) { case PathType.Back: - SetCurrentDir(Path.GetFullPath(Path.Combine(_currentDir, @"..\"))); + NavigateUp(); RefreshDirectory(); break; case PathType.Directory: