소스 검색

FileManager: Canonicalize paths when opening them.

Andreas Kling 6 년 전
부모
커밋
7c06431ff7
2개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 1
      Applications/FileManager/DirectoryTableModel.cpp
  2. 1 1
      Applications/FileManager/DirectoryTableView.cpp

+ 3 - 1
Applications/FileManager/DirectoryTableModel.cpp

@@ -187,8 +187,10 @@ void DirectoryTableModel::update()
     did_update();
 }
 
-void DirectoryTableModel::open(const String& path)
+void DirectoryTableModel::open(const String& a_path)
 {
+    FileSystemPath canonical_path(a_path);
+    auto path = canonical_path.string();
     if (m_path == path)
         return;
     DIR* dirp = opendir(path.characters());

+ 1 - 1
Applications/FileManager/DirectoryTableView.cpp

@@ -37,5 +37,5 @@ void DirectoryTableView::set_status_message(const String& message)
 
 void DirectoryTableView::open_parent_directory()
 {
-    model().open("..");
+    model().open(String::format("%s/..", model().path().characters()));
 }