data: refreshing with DB

* database stores modification time of files.
* FileManager updates internal state based on database info.
* reimplemented FileManager's check if a file is in project.
* implemented clearing data of updated or removed files before reparsing the updated and added files.
This commit is contained in:
malte_langkabel
2015-09-16 18:53:33 +02:00
parent 73b1b77ca8
commit 3d94b78b8c
22 changed files with 406 additions and 109 deletions
+7 -6
View File
@@ -69,17 +69,17 @@ void Application::loadProject(const FilePath& projectSettingsFilePath)
{
MessageStatus("Loading Project: " + projectSettingsFilePath.str()).dispatch();
updateRecentProjects(projectSettingsFilePath);
m_storageCache->clear();
m_componentManager->refreshViews();
m_project = Project::create(m_storageCache.get());
m_project->loadProjectSettings(projectSettingsFilePath);
m_project->parseCode();
updateRecentProjects(projectSettingsFilePath);
}
void Application::reloadProject()
void Application::refreshProject()
{
MessageStatus("Refreshing Project").dispatch();
@@ -142,10 +142,11 @@ void Application::handleMessage(MessageRefresh* message)
if (message->uiOnly)
{
m_componentManager->refreshViews();
return;
}
reloadProject();
else
{
refreshProject();
}
}
void Application::handleMessage(MessageSaveProject* message)