diff --git a/web/app/src/views/FirstTimeWizardView.vue b/web/app/src/views/FirstTimeWizardView.vue index 6c9ec54a..4accda91 100644 --- a/web/app/src/views/FirstTimeWizardView.vue +++ b/web/app/src/views/FirstTimeWizardView.vue @@ -7,7 +7,7 @@ v-for="step in 4" :key="step" @click="jumpToStep(step)" :class="{ - current: step == currentSetupStep, + current: step == currentSetupStep, done: step < currentSetupStep, disabled: step > overallSetupStep, }" @@ -37,11 +37,11 @@

More information is available on the online documentation at flamenco.blender.org.

-

Please specify a storage path (or drive), where you want to store your Flamenco data. @@ -57,24 +57,23 @@

Using a service like Syncthing, ownCloud, or Dropbox for this is not recommended, as Flamenco can't coordinate data synchronization.

-

{{ sharedStorageCheckResult.cause }}

- Looking for Blender installs... -
- Choose which Blender to use: -
- -
+

Provide a path to Blender. This path should be accessible by all Workers. If your rendering + setup features operating systems different form the one you are currently using, you can + manually set up the other paths later.

+ +

Choose how a Worker should invoke the Blender command when performing a task.

+ +
+ + +
-

- Provide a path to Blender. This path should be accessible by all Workers. If your rendering - setup features operating systems different form the one you are currently using, you can - manually set up the other paths later. -

-

Or provide an alternative command to try.

+
+ - +

Checking...

-
Checking...
- -

- Found something, it is selected above.

-

- {{ blenderExeCheckResult.cause }}

+

+ {{ blenderExeCheckResult.cause }}

+
-

This is the configuration that will be used by Flamenco:

@@ -194,9 +218,9 @@ function debounce(func, wait, immediate) { export default { name: 'FirstTimeWizardView', components: { - NotificationBar, UpdateListener, StepItem, + NotificationBar, }, data: () => ({ sharedStoragePath: "", @@ -213,9 +237,9 @@ export default { isBlenderExeChecking: false, blenderExeCheckResult: null, // api.BlenderPathCheckResult sourceLabels: { - file_association: "This Blender runs when you double-click a .blend file.", - path_envvar: "This Blender was found on the $PATH environment.", - input_path: "You pointed Flamenco to this executable.", + file_association: "Blender that runs when you double-click a .blend file.", + path_envvar: "Blender that was found on the $PATH environment.", + input_path: "Another Blender executable.", }, isConfirming: false, isConfirmed: false, @@ -238,6 +262,22 @@ export default { isConfigComplete() { return this.isSharedStorageValid && this.isSelectedBlenderValid; }, + autoFoundBlenderPathEnvvar() { + return this.autoFoundBlenders.find(b => b.source === 'path_envvar'); + }, + autoFoundBlenderFileAssociation() { + return this.autoFoundBlenders.find(b => b.source === 'file_association'); + }, + blenderFromInputPath() { + return this.allBlenders.find(b => b.source === 'input_path'); + }, + setupConfirmIsClickable() { + if (this.isConfirming || this.isConfirmed) { + return false; + } else { + return true; + } + } }, mounted() { this.findBlenderExePath(); @@ -251,20 +291,22 @@ export default { onSIODisconnected(reason) { }, - checkSharedStoragePath() { + nextStepAfterCheckSharedStoragePath() { const pathCheck = new PathCheckInput(this.cleanSharedStoragePath); console.log("requesting path check:", pathCheck); - this.metaAPI.checkSharedStoragePath({ pathCheckInput: pathCheck }) + return this.metaAPI.checkSharedStoragePath({ pathCheckInput: pathCheck }) .then((result) => { console.log("Storage path check result:", result); this.sharedStorageCheckResult = result; + if (this.isSharedStorageValid) { + this.nextStep(); + } }) .catch((error) => { console.log("Error checking storage path:", error); }) }, - findBlenderExePath() { this.isBlenderExeFinding = true; this.autoFoundBlenders = []; @@ -305,6 +347,8 @@ export default { this.blenderExeCheckResult = result; if (result.is_usable) { this.selectedBlender = result; + } else if (this.selectedBlender.source === 'input_path') { + this.selectedBlender = null; } this._refreshAllBlenders(); }) @@ -324,12 +368,6 @@ export default { } }, - nextStepAfterStoragePath() { - if (this.isSharedStorageValid) { - this.nextStep(); - } - }, - nextStep() { if (this.overallSetupStep <= this.currentSetupStep) { this.overallSetupStep = this.currentSetupStep + 1; @@ -377,6 +415,10 @@ export default {