How to prevent start printing? PrinterStateViewModel.print vs. OctoPrint.job.start()

Hi,

after the user starts a print via UI, a plugin should be able to check "something" to prevent starting the print e.g. "select a spool with enough filament", "turn on camera", "close the door"....

My current implementation just overwrite the "printerStateViewModel.print" function and it works for the "big" print button.
But the print button in the FileList-View acts differently. It doesn't use the printerStateViewModel.print function, instead it use self.loadFile = function(data, printAfterLoad) { to execute directly OctoPrint.job.start();
See https://github.com/OctoPrint/OctoPrint/blob/f79d217ffae4027302ce6351e9fafbc426c3de52/src/octoprint/static/js/app/viewmodels/files.js#L542

I am not sure is this implemented on purpose or it is a design flaw, that the two print buttons acts differently.

My suggestion is to use printerStateViewModel.print function instead of OctoPrint.job.start(); for starting the job in the loadFile, select function

Well, I think only one of the core developers or only @foosel could give me some insides.

Thx, in advance
Olli