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(
|
void wire_document_save_dialog_buttons(
|
||||||
App& app,
|
App& app,
|
||||||
const std::shared_ptr<NodeDialogSave>& dialog,
|
const std::shared_ptr<NodeDialogSave>& dialog,
|
||||||
@@ -401,25 +427,7 @@ void App::dialog_browse()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const auto overlay_handle = overlay.value();
|
const auto overlay_handle = overlay.value();
|
||||||
|
wire_document_browse_dialog_actions(*this, dialog, *overlay_anchor, 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 = [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();
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
continue_document_workflow_after_optional_save(show_dialog);
|
continue_document_workflow_after_optional_save(show_dialog);
|
||||||
|
|||||||
Reference in New Issue
Block a user