diff --git a/data/layout.xml b/data/layout.xml index 33d72b5..80dd024 100644 --- a/data/layout.xml +++ b/data/layout.xml @@ -464,6 +464,10 @@ + + + + diff --git a/engine/app.cpp b/engine/app.cpp index b7f75ef..80c5ce9 100644 --- a/engine/app.cpp +++ b/engine/app.cpp @@ -90,7 +90,7 @@ void App::upload(std::string filename) if (curl) { - curl_easy_setopt(curl, CURLOPT_URL, "http://omigamedev.ddns.net:8080/upload/upl.php"); + curl_easy_setopt(curl, CURLOPT_URL, "http://omigamedev.ddns.net:8080/panoview/upl.php"); curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &res); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_data_handler); diff --git a/engine/app_layout.cpp b/engine/app_layout.cpp index 65b3642..caa48ea 100644 --- a/engine/app_layout.cpp +++ b/engine/app_layout.cpp @@ -375,6 +375,61 @@ void App::init_menu_file() popup->mouse_release(); popup->destroy(); }; + popup->find("file-upload")->on_click = [this](Node*) { + popup->mouse_release(); + popup->destroy(); + std::thread([] { + auto names = Asset::list_files(App::I.data_path, false, ".*\\.pano"); + + gl_state gl; + std::shared_ptr pb; + if (App::I.layout.m_loaded) + { + App::I.async_start(); + pb = std::make_shared(); + pb->m_manager = &App::I.layout; + pb->init(); + pb->create(); + pb->loaded(); + pb->m_progress->SetWidthP(0); + pb->m_title->set_text("Export Pano Image"); + App::I.layout[App::I.main_id]->add_child(pb); + App::I.async_update(); + App::I.async_end(); + } + + int progress = 0; + int total = names.size(); + + for (const auto& n : names) + { + std::string path = App::I.data_path + "/" + n; + App::I.upload(path); + + progress++; + float p = (float)progress / total * 100.f; + LOG("progress: %f", p); + + if (App::I.layout.m_loaded) + { + App::I.async_start(); + pb->m_progress->SetWidthP(p); + gl.save(); + App::I.async_update(); + gl.restore(); + App::I.async_end(); + } + } + + if (App::I.layout.m_loaded) + { + App::I.async_start(); + pb->destroy(); + App::I.async_update(); + App::I.async_end(); + } + }).detach(); + }; }; } } diff --git a/engine/canvas.cpp b/engine/canvas.cpp index 6971350..be7b5a3 100644 --- a/engine/canvas.cpp +++ b/engine/canvas.cpp @@ -1234,8 +1234,8 @@ void ui::Canvas::project_save_thread(std::string data_path) fclose(fp); LOG("project saved to %s", data_path.c_str()); - App::I.upload(data_path); - LOG("uploaded"); +// App::I.upload(data_path); +// LOG("uploaded"); App::I.async_start(); pb->destroy(); diff --git a/engine/main.cpp b/engine/main.cpp index a64d219..f8323dc 100644 --- a/engine/main.cpp +++ b/engine/main.cpp @@ -234,7 +234,8 @@ int main(int argc, char** argv) WNDCLASS wc; PIXELFORMATDESCRIPTOR pfd; - App::I.initLog(); + if (argc == 1) + App::I.initLog(); SetupExceptionHandler(); BT_SetTerminate();