mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	HTML: Save data with user selected units
Edit the HTML exporter to export data fields with user selected units. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									fae86eb4ce
								
							
						
					
					
						commit
						53f4f1f45a
					
				
					 2 changed files with 42 additions and 5 deletions
				
			
		
							
								
								
									
										44
									
								
								save-html.c
									
										
									
									
									
								
							
							
						
						
									
										44
									
								
								save-html.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -99,7 +99,7 @@ static void put_weightsystem_HTML(struct membuffer *b, struct dive *dive)
 | 
			
		|||
		put_string(b, separator);
 | 
			
		||||
		separator = ", ";
 | 
			
		||||
		put_string(b, "{");
 | 
			
		||||
		put_format(b, "\"weight\":\"%d\",", grams);
 | 
			
		||||
		put_HTML_weight_units(b, grams, "\"weight\":\"", "\",");
 | 
			
		||||
		write_attribute(b, "description", description, " ");
 | 
			
		||||
		put_string(b, "}");
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -121,20 +121,20 @@ static void put_cylinder_HTML(struct membuffer *b, struct dive *dive)
 | 
			
		|||
		separator = ", ";
 | 
			
		||||
		write_attribute(b, "Type", cylinder->type.description, ", ");
 | 
			
		||||
		if (cylinder->type.size.mliter) {
 | 
			
		||||
			put_milli(b, "\"Size\":\"", cylinder->type.size.mliter, " l\", ");
 | 
			
		||||
			put_HTML_volume_units(b, cylinder->type.size.mliter, "\"Size\":\"", " \", ");
 | 
			
		||||
		} else {
 | 
			
		||||
			write_attribute(b, "Size", "--", ", ");
 | 
			
		||||
		}
 | 
			
		||||
		put_pressure(b, cylinder->type.workingpressure, "\"WPressure\":\"", " bar\", ");
 | 
			
		||||
		put_HTML_pressure_units(b, cylinder->type.workingpressure, "\"WPressure\":\"", " \", ");
 | 
			
		||||
 | 
			
		||||
		if (cylinder->start.mbar) {
 | 
			
		||||
			put_milli(b, "\"SPressure\":\"", cylinder->start.mbar, " bar\", ");
 | 
			
		||||
			put_HTML_pressure_units(b, cylinder->start, "\"SPressure\":\"", " \", ");
 | 
			
		||||
		} else {
 | 
			
		||||
			write_attribute(b, "SPressure", "--", ", ");
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (cylinder->end.mbar) {
 | 
			
		||||
			put_milli(b, "\"EPressure\":\"", cylinder->end.mbar, " bar\", ");
 | 
			
		||||
			put_HTML_pressure_units(b, cylinder->end, "\"EPressure\":\"", " \", ");
 | 
			
		||||
		} else {
 | 
			
		||||
			write_attribute(b, "EPressure", "--", ", ");
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -209,6 +209,40 @@ void put_HTML_notes(struct membuffer *b, struct dive *dive, const char *pre, con
 | 
			
		|||
	put_string(b, post);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void put_HTML_pressure_units(struct membuffer *b, pressure_t pressure, const char *pre, const char *post)
 | 
			
		||||
{
 | 
			
		||||
	const char *unit;
 | 
			
		||||
	double value;
 | 
			
		||||
 | 
			
		||||
	if (!pressure.mbar) {
 | 
			
		||||
		put_format(b, "%s%s", pre, post);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	value = get_pressure_units(pressure.mbar, &unit);
 | 
			
		||||
	put_format(b, "%s%.1f %s%s", pre, value, unit, post);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void put_HTML_volume_units(struct membuffer *b, unsigned int ml, const char *pre, const char *post)
 | 
			
		||||
{
 | 
			
		||||
	const char *unit;
 | 
			
		||||
	double value;
 | 
			
		||||
	int frac;
 | 
			
		||||
 | 
			
		||||
	value = get_volume_units(ml, &frac, &unit);
 | 
			
		||||
	put_format(b, "%s%.1f %s%s", pre, value, unit, post);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void put_HTML_weight_units(struct membuffer *b, unsigned int grams, const char *pre, const char *post)
 | 
			
		||||
{
 | 
			
		||||
	const char *unit;
 | 
			
		||||
	double value;
 | 
			
		||||
	int frac;
 | 
			
		||||
 | 
			
		||||
	value = get_weight_units(grams, &frac, &unit);
 | 
			
		||||
	put_format(b, "%s%.1f %s%s", pre, value, unit, post);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void put_HTML_time(struct membuffer *b, struct dive *dive, const char *pre, const char *post)
 | 
			
		||||
{
 | 
			
		||||
	struct tm tm;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,9 @@ void put_HTML_watertemp(struct membuffer *b, struct dive *dive, const char *pre,
 | 
			
		|||
void put_HTML_time(struct membuffer *b, struct dive *dive, const char *pre, const char *post);
 | 
			
		||||
void put_HTML_notes(struct membuffer *b, struct dive *dive, const char *pre, const char *post);
 | 
			
		||||
void put_HTML_quoted(struct membuffer *b, const char *text);
 | 
			
		||||
void put_HTML_pressure_units(struct membuffer *b, pressure_t pressure, const char *pre, const char *post);
 | 
			
		||||
void put_HTML_weight_units(struct membuffer *b, unsigned int grams, const char *pre, const char *post);
 | 
			
		||||
void put_HTML_volume_units(struct membuffer *b, unsigned int ml, const char *pre, const char *post);
 | 
			
		||||
 | 
			
		||||
void export_HTML(const char *file_name, const char *photos_dir, const bool selected_only, const bool list_only);
 | 
			
		||||
void export_list(struct membuffer *b, const char *photos_dir, bool selected_only, const bool list_only);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue