fix thumbnail generator for iOS and open document when file clicked

This commit is contained in:
2018-09-21 01:53:22 +02:00
parent 9ea1ca4fae
commit 7c7027502e
6 changed files with 94 additions and 24 deletions

View File

@@ -31,6 +31,26 @@ void App::create()
height = 1080/2;
}
void App::open_document(std::string path)
{
auto start = path.rfind("/") + 1;
doc_name = path.substr(start, path.length() - start - strlen(".ppi"));
canvas->reset_camera();
layers->clear();
canvas->m_canvas->project_open(path, [this] {
// on complete
async_start();
title_update();
for (auto& i : canvas->m_canvas->m_order)
{
auto* l = layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str());
l->m_opacity->m_value.x = canvas->m_canvas->m_layers[i].m_opacity;
}
async_end();
});
ActionManager::clear();
}
bool App::request_close()
{
static bool dialog_already_opened = false;

View File

@@ -102,6 +102,7 @@ public:
void initShaders();
void initAssets();
void initLayout();
void open_document(std::string path);
void create();
bool request_close();
void terminate();

View File

@@ -192,22 +192,8 @@ void App::dialog_browse()
dialog->btn_ok->on_click = [this, dialog](Node*)
{
canvas->reset_camera();
layers->clear();
doc_name = dialog->selected_name;
canvas->m_canvas->project_open(dialog->selected_path, [this] {
// on complete
async_start();
title_update();
for (auto& i : canvas->m_canvas->m_order)
{
auto* l = layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str());
l->m_opacity->m_value.x = canvas->m_canvas->m_layers[i].m_opacity;
}
async_end();
});
open_document(dialog->selected_path);
dialog->destroy();
ActionManager::clear();
};
async_end();
};