added visibility to save button in map and cleaned up db helper a bit
This commit is contained in:
4
Todo.txt
4
Todo.txt
@@ -1,11 +1,11 @@
|
||||
todo:
|
||||
TESTEN!!
|
||||
In der Karte den save button erst zeigen nachdem marker gesetzt wurde
|
||||
maybe auch vorschläge aus templates in dropdown menüs anzeigen
|
||||
clean db_helper
|
||||
eintrag in db wenn http response (in sent column)
|
||||
|
||||
not to do:
|
||||
clean db_helper
|
||||
In der Karte den save button erst zeigen nachdem marker gesetzt wurde
|
||||
json string in csv und exportieren in text datei
|
||||
add settings to change name and bland
|
||||
Beim Ersten öffnen der App Zwangseingabe von Namen und Bundesland (nur lokal)
|
||||
|
||||
@@ -28,7 +28,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
|
||||
TextEditingController id = TextEditingController();
|
||||
TextEditingController rudelC = TextEditingController();
|
||||
TextEditingController eugridC = TextEditingController();
|
||||
TextEditingController nameVornameC = TextEditingController();
|
||||
TextEditingController plzOrtC = TextEditingController();
|
||||
TextEditingController emailTelC = TextEditingController();
|
||||
@@ -136,7 +135,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
if (widget.isTemplate && widget.templateData != null) {
|
||||
id.text = widget.templateData!['CID'];
|
||||
rudelC.text = widget.templateData!['Rudel'];
|
||||
eugridC.text = widget.templateData!['EUGrid'];
|
||||
nameVornameC.text = widget.templateData!['NameVorname'];
|
||||
plzOrtC.text = widget.templateData!['PLZOrt'];
|
||||
emailTelC.text = widget.templateData!['EmailTel'];
|
||||
@@ -231,7 +229,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
Map<String, dynamic> place = {
|
||||
'CID': id.text,
|
||||
'Rudel': rudelC.text,
|
||||
'EUGrid': eugridC.text,
|
||||
'Datum': datumS,
|
||||
'NameVorname': nameVornameC.text,
|
||||
'PLZOrt': plzOrtC.text,
|
||||
@@ -320,7 +317,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
Map<String, dynamic> templates = {
|
||||
'CID': id.text,
|
||||
'Rudel': rudelC.text,
|
||||
'EUGrid': eugridC.text,
|
||||
'Datum': datumS,
|
||||
'NameVorname': nameVornameC.text,
|
||||
'PLZOrt': plzOrtC.text,
|
||||
@@ -369,7 +365,6 @@ class _AddCamMainState extends State<AddCamMain> {
|
||||
Map<String, dynamic> place = {
|
||||
'CID': id.text,
|
||||
'Rudel': rudelC.text,
|
||||
'EUGrid': eugridC.text,
|
||||
'Datum': datumS,
|
||||
'NameVorname': nameVornameC.text,
|
||||
'PLZOrt': plzOrtC.text,
|
||||
|
||||
@@ -232,6 +232,7 @@ class StandortState extends State<Standort> {
|
||||
List<Marker> markers = [];
|
||||
LatLng? selectedPosition;
|
||||
Position? updatedPosition;
|
||||
bool saveVisible = false;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -239,28 +240,35 @@ class StandortState extends State<Standort> {
|
||||
appBar: AppBar(
|
||||
title: Text(AppLocalizations.of(context)!.map),
|
||||
actions: [
|
||||
Text(AppLocalizations.of(context)!.saveMap),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
if (selectedPosition != null) {
|
||||
setState(() {
|
||||
updatedPosition = Position(
|
||||
longitude: selectedPosition!.longitude,
|
||||
latitude: selectedPosition!.latitude,
|
||||
timestamp: DateTime.now(),
|
||||
accuracy: 0.0,
|
||||
altitude: 0.0,
|
||||
altitudeAccuracy: 0.0,
|
||||
heading: 0.0,
|
||||
headingAccuracy: 0.0,
|
||||
speed: 0.0,
|
||||
speedAccuracy: 0.0);
|
||||
widget.onPositionChange(updatedPosition!);
|
||||
});
|
||||
}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: const Icon(Icons.save),
|
||||
Visibility(
|
||||
visible: saveVisible,
|
||||
child: Row(
|
||||
children: [
|
||||
Text(AppLocalizations.of(context)!.saveMap),
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
if (selectedPosition != null) {
|
||||
setState(() {
|
||||
updatedPosition = Position(
|
||||
longitude: selectedPosition!.longitude,
|
||||
latitude: selectedPosition!.latitude,
|
||||
timestamp: DateTime.now(),
|
||||
accuracy: 0.0,
|
||||
altitude: 0.0,
|
||||
altitudeAccuracy: 0.0,
|
||||
heading: 0.0,
|
||||
headingAccuracy: 0.0,
|
||||
speed: 0.0,
|
||||
speedAccuracy: 0.0);
|
||||
widget.onPositionChange(updatedPosition!);
|
||||
});
|
||||
}
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: const Icon(Icons.save),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -296,6 +304,7 @@ class StandortState extends State<Standort> {
|
||||
),
|
||||
);
|
||||
selectedPosition = latlng;
|
||||
saveVisible = true;
|
||||
});
|
||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||
content: Text(
|
||||
|
||||
@@ -31,9 +31,9 @@ class DBHelper {
|
||||
// The function that helps
|
||||
_onCreatePlace(Database placeDB, int version) async {
|
||||
await placeDB.execute(
|
||||
'CREATE TABLE place (id INTEGER PRIMARY KEY, CID TEXT UNIQUE, Standort TEXT, Rudel TEXT, EUGrid TEXT, Datum TEXT, NameVorname TEXT, PLZOrt TEXT, EmailTel TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, STTyp TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, Bearsafe TEXT, KontDat TEXT, KontSum TEXT, AbbauDat TEXT, Auftrag TEXT, Absprachen TEXT, SonstBemerkungen TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, AltStOrt, AusVon TEXT, AusBis TEXT, KTage1 INTEGER, KTage2 INTEGER, ProtoAm TEXT, IntKomm TEXT, Sent INTEGER DEFAULT 0)');
|
||||
'CREATE TABLE place (id INTEGER PRIMARY KEY, CID TEXT UNIQUE, Standort TEXT, Rudel TEXT, Datum DATE, NameVorname TEXT, PLZOrt TEXT, EmailTel TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, STTyp TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, Bearsafe TEXT, KontDat DATE, KontSum TEXT, AbbauDat DATE, Auftrag TEXT, Absprachen TEXT, SonstBemerkungen TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, AltStOrt, AusVon DATE, AusBis DATE, KTage1 INTEGER, KTage2 INTEGER, ProtoAm DATE, IntKomm TEXT, Sent INTEGER DEFAULT 0)');
|
||||
await placeDB.execute(
|
||||
'CREATE TABLE templates (id INTEGER PRIMARY KEY, CID TEXT UNIQUE, Standort TEXT, Rudel TEXT, EUGrid TEXT, Datum TEXT, NameVorname TEXT, PLZOrt TEXT, EmailTel TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, STTyp TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, Bearsafe TEXT, KontDat TEXT, KontSum TEXT, AbbauDat TEXT, Auftrag TEXT, Absprachen TEXT, SonstBemerkungen TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, AltStOrt TEXT, AusVon TEXT, AusBis TEXT, KTage1 INTEGER, KTage2 INTEGER, ProtoAm TEXT, IntKomm TEXT)');
|
||||
'CREATE TABLE templates (id INTEGER PRIMARY KEY, CID TEXT UNIQUE, Standort TEXT, Rudel TEXT, Datum DATE, NameVorname TEXT, PLZOrt TEXT, EmailTel TEXT, BLand TEXT, Lkr TEXT, BeiOrt TEXT, OrtInfo TEXT, Status TEXT, STTyp TEXT, FFTyp TEXT, FotoFilm TEXT, MEZ TEXT, Platzung TEXT, KSchloNr TEXT, Bearsafe TEXT, KontDat DATE, KontSum TEXT, AbbauDat DATE, Auftrag TEXT, Absprachen TEXT, SonstBemerkungen TEXT, FKontakt1 TEXT, FKontakt2 TEXT, FKontakt3 TEXT, AltStOrt TEXT, AusVon DATE, AusBis DATE, KTage1 INTEGER, KTage2 INTEGER, ProtoAm DATE, IntKomm TEXT)');
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user