Recorder - Allow creation of new file instead of overwriting
parent
4198189fbb
commit
4ea4966feb
|
|
@ -11,6 +11,11 @@
|
|||
settings.recording = false;
|
||||
return settings;
|
||||
}
|
||||
|
||||
function updateSettings(settings) {
|
||||
require("Storage").writeJSON("recorder.json", settings);
|
||||
if (WIDGETS["recorder"]) WIDGETS["recorder"].reload();
|
||||
}
|
||||
|
||||
function getRecorders() {
|
||||
var recorders = {
|
||||
|
|
@ -227,15 +232,32 @@
|
|||
Bangle.drawWidgets(); // relayout all widgets
|
||||
},setRecording:function(isOn) {
|
||||
var settings = loadSettings();
|
||||
if (isOn && !settings.recording && require("Storage").list(settings.file).length)
|
||||
return E.showPrompt("Overwrite\nLog " + settings.file.match(/\d+/)[0] + "?",{title:"Recorder",buttons:{Yes:"yes",No:"no"}}).then(selection=>{
|
||||
if (isOn && !settings.recording && require("Storage").list(settings.file).length){
|
||||
var logfiles=require("Storage").list(/recorder.log.*/);
|
||||
var maxNumber=0;
|
||||
for (var c of logfiles){
|
||||
maxNumber = Math.max(maxNumber, c.match(/\d+/)[0]);
|
||||
}
|
||||
var newFileName;
|
||||
if (maxNumber < 99){
|
||||
newFileName="recorder.log" + (maxNumber + 1) + ".csv";
|
||||
updateSettings(settings);
|
||||
}
|
||||
var buttons={Yes:"yes",No:"no"};
|
||||
if (newFileName) buttons["New"] = "new";
|
||||
var prompt = E.showPrompt("Overwrite\nLog " + settings.file.match(/\d+/)[0] + "?",{title:"Recorder",buttons:buttons}).then(selection=>{
|
||||
if (selection=="no") return false; // just cancel
|
||||
if (selection=="yes") require("Storage").open(settings.file,"r").erase();
|
||||
// TODO: Add 'new file' option
|
||||
if (selection=="new"){
|
||||
settings.file = newFileName;
|
||||
updateSettings(settings);
|
||||
}
|
||||
return WIDGETS["recorder"].setRecording(1);
|
||||
});
|
||||
return prompt;
|
||||
}
|
||||
settings.recording = isOn;
|
||||
require("Storage").write("recorder.json", settings);
|
||||
updateSettings(settings);
|
||||
WIDGETS["recorder"].reload();
|
||||
return Promise.resolve(settings.recording);
|
||||
}/*,plotTrack:function(m) { // m=instance of openstmap module
|
||||
|
|
|
|||
Loading…
Reference in New Issue