0.16: Ability to append to existing track (fix #1712)
parent
68b9e7992f
commit
5d3d0b6e2c
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "gpsrec",
|
"id": "gpsrec",
|
||||||
"name": "GPS Recorder",
|
"name": "GPS Recorder",
|
||||||
"version": "0.28",
|
"version": "0.28",
|
||||||
"description": "Application that allows you to record a GPS track. Can run in background",
|
"description": "(NOT RECOMMENDED) - please use the more flexible 'Recorder' app instead. Application that allows you to record a GPS track. Can run in background",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,outdoors,gps,widget",
|
"tags": "tool,outdoors,gps,widget",
|
||||||
"screenshots": [{"url":"screenshot.png"}],
|
"screenshots": [{"url":"screenshot.png"}],
|
||||||
|
|
|
||||||
|
|
@ -19,3 +19,4 @@
|
||||||
0.13: Fix for when widget is used before app
|
0.13: Fix for when widget is used before app
|
||||||
0.14: Remove unneeded variable assignment
|
0.14: Remove unneeded variable assignment
|
||||||
0.15: Show distance more accurately in conjunction with new locale app (fix #1523)
|
0.15: Show distance more accurately in conjunction with new locale app (fix #1523)
|
||||||
|
0.16: Ability to append to existing track (fix #1712)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"id": "recorder",
|
"id": "recorder",
|
||||||
"name": "Recorder",
|
"name": "Recorder",
|
||||||
"shortName": "Recorder",
|
"shortName": "Recorder",
|
||||||
"version": "0.15",
|
"version": "0.16",
|
||||||
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
|
"description": "Record GPS position, heart rate and more in the background, then download to your PC.",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool,outdoors,gps,widget",
|
"tags": "tool,outdoors,gps,widget",
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
settings.record.forEach(r => {
|
settings.record.forEach(r => {
|
||||||
var recorder = recorders[r];
|
var recorder = recorders[r];
|
||||||
if (!recorder) {
|
if (!recorder) {
|
||||||
console.log("Recorder for "+E.toJS(r)+"+not found");
|
console.log(/*LANG*/"Recorder for "+E.toJS(r)+/*LANG*/"+not found");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var activeRecorder = recorder();
|
var activeRecorder = recorder();
|
||||||
|
|
@ -231,11 +231,11 @@
|
||||||
},getRecorders:getRecorders,reload:function() {
|
},getRecorders:getRecorders,reload:function() {
|
||||||
reload();
|
reload();
|
||||||
Bangle.drawWidgets(); // relayout all widgets
|
Bangle.drawWidgets(); // relayout all widgets
|
||||||
},setRecording:function(isOn) {
|
},setRecording:function(isOn, forceAppend) {
|
||||||
var settings = loadSettings();
|
var settings = loadSettings();
|
||||||
if (isOn && !settings.recording && !settings.file) {
|
if (isOn && !settings.recording && !settings.file) {
|
||||||
settings.file = "recorder.log0.csv";
|
settings.file = "recorder.log0.csv";
|
||||||
} else if (isOn && !settings.recording && require("Storage").list(settings.file).length){
|
} else if (isOn && !forceAppend && !settings.recording && require("Storage").list(settings.file).length){
|
||||||
var logfiles=require("Storage").list(/recorder.log.*/);
|
var logfiles=require("Storage").list(/recorder.log.*/);
|
||||||
var maxNumber=0;
|
var maxNumber=0;
|
||||||
for (var c of logfiles){
|
for (var c of logfiles){
|
||||||
|
|
@ -246,18 +246,19 @@
|
||||||
newFileName="recorder.log" + (maxNumber + 1) + ".csv";
|
newFileName="recorder.log" + (maxNumber + 1) + ".csv";
|
||||||
updateSettings(settings);
|
updateSettings(settings);
|
||||||
}
|
}
|
||||||
var buttons={Yes:"yes",No:"no"};
|
var buttons={/*LANG*/"Yes":"overwrite",/*LANG*/"No":"cancel"};
|
||||||
if (newFileName) buttons["New"] = "new";
|
if (newFileName) buttons[/*LANG*/"New"] = "new";
|
||||||
return E.showPrompt("Overwrite\nLog " + settings.file.match(/\d+/)[0] + "?",{title:"Recorder",buttons:buttons}).then(selection=>{
|
buttons[/*LANG*/"Append"] = "append";
|
||||||
if (selection==="no") return false; // just cancel
|
return E.showPrompt(/*LANG*/"Overwrite\nLog " + settings.file.match(/\d+/)[0] + "?",{title:/*LANG*/"Recorder",buttons:buttons}).then(selection=>{
|
||||||
if (selection==="yes") {
|
if (selection==="cancel") return false; // just cancel
|
||||||
|
if (selection==="overwrite")
|
||||||
require("Storage").open(settings.file,"r").erase();
|
require("Storage").open(settings.file,"r").erase();
|
||||||
}
|
|
||||||
if (selection==="new"){
|
if (selection==="new"){
|
||||||
settings.file = newFileName;
|
settings.file = newFileName;
|
||||||
updateSettings(settings);
|
updateSettings(settings);
|
||||||
}
|
}
|
||||||
return WIDGETS["recorder"].setRecording(1);
|
// if (selection==="append") // we do nothing - all is fine
|
||||||
|
return WIDGETS["recorder"].setRecording(1,true/*force append*/);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
settings.recording = isOn;
|
settings.recording = isOn;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue