struct gp_dialog { gp_widget *layout; long retval; };
A dialog is an interface that communicates information and prompts a response.
struct gp_dialog { gp_widget *layout; long retval; };
Dialog is implemented as a widget layout i.e. pointer to a widget along with a return value.
long gp_dialog_run(gp_dialog *self);
Dialog is shown to the user by calling this function that temporarily replaces the layout that is shown to the user. The dialog runs, i.e. is shown on the screen and processes input events, until the dialog retval is set to non-zero.
gp_widget *gp_dialog_layout_load(const char *dialog_name, const char *fallback_json, void **uids);
Loads a dialog layout given a dialog name.
The dialog layout looked up in this order:
A user directory ~/.config/gfxprim/dialogs/${dialog_name}.json
A system directory /etc/gfxprim/dialogs/${dialog_name}.json
And lastly it uses the fallback json string