소스 검색

FileManager: Remove one direct call to FileSystemModel from outside

We should stop accessing the FileSystemModel outside DirectoryView.
This whole app is pretty badly factored, due to LibGUI being in its
infancy while it first developed.
Andreas Kling 5 년 전
부모
커밋
6caaa2bfdb
3개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 0
      Applications/FileManager/DirectoryView.cpp
  2. 2 0
      Applications/FileManager/DirectoryView.h
  3. 1 1
      Applications/FileManager/main.cpp

+ 5 - 0
Applications/FileManager/DirectoryView.cpp

@@ -355,3 +355,8 @@ void DirectoryView::update_statusbar()
 
     set_status_message(builder.to_string());
 }
+
+void DirectoryView::set_should_show_dotfiles(bool show_dotfiles)
+{
+    m_model->set_should_show_dotfiles(show_dotfiles);
+}

+ 2 - 0
Applications/FileManager/DirectoryView.h

@@ -110,6 +110,8 @@ public:
         callback(*m_columns_view);
     }
 
+    void set_should_show_dotfiles(bool);
+
     GUI::FileSystemModel& model() { return *m_model; }
 
 private:

+ 1 - 1
Applications/FileManager/main.cpp

@@ -678,7 +678,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
     view_menu.add_action(*view_as_columns_action);
     view_menu.add_separator();
     view_menu.add_action(GUI::Action::create_checkable("Show dotfiles", { Mod_Ctrl, Key_H }, [&](auto& action) {
-        directory_view.model().set_should_show_dotfiles(action.is_checked());
+        directory_view.set_should_show_dotfiles(action.is_checked());
     }));
 
     auto& go_menu = menubar->add_menu("Go");