ソースを参照

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

+ 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");