Bläddra i källkod

Help: When opening a page, make sure it is selected in the tree view

This has to be called with a `deferred_invoke`, since on startup the
tree view contains no data yet.
Timon Kruiper 4 år sedan
förälder
incheckning
3e73cfc08c
1 ändrade filer med 12 tillägg och 6 borttagningar
  1. 12 6
      Userland/Applications/Help/main.cpp

+ 12 - 6
Userland/Applications/Help/main.cpp

@@ -153,12 +153,18 @@ int main(int argc, char* argv[])
         auto url = URL::create_with_file_protocol(path);
         page_view.load_html(html, url);
 
-        auto tree_view_index = model->index_from_path(path);
-        if (tree_view_index.has_value())
-            tree_view.expand_tree(tree_view_index.value().parent());
-
-        String page_and_section = model->page_and_section(tree_view_index.value());
-        window->set_title(String::formatted("{} - Help", page_and_section));
+        app->deferred_invoke([&, path](auto&) {
+            auto tree_view_index = model->index_from_path(path);
+            if (tree_view_index.has_value()) {
+                tree_view.expand_tree(tree_view_index.value().parent());
+                tree_view.selection().set(tree_view_index.value());
+
+                String page_and_section = model->page_and_section(tree_view_index.value());
+                window->set_title(String::formatted("{} - Help", page_and_section));
+            } else {
+                window->set_title("Help");
+            }
+        });
     };
 
     tree_view.on_selection_change = [&] {