From 310ad74ca5a463c36b91a7bd89fadea0186b2979 Mon Sep 17 00:00:00 2001 From: Sean Ryan Date: Wed, 4 Aug 2021 13:14:53 -0300 Subject: [PATCH 1/8] add mode switcher to json preview --- src/renderer/class/CaptionManager.js | 4 ++++ .../components/caption-studio/JsonPreview.vue | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/renderer/class/CaptionManager.js b/src/renderer/class/CaptionManager.js index 0e332b2..447050a 100644 --- a/src/renderer/class/CaptionManager.js +++ b/src/renderer/class/CaptionManager.js @@ -83,6 +83,10 @@ class CaptionManager { const current = this.data[key]; + if (!current) { + this.addCaption(key, $origin); + } + this.data[key][index] = { content: caption.content || current.content, end: 'number' === typeof caption.end ? caption.end : current.end, diff --git a/src/renderer/components/caption-studio/JsonPreview.vue b/src/renderer/components/caption-studio/JsonPreview.vue index df0a6ec..2dfd891 100644 --- a/src/renderer/components/caption-studio/JsonPreview.vue +++ b/src/renderer/components/caption-studio/JsonPreview.vue @@ -84,8 +84,9 @@ export default { activeFile: '', fileNameMap: {}, options: { - onChangeJSON: this.onEdit, - mode: 'form', + //onChangeJSON: this.onEdit, + onChangeText: this.onEdit, + modes: [ 'form', 'text'], onEvent: this.onEvent }, }; @@ -143,11 +144,11 @@ export default { * Handles JSON Editor changes */ onEdit($event) { - this.checkErrors($event, this.origin); + this.checkErrors(JSON.parse($event), this.origin); if (this.jsonErrors) { return; } - EventBus.$emit('json_update', $event, this.origin); + EventBus.$emit('json_update', JSON.parse($event), this.origin); }, /** * Handles the save caption event from app menu or keyboard shortcut @@ -207,6 +208,10 @@ export default { const index = node.path[1]; const indexDelta = index - this.currentIndex; + if (this.currentIndex === index) { + return; + } + if (this.activeFile === node.path[0]) { EventBus.$emit('caption_move_index', indexDelta, this.origin); return; @@ -320,6 +325,10 @@ export default { const file = json[key]; + if (!file) { + return; + } + if (!Array.isArray(file)) { return; } From 15f95ae38a190731f7753441a7322d667ce311ac Mon Sep 17 00:00:00 2001 From: Sean Ryan Date: Wed, 4 Aug 2021 13:29:20 -0300 Subject: [PATCH 2/8] fix small error when opening caption studio --- src/renderer/class/CaptionManager.js | 4 ---- src/renderer/components/caption-studio/CaptionPreview.vue | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer/class/CaptionManager.js b/src/renderer/class/CaptionManager.js index 447050a..0e332b2 100644 --- a/src/renderer/class/CaptionManager.js +++ b/src/renderer/class/CaptionManager.js @@ -83,10 +83,6 @@ class CaptionManager { const current = this.data[key]; - if (!current) { - this.addCaption(key, $origin); - } - this.data[key][index] = { content: caption.content || current.content, end: 'number' === typeof caption.end ? caption.end : current.end, diff --git a/src/renderer/components/caption-studio/CaptionPreview.vue b/src/renderer/components/caption-studio/CaptionPreview.vue index 4f6d48b..a047c78 100644 --- a/src/renderer/components/caption-studio/CaptionPreview.vue +++ b/src/renderer/components/caption-studio/CaptionPreview.vue @@ -117,6 +117,10 @@ export default { } this.data = $event; this.captionPlayer.captions = CaptionFactory.createCaptionMap($event); + + if (!this.name) { + return; + } this.captionPlayer.start( this.name, this.data[this.name][this.index].start From fc9f56071c289f194ee71f59f7f235e0f2ad4a05 Mon Sep 17 00:00:00 2001 From: Sean Ryan Date: Wed, 4 Aug 2021 14:51:10 -0300 Subject: [PATCH 3/8] switch mode from text to code and fix UI --- .../components/caption-studio/JsonPreview.vue | 54 ++++++++++++++++--- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/src/renderer/components/caption-studio/JsonPreview.vue b/src/renderer/components/caption-studio/JsonPreview.vue index 2dfd891..64d92dc 100644 --- a/src/renderer/components/caption-studio/JsonPreview.vue +++ b/src/renderer/components/caption-studio/JsonPreview.vue @@ -1,7 +1,7 @@