BioroboticsLab / biotracker_core

Video Tracking Framework for the Analysis of Animal Behavior - Core Component
34 stars 7 forks source link

Saving: file type not selectable #160

Open walachey opened 6 years ago

walachey commented 6 years ago

When I save a file, I cannot select the file type (in the "Save as.."-dialog). When I manually enter e.g. "foo.json" it saves as "foo.json.csv". When I enter "foo.csv", it saves as "foo.csv.csv".

I can change the filetype in the settings. Then I have to restart the BT for the change to take effect.

Apparently, the ENUMS::CONTROLLERTYPE::DATAEXPORT is persistent with a fixed model (either csv or json writer). So when ControllerDataExporter::saveFile is called, it just saves the file with whatever model is currently set. Same problem is probably for loading.

This is super counter-intuitive. Should the controller set its own model on save/load depending on the file type? Or should the MainWindowController change the other model? Why is the ControllerDataExport persistent anyway?

hmoenck commented 6 years ago

First one was a naive solution: It should recognize when you want to serialize json or whatever and then automatically load the correct exporter. This is simply a missing feature.

See the wiki The Settings Window. Here you can apply configurations which are valid throughout the entire application. Changes will not not take effect until restart of BioTracker. Kinda counter-intuitive indeed. This should be moved to the ControllerDataExport and it should be signaled to change the exporter to the desired one (with or without erasing data, depending the usecase).