Commit 711352e
Changed files (5)
lib
components
l10n
screens
subsettings
lib/components/measurement_graph.dart
@@ -94,7 +94,8 @@ class _LineChartState extends State<_LineChart> {
if (settings.drawRegressionLines)
_buildRegressionLine(pulSpots),
for (final horizontalLine in settings.horizontalGraphLines)
- _buildHorizontalLine(horizontalLine, graphBegin!, graphEnd!),
+ if (horizontalLine.height < maxValue && horizontalLine.height > (settings.validateInputs ? 30 : 0))
+ _buildHorizontalLine(horizontalLine, graphBegin!, graphEnd!),
]
),
);
lib/l10n/app_en.arb
@@ -415,5 +415,7 @@
"linePositionY": "Line position (y)",
"@linePositionY": {},
"customGraphMarkings": "Custom markings",
- "@customGraphMarkings": {}
+ "@customGraphMarkings": {},
+ "addLine": "Add line",
+ "@addLine": {}
}
lib/model/ram_only_implementations.dart
@@ -7,6 +7,8 @@ import 'package:blood_pressure_app/model/settings_store.dart';
import 'package:file_saver/file_saver.dart' show MimeType;
import 'package:flutter/material.dart';
+import 'horizontal_graph_line.dart';
+
class RamBloodPressureModel extends ChangeNotifier implements BloodPressureModel {
final List<BloodPressureRecord> _records = [];
lib/screens/subsettings/graph_markings.dart
@@ -36,30 +36,30 @@ class GraphMarkingsScreen extends StatelessWidget {
if (i > lines.length) { // last row
return ListTile(
leading: const Icon(Icons.add),
+ title: Text(localizations.addLine),
onTap: () async {
final color = await showDialog<Color>(context: context,
builder: (context) => SimpleDialog(
children: [MaterialColorPicker(
- circleSize: 53,
- onMainColorChange: (color) {
- Navigator.of(context).pop(color);
- },
- )],));
+ circleSize: 53,
+ onMainColorChange: (color) {
+ Navigator.of(context).pop(color);
+ },
+ )],));
if (!context.mounted) return;
final height = await showDialog<int>(context: context,
- builder: (context) => NumberInputDialoge(
- hintText: localizations.linePositionY,
- onParsableSubmit: (value) {
- Navigator.of(context).pop(value);
- }
- )
+ builder: (context) => NumberInputDialoge(
+ hintText: localizations.linePositionY,
+ onParsableSubmit: (value) {
+ Navigator.of(context).pop(value);
+ }
+ )
);
if (color == null || height == null) return;
lines.add(HorizontalGraphLine(color, height));
settings.horizontalGraphLines = lines;
},
- title: Text(localizations.addEntry),
);
}
return ListTile(
lib/screens/add_measurement.dart
@@ -134,8 +134,6 @@ class _AddMeasurementPageState extends State<AddMeasurementPage> {
ValueInput(
key: const Key('txtPul'),
initialValue: (_pulse ?? '').toString(),
- minLines: 1,
- maxLines: 4, // TODO: check if this shouldn't be part of note input
hintText: AppLocalizations.of(context)!.pulLong,
basicValidation: !settings.allowMissingValues,
preValidation: (v) => _pulse = int.tryParse(v ?? ''),
@@ -149,6 +147,8 @@ class _AddMeasurementPageState extends State<AddMeasurementPage> {
),
TextFormField(
initialValue: (_note ?? '').toString(),
+ minLines: 1,
+ maxLines: 4,
decoration: InputDecoration(hintText: AppLocalizations.of(context)?.addNote),
validator: (String? value) {
_note = value;