Extract document-open import prompt helper
This commit is contained in:
@@ -86,6 +86,22 @@ void prepare_downloaded_project_open(App& app)
|
||||
app.layers->clear();
|
||||
}
|
||||
|
||||
void prompt_import_brush_package(
|
||||
App& app,
|
||||
const char* title,
|
||||
const char* log_prefix,
|
||||
pp::app::BrushPackageImportKind kind,
|
||||
const pp::app::DocumentOpenRoute& route)
|
||||
{
|
||||
auto mb = app.message_box(title, "Would you like to import the brushes?", true);
|
||||
mb->on_submit = [&app, path = route.path, kind, log_prefix](Node* target) {
|
||||
const auto status = pp::panopainter::execute_legacy_brush_package_import(app, kind, path);
|
||||
if (!status.ok())
|
||||
LOG("%s import failed: %s", log_prefix, status.message);
|
||||
pp::panopainter::close_legacy_dialog_node(*target);
|
||||
};
|
||||
}
|
||||
|
||||
class LegacyDocumentOpenServices final : public pp::app::DocumentOpenServices {
|
||||
public:
|
||||
explicit LegacyDocumentOpenServices(App& app) noexcept
|
||||
@@ -95,32 +111,22 @@ public:
|
||||
|
||||
void prompt_import_abr(const pp::app::DocumentOpenRoute& route) override
|
||||
{
|
||||
auto* app = &app_;
|
||||
auto mb = app_.message_box("Import ABR", "Would you like to import the brushes?", true);
|
||||
mb->on_submit = [app, path = route.path](Node* target) {
|
||||
const auto status = pp::panopainter::execute_legacy_brush_package_import(
|
||||
*app,
|
||||
pp::app::BrushPackageImportKind::abr,
|
||||
path);
|
||||
if (!status.ok())
|
||||
LOG("ABR import failed: %s", status.message);
|
||||
pp::panopainter::close_legacy_dialog_node(*target);
|
||||
};
|
||||
prompt_import_brush_package(
|
||||
app_,
|
||||
"Import ABR",
|
||||
"ABR",
|
||||
pp::app::BrushPackageImportKind::abr,
|
||||
route);
|
||||
}
|
||||
|
||||
void prompt_import_ppbr(const pp::app::DocumentOpenRoute& route) override
|
||||
{
|
||||
auto* app = &app_;
|
||||
auto mb = app_.message_box("Import PPBR", "Would you like to import the brushes?", true);
|
||||
mb->on_submit = [app, path = route.path](Node* target) {
|
||||
const auto status = pp::panopainter::execute_legacy_brush_package_import(
|
||||
*app,
|
||||
pp::app::BrushPackageImportKind::ppbr,
|
||||
path);
|
||||
if (!status.ok())
|
||||
LOG("PPBR import failed: %s", status.message);
|
||||
pp::panopainter::close_legacy_dialog_node(*target);
|
||||
};
|
||||
prompt_import_brush_package(
|
||||
app_,
|
||||
"Import PPBR",
|
||||
"PPBR",
|
||||
pp::app::BrushPackageImportKind::ppbr,
|
||||
route);
|
||||
}
|
||||
|
||||
void open_project_now(const pp::app::DocumentOpenRoute& route) override
|
||||
|
||||
Reference in New Issue
Block a user