Bladeren bron

HackStudio: Clear ToDo entries upon opening new project

The ToDoEntries and ToDoEntriesWidget classes now have methods for
clearing the entries, before entries would stay permanently, even after
switching to a new project.
Lennon Donaghy 4 jaren geleden
bovenliggende
commit
6076deae1d

+ 1 - 0
Userland/DevTools/HackStudio/HackStudioWidget.cpp

@@ -199,6 +199,7 @@ void HackStudioWidget::open_project(const String& root_path)
         m_open_files.clear();
         m_open_files_vector.clear();
         add_new_editor(*m_editors_splitter);
+        m_todo_entries_widget->clear();
     }
     m_project = Project::open_with_root_path(root_path);
     VERIFY(m_project);

+ 5 - 0
Userland/DevTools/HackStudio/ToDoEntries.cpp

@@ -31,4 +31,9 @@ Vector<Cpp::Parser::TodoEntry> ToDoEntries::get_entries()
     return ret;
 }
 
+void ToDoEntries::clear_entries()
+{
+    m_document_to_entries.clear();
+}
+
 }

+ 2 - 0
Userland/DevTools/HackStudio/ToDoEntries.h

@@ -24,6 +24,8 @@ public:
 
     Vector<Cpp::Parser::TodoEntry> get_entries();
 
+    void clear_entries();
+
     Function<void()> on_update = nullptr;
 
 private:

+ 6 - 0
Userland/DevTools/HackStudio/ToDoEntriesWidget.cpp

@@ -91,6 +91,12 @@ void ToDoEntriesWidget::refresh()
     m_result_view->set_model(results_model);
 }
 
+void ToDoEntriesWidget::clear()
+{
+    ToDoEntries::the().clear_entries();
+    refresh();
+}
+
 ToDoEntriesWidget::ToDoEntriesWidget()
 {
     set_layout<GUI::VerticalBoxLayout>();

+ 2 - 0
Userland/DevTools/HackStudio/ToDoEntriesWidget.h

@@ -18,6 +18,8 @@ public:
 
     void refresh();
 
+    void clear();
+
 private:
     explicit ToDoEntriesWidget();