fix thumbnail generator for iOS and open document when file clicked
This commit is contained in:
20
src/app.cpp
20
src/app.cpp
@@ -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;
|
||||
|
||||
@@ -102,6 +102,7 @@ public:
|
||||
void initShaders();
|
||||
void initAssets();
|
||||
void initLayout();
|
||||
void open_document(std::string path);
|
||||
void create();
|
||||
bool request_close();
|
||||
void terminate();
|
||||
|
||||
@@ -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();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user