mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-01 03:53:24 +00:00
Support relative times in diveplanner input "on the fly" mode
This had gotten lost when updating the profile on the fly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
d281ad84fd
commit
85ed689dc0
3 changed files with 8 additions and 4 deletions
2
dive.h
2
dive.h
|
@ -597,7 +597,7 @@ struct diveplan {
|
|||
extern void test_planner(void);
|
||||
void plan(struct diveplan *diveplan, char **cache_datap, struct dive **divep);
|
||||
void plan_add_segment(struct diveplan *diveplan, int duration, int depth, int o2, int he);
|
||||
void add_duration_to_nth_dp(struct diveplan *diveplan, int idx, int duration);
|
||||
void add_duration_to_nth_dp(struct diveplan *diveplan, int idx, int duration, gboolean is_rel);
|
||||
void add_depth_to_nth_dp(struct diveplan *diveplan, int idx, int depth);
|
||||
void add_gas_to_nth_dp(struct diveplan *diveplan, int idx, int o2, int he);
|
||||
void free_dps(struct divedatapoint *dp);
|
||||
|
|
|
@ -1395,7 +1395,7 @@ static gboolean duration_focus_out_cb(GtkWidget *entry, GdkEvent * event, gpoint
|
|||
|
||||
durationtext = strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
|
||||
if (validate_time(durationtext, &duration, &is_rel)) {
|
||||
add_duration_to_nth_dp(&diveplan, idx, duration);
|
||||
add_duration_to_nth_dp(&diveplan, idx, duration, is_rel);
|
||||
show_planned_dive();
|
||||
} else {
|
||||
/* we need to instead change the color of the input field or something */
|
||||
|
|
|
@ -179,9 +179,13 @@ struct divedatapoint *get_nth_dp(struct diveplan *diveplan, int idx)
|
|||
return dp;
|
||||
}
|
||||
|
||||
void add_duration_to_nth_dp(struct diveplan *diveplan, int idx, int duration)
|
||||
void add_duration_to_nth_dp(struct diveplan *diveplan, int idx, int duration, gboolean is_rel)
|
||||
{
|
||||
struct divedatapoint *dp = get_nth_dp(diveplan, idx);
|
||||
struct divedatapoint *pdp, *dp = get_nth_dp(diveplan, idx);
|
||||
if (idx > 0 && is_rel) {
|
||||
pdp = get_nth_dp(diveplan, idx - 1);
|
||||
duration += pdp->time;
|
||||
}
|
||||
dp->time = duration;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue