X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/53ac8302de217e951b13e3b216c6fcd14a5a80f2..ec84f3a6395b3a3c672f0572841ed6eda8ee828a:/src/dialog.h diff --git a/src/dialog.h b/src/dialog.h index cc542906..d6af9a4a 100644 --- a/src/dialog.h +++ b/src/dialog.h @@ -29,6 +29,8 @@ #include "vikwaypoint.h" #include "vikcoord.h" +G_BEGIN_DECLS + /* most of this file is an architechtural flaw. */ #define a_dialog_info_msg(win,info) a_dialog_msg(win,GTK_MESSAGE_INFO,info,NULL) @@ -50,20 +52,33 @@ void a_dialog_about ( GtkWindow *parent ); gboolean a_dialog_goto_latlon ( GtkWindow *parent, struct LatLon *ll, const struct LatLon *old ); gboolean a_dialog_goto_utm ( GtkWindow *parent, struct UTM *utm, const struct UTM *old ); -/* if *dest is non-null, uses it as a default and frees it */ -gboolean a_dialog_new_waypoint ( GtkWindow *parent, gchar **dest, VikWaypoint *wp, GHashTable *waypoints, VikCoordMode coord_mode ); +/* Specify if a new waypoint or not */ +/* If a new waypoint then it uses the default_name for the suggested name allowing the user to change it. + The name to use is returned + When an existing waypoint the name is shown but is not allowed to be changed and NULL is returned + */ +gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated ); -gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *default_name ); +gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *default_name, gboolean is_route ); -gboolean a_dialog_overwrite ( GtkWindow *parent, const gchar *message, const gchar *extra ); +gboolean a_dialog_yes_or_no ( GtkWindow *parent, const gchar *message, const gchar *extra ); gboolean a_dialog_custom_zoom ( GtkWindow *parent, gdouble *xmpp, gdouble *ympp ); gboolean a_dialog_time_threshold ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint *thr ); +/** + * Dialog to return a positive number via a spinbox within the supplied limits + * A return value of zero indicates the dialog was cancelled + */ +guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint default_num, guint min, guint max, guint step ); + void a_dialog_choose_dir ( GtkWidget *entry ); gboolean a_dialog_map_n_zoom(GtkWindow *parent, gchar *mapnames[], gint default_map, gchar *zoom_list[], gint default_zoom, gint *selected_map, gint *selected_zoom); -GList *a_dialog_select_from_list ( GtkWindow *parent, GHashTable *tracks, GList *track_names, gboolean multiple_selection_allowed, const gchar *title, const gchar *msg ); +GList *a_dialog_select_from_list ( GtkWindow *parent, GList *names, gboolean multiple_selection_allowed, const gchar *title, const gchar *msg ); + +void a_dialog_license ( GtkWindow *parent, const gchar *map, const gchar *license, const gchar *url); + +G_END_DECLS -void a_dialog_license ( GtkWidget *parent, const gchar *map, const gchar *license, const gchar *url); #endif