fix: opening a doc async did not update the layers list, added on_complete callback to update the layers panel

This commit is contained in:
2017-11-07 07:37:21 +00:00
parent 33ea544f0b
commit 3e546affc9
7 changed files with 34 additions and 20 deletions

View File

@@ -121,12 +121,16 @@ void App::dialog_browse()
{
canvas->reset_camera();
layers->clear();
canvas->m_canvas->project_open(dialog->selected_path);
doc_name = dialog->selected_name;
if (auto docname = layout[main_id]->find<NodeText>("txt-docname"))
docname->set_text(("Panodoc: " + doc_name).c_str());
for (auto& i : canvas->m_canvas->m_order)
layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str());
canvas->m_canvas->project_open(dialog->selected_path, [this] {
// on complete
async_start();
if (auto docname = layout[main_id]->find<NodeText>("txt-docname"))
docname->set_text(("Panodoc: " + doc_name).c_str());
for (auto& i : canvas->m_canvas->m_order)
layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str());
async_end();
});
dialog->destroy();
ActionManager::clear();
};