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();