mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Desktop: add additional star widgets to Information tab
Provide file I/O for those star widgets that are enabled. The values of the widgets can be stored to and read from either xml or git. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6d7f26f4bf
commit
9006e3d102
4 changed files with 35 additions and 3 deletions
|
@ -273,6 +273,18 @@ static void parse_dive_rating(char *line, struct membuffer *str, struct git_pars
|
|||
static void parse_dive_visibility(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{ UNUSED(str); state->active_dive->visibility = get_index(line); }
|
||||
|
||||
static void parse_dive_wavesize(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{ UNUSED(str); state->active_dive->wavesize = get_index(line); }
|
||||
|
||||
static void parse_dive_current(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{ UNUSED(str); state->active_dive->current = get_index(line); }
|
||||
|
||||
static void parse_dive_surge(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{ UNUSED(str); state->active_dive->surge = get_index(line); }
|
||||
|
||||
static void parse_dive_chill(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{ UNUSED(str); state->active_dive->chill = get_index(line); }
|
||||
|
||||
static void parse_dive_notrip(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
{
|
||||
UNUSED(str);
|
||||
|
@ -987,9 +999,9 @@ static void divecomputer_parser(char *line, struct membuffer *str, struct git_pa
|
|||
struct keyword_action dive_action[] = {
|
||||
#undef D
|
||||
#define D(x) { #x, parse_dive_ ## x }
|
||||
D(airpressure), D(airtemp), D(buddy), D(cylinder), D(divemaster), D(divesiteid), D(duration),
|
||||
D(gps), D(location), D(notes), D(notrip), D(rating), D(suit),
|
||||
D(tags), D(visibility), D(watertemp), D(weightsystem)
|
||||
D(airpressure), D(airtemp), D(buddy), D(chill), D(current), D(cylinder), D(divemaster), D(divesiteid), D(duration),
|
||||
D(gps), D(location), D(notes), D(notrip), D(rating), D(suit), D(surge),
|
||||
D(tags), D(visibility), D(watertemp), D(wavesize), D(weightsystem)
|
||||
};
|
||||
|
||||
static void dive_parser(char *line, struct membuffer *str, struct git_parser_state *state)
|
||||
|
|
|
@ -1335,6 +1335,14 @@ static void try_to_fill_dive(struct dive *dive, const char *name, char *buf, str
|
|||
return;
|
||||
if (MATCH("visibility.dive", get_rating, &dive->visibility))
|
||||
return;
|
||||
if (MATCH("wavesize.dive", get_rating, &dive->wavesize))
|
||||
return;
|
||||
if (MATCH("current.dive", get_rating, &dive->current))
|
||||
return;
|
||||
if (MATCH("surge.dive", get_rating, &dive->surge))
|
||||
return;
|
||||
if (MATCH("chill.dive", get_rating, &dive->chill))
|
||||
return;
|
||||
if (MATCH_STATE("airpressure.dive", pressure, &dive->surface_pressure))
|
||||
return;
|
||||
if (MATCH("description.weightsystem", utf8_string, &dive->weightsystems.weightsystems[dive->weightsystems.nr - 1].description))
|
||||
|
|
|
@ -433,6 +433,10 @@ static void create_dive_buffer(struct dive *dive, struct membuffer *b)
|
|||
put_format(b, "duration %u:%02u min\n", FRACTION(dive->dc.duration.seconds, 60));
|
||||
SAVE("rating", rating);
|
||||
SAVE("visibility", visibility);
|
||||
SAVE("wavesize", wavesize);
|
||||
SAVE("current", current);
|
||||
SAVE("surge", surge);
|
||||
SAVE("chill", chill);
|
||||
if (surface_pressure.mbar)
|
||||
SAVE("airpressure", surface_pressure.mbar);
|
||||
cond_put_format(dive->notrip, b, "notrip\n");
|
||||
|
|
|
@ -490,6 +490,14 @@ void save_one_dive_to_mb(struct membuffer *b, struct dive *dive, bool anonymize)
|
|||
put_format(b, " rating='%d'", dive->rating);
|
||||
if (dive->visibility)
|
||||
put_format(b, " visibility='%d'", dive->visibility);
|
||||
if (dive->wavesize)
|
||||
put_format(b, " wavesize='%d'", dive->wavesize);
|
||||
if (dive->current)
|
||||
put_format(b, " current='%d'", dive->current);
|
||||
if (dive->surge)
|
||||
put_format(b, " surge='%d'", dive->surge);
|
||||
if (dive->chill)
|
||||
put_format(b, " chill='%d'", dive->chill);
|
||||
save_tags(b, dive->tag_list);
|
||||
if (dive->dive_site) {
|
||||
put_format(b, " divesiteid='%8x'", dive->dive_site->uuid);
|
||||
|
|
Loading…
Reference in a new issue