Extract document browse dialog helper
This commit is contained in:
@@ -121,6 +121,32 @@ void start_document_export_collection(
|
||||
});
|
||||
}
|
||||
|
||||
void wire_document_browse_dialog_actions(
|
||||
App& app,
|
||||
const std::shared_ptr<NodeDialogBrowse>& dialog,
|
||||
Node& overlay_anchor,
|
||||
pp::ui::NodeHandle overlay_handle)
|
||||
{
|
||||
const auto close_dialog = [&overlay_anchor, overlay_handle]() {
|
||||
const auto close_status =
|
||||
pp::panopainter::close_legacy_overlay_node(overlay_anchor, overlay_handle);
|
||||
(void)close_status;
|
||||
};
|
||||
|
||||
dialog->btn_ok->on_click = [&app, dialog, close_dialog](Node*)
|
||||
{
|
||||
if (dialog->is_selected())
|
||||
{
|
||||
app.open_document(dialog->selected_path);
|
||||
close_dialog();
|
||||
}
|
||||
};
|
||||
dialog->btn_cancel->on_click = [close_dialog](Node*)
|
||||
{
|
||||
close_dialog();
|
||||
};
|
||||
}
|
||||
|
||||
void wire_document_save_dialog_buttons(
|
||||
App& app,
|
||||
const std::shared_ptr<NodeDialogSave>& dialog,
|
||||
@@ -401,25 +427,7 @@ void App::dialog_browse()
|
||||
return;
|
||||
}
|
||||
const auto overlay_handle = overlay.value();
|
||||
|
||||
const auto close_dialog = [overlay_anchor, overlay_handle]() {
|
||||
const auto close_status =
|
||||
pp::panopainter::close_legacy_overlay_node(*overlay_anchor, overlay_handle);
|
||||
(void)close_status;
|
||||
};
|
||||
|
||||
dialog->btn_ok->on_click = [this, dialog, close_dialog](Node*)
|
||||
{
|
||||
if (dialog->is_selected())
|
||||
{
|
||||
open_document(dialog->selected_path);
|
||||
close_dialog();
|
||||
}
|
||||
};
|
||||
dialog->btn_cancel->on_click = [close_dialog](Node*)
|
||||
{
|
||||
close_dialog();
|
||||
};
|
||||
wire_document_browse_dialog_actions(*this, dialog, *overlay_anchor, overlay_handle);
|
||||
};
|
||||
|
||||
continue_document_workflow_after_optional_save(show_dialog);
|
||||
|
||||
Reference in New Issue
Block a user