remove all async_start/end calls

This commit is contained in:
2019-07-08 16:57:30 +02:00
parent 0012e2ce9b
commit f7ead8e157
19 changed files with 531 additions and 721 deletions

View File

@@ -22,24 +22,18 @@ void App::cloud_upload()
{
auto upload_thread = [this] {
BT_SetTerminate();
if (Canvas::I->m_unsaved)
{
Canvas::I->project_save_thread(doc_path);
}
async_start();
auto pb = show_progress("Uploading");
async_redraw();
async_end();
upload(doc_path, doc_filename, [this,pb](float p){
async_start();
pb->m_progress->SetWidthP(p * 100.f);
async_redraw();
async_end();
});
async_start();
pb->destroy();
auto msgbox = new NodeMessageBox();
msgbox->m_manager = &layout;
@@ -48,8 +42,6 @@ void App::cloud_upload()
msgbox->m_message->set_text("This document has been succesfully uploaded.");
layout[main_id]->add_child(msgbox);
layout[main_id]->update();
async_redraw();
async_end();
};
auto m = layout[main_id]->add_child<NodeMessageBox>();
@@ -59,14 +51,10 @@ void App::cloud_upload()
m->btn_cancel->m_text->set_text("No");
m->btn_ok->on_click = [this, m, upload_thread](Node*) {
std::thread(upload_thread).detach();
async_start();
m->destroy();
async_end();
};
m->btn_cancel->on_click = [this, m, upload_thread](Node*) {
async_start();
m->destroy();
async_end();
};
}
@@ -76,16 +64,14 @@ void App::cloud_upload_all()
{
std::thread([this] {
BT_SetTerminate();
auto names = Asset::list_files(data_path, ".*\\.ppi");
gl_state gl;
std::shared_ptr<NodeProgressBar> pb;
if (layout.m_loaded)
{
async_start();
pb = show_progress("Export Pano Image");
async_redraw();
async_end();
}
int progress = 0;
@@ -102,21 +88,13 @@ void App::cloud_upload_all()
if (layout.m_loaded)
{
async_start();
pb->m_progress->SetWidthP(p);
gl.save();
async_redraw();
gl.restore();
async_end();
}
}
if (layout.m_loaded)
{
async_start();
pb->destroy();
async_redraw();
async_end();
}
}).detach();
}
@@ -143,38 +121,28 @@ void App::cloud_browse()
dialog->destroy();
std::thread([this, dialog] {
BT_SetTerminate();
async_start();
auto* m = layout[main_id]->add_child<NodeMessageBox>();
m->m_title->set_text("Downloading");
m->m_message->set_text("Download in progress");
async_redraw();
async_end();
std::string url = "https://panopainter.com/cloud/cloud-dwl.php?file=" + dialog->selected_file;
download(url, dialog->selected_path, [this,m](float p){
static char progress[256];
sprintf(progress, "Download in progress %.2f%%", p * 100.f);
async_start();
m->m_message->set_text(progress);
async_redraw();
async_end();
});
async_start();
canvas->reset_camera();
layers->clear();
async_end();
canvas->m_canvas->project_open_thread(dialog->selected_path);
async_start();
doc_name = dialog->selected_name;
title_update();
for (auto& l : canvas->m_canvas->m_layers)
layers->add_layer(l->m_name.c_str(), false);
ActionManager::clear();
m->destroy();
async_redraw();
async_end();
}).detach();
};
}