From 0e5c8f101c71c7b6b7ad15dc8f0b4802c1bfbddb Mon Sep 17 00:00:00 2001 From: Rick Walsh Date: Sat, 19 Mar 2016 13:21:35 +1100 Subject: Planner: add segment symbol to output table Add a symbol to each line of output table indicating whether a segment is an ascent, descent, constant depth (user entered) or deco stop Signed-off-by: Rick Walsh Signed-off-by: Robert C. Helling --- subsurface-core/planner.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'subsurface-core') diff --git a/subsurface-core/planner.c b/subsurface-core/planner.c index b8dc97cd7..95882eb65 100644 --- a/subsurface-core/planner.c +++ b/subsurface-core/planner.c @@ -534,7 +534,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool const unsigned int sz_temp = 100000; char *buffer = (char *)malloc(sz_buffer); char *temp = (char *)malloc(sz_temp); - char *deco; + char *deco, *segmentsymbol; static char buf[1000]; int len, lasttime = 0, lastsetpoint = -1, newdepth = 0, lastprintsetpoint = -1; unsigned int lastdepth = 0, lastprintdepth = 0; @@ -597,7 +597,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool translate("gettextFromC", "Subsurface dive plan"), temp); if (!plan_verbatim) { - len += snprintf(buffer + len, sz_buffer - len, "
", + len += snprintf(buffer + len, sz_buffer - len, "
%s
", translate("gettextFromC", "depth")); if (plan_display_duration) len += snprintf(buffer + len, sz_buffer - len, "", @@ -711,8 +711,20 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool (!isascent && gaschange_before && nextdp && dp->depth != nextdp->depth) || (gaschange_after && lastentered) || (gaschange_after && !isascent) || (isascent && gaschange_after && nextdp && dp->depth != nextdp->depth )) { + // Print a symbol to indicate whether segment is an ascent, descent, constant depth (user entered) or deco stop + if (isascent) + segmentsymbol = "➚"; // up-right arrow for ascent + else if (dp->depth > lastdepth) + segmentsymbol = "➘"; // down-right arrow for descent + else if (dp->entered) + segmentsymbol = "➙"; // right arrow for entered entered segment at constant depth + else + segmentsymbol = "➖"; // heavey minus sign for deco stop + + len += snprintf(buffer + len, sz_buffer - len, "", segmentsymbol); + snprintf(temp, sz_temp, translate("gettextFromC", "%3.0f%s"), depthvalue, depth_unit); - len += snprintf(buffer + len, sz_buffer - len, "", temp); + len += snprintf(buffer + len, sz_buffer - len, "", temp); if (plan_display_duration) { snprintf(temp, sz_temp, translate("gettextFromC", "%3dmin"), (dp->time - lasttime + 30) / 60); len += snprintf(buffer + len, sz_buffer - len, "", temp); -- cgit v1.2.3-70-g09d2
%s%s
%s
%s%s%s