diff --git a/TutorialMaker/Lib/TutorialGUI.py b/TutorialMaker/Lib/TutorialGUI.py index b87a288..e4f3ae3 100644 --- a/TutorialMaker/Lib/TutorialGUI.py +++ b/TutorialMaker/Lib/TutorialGUI.py @@ -357,6 +357,10 @@ def openAnnotationsAsJSON(self): if not os.path.exists(jsonPath): return + self.selectedAnnotator = None + self.selectedAnnotation = None + self.selectedIndexes = [0, 0] + [tInfo, tSlides, tPaths] = AnnotatedTutorial.LoadAnnotatedTutorial(jsonPath) for step in self.steps: self.gridLayout.removeWidget(step) @@ -394,11 +398,22 @@ def openAnnotationsAsJSON(self): self._regenerateCoverPixmap() self._regenerateAcknowledgmentPixmap() + + if len(self.steps) > 0 and len(self.steps[0].Slides) > 0: + self.changeSelectedSlide(0, 0) + else: + self.slideTitleWidget.setText("") + self.slideBodyWidget.setText("") def saveAnnotationsAsJSON(self): import re + + if self.selectedAnnotator is not None: + self.selectedAnnotator.SlideTitle = self.slideTitleWidget.text + self.selectedAnnotator.SlideBody = self.slideBodyWidget.toPlainText() + outputFileAnnotations = {**self.tutorialInfo} outputFileTextDict = {} outputFileOld = [] @@ -520,6 +535,9 @@ def loadImagesAndMetadata(self, tutorialData): if acknowledgments_pm is not None: self.addBlankPage(False, len(self.steps), "", type_="Acknowledgment", pixmap=acknowledgments_pm) self.ackStepIndex = len(self.steps) - 1 + + if len(self.steps) > 0 and len(self.steps[0].Slides) > 0: + self.changeSelectedSlide(0, 0) pass def swapStepPosition(self, index, swapTo): @@ -551,21 +569,15 @@ def changeSelectedSlide(self, stepId, screenshotId): self.selectedSlide.setPixmap(selectedScreenshot.GetResized(*self.selectedSlideSize, keepAspectRatio=True)) self.selectedAnnotator = selectedScreenshot - # Load text from slideAnnotator - self.slideTitleWidget.setText(self.selectedAnnotator.SlideTitle) - self.slideBodyWidget.setText(self.selectedAnnotator.SlideBody) - - # Bind editors depending on layout layout = getattr(selectedScreenshot, "SlideLayout", "") + self._unbindEditorsFromCover() + self._unbindEditorsFromAcknowledgment() + if layout == "CoverPage": self._bindEditorsToCover() - self._unbindEditorsFromAcknowledgment() elif layout == "Acknowledgment": self._bindEditorsToAcknowledgment() - self._unbindEditorsFromCover() else: - self._unbindEditorsFromCover() - self._unbindEditorsFromAcknowledgment() self.slideTitleWidget.setText(self.selectedAnnotator.SlideTitle) self.slideBodyWidget.setText(self.selectedAnnotator.SlideBody)