Plan cloud upload decisions in app core
This commit is contained in:
@@ -1,19 +1,29 @@
|
||||
#include "pch.h"
|
||||
#include "app.h"
|
||||
#include "app_core/document_cloud.h"
|
||||
#include "util.h"
|
||||
#include "node_progress_bar.h"
|
||||
#include "node_dialog_cloud.h"
|
||||
|
||||
void App::cloud_upload()
|
||||
{
|
||||
if (!canvas)
|
||||
const bool has_canvas = canvas != nullptr;
|
||||
const auto plan = pp::app::plan_cloud_upload(
|
||||
has_canvas,
|
||||
has_canvas && Canvas::I->m_newdoc,
|
||||
has_canvas && Canvas::I->m_unsaved);
|
||||
|
||||
switch (plan.action)
|
||||
{
|
||||
case pp::app::CloudUploadAction::unavailable_no_canvas:
|
||||
return;
|
||||
if (Canvas::I->m_newdoc)
|
||||
{
|
||||
case pp::app::CloudUploadAction::show_save_required_warning:
|
||||
message_box("Warning", "This document needs to be saved before upload.");
|
||||
return;
|
||||
case pp::app::CloudUploadAction::prompt_publish:
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
auto upload_thread = [this] {
|
||||
BT_SetTerminate();
|
||||
|
||||
@@ -42,7 +52,6 @@ void App::cloud_upload()
|
||||
m->btn_cancel->on_click = [this, m, upload_thread](Node*) {
|
||||
m->destroy();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
void App::cloud_upload_all()
|
||||
|
||||
Reference in New Issue
Block a user