diff --git a/src/ui/editors/editorWidget.py b/src/ui/editors/editorWidget.py index 723937bb..23cc7e26 100644 --- a/src/ui/editors/editorWidget.py +++ b/src/ui/editors/editorWidget.py @@ -123,7 +123,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui): addSpacer() self.scroll.setWidget(w) - elif item.isFolder() and self.folderView == "text": + elif item and item.isFolder() and self.folderView == "text": self.stack.setCurrentIndex(1) w = QWidget() @@ -139,7 +139,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui): addSpacer() self.scroll.setWidget(w) - elif item.isFolder() and self.folderView == "cork": + elif item and item.isFolder() and self.folderView == "cork": self.stack.setCurrentIndex(2) self.corkView.setModel(self._model) self.corkView.setRootIndex(index) @@ -149,7 +149,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui): lambda: mainWindow().redacMetadata.selectionChanged(self.corkView)) - elif item.isFolder() and self.folderView == "outline": + elif item and item.isFolder() and self.folderView == "outline": self.stack.setCurrentIndex(3) self.outlineView.setModelPersos(mainWindow().mdlPersos) self.outlineView.setModelLabels(mainWindow().mdlLabels) diff --git a/src/ui/views/textEditView.py b/src/ui/views/textEditView.py index 2e08e407..c9382386 100644 --- a/src/ui/views/textEditView.py +++ b/src/ui/views/textEditView.py @@ -22,7 +22,6 @@ class textEditView(QTextEdit): self._placeholderText = None self._updating = False self._item = None - self._update = False self._highlighting = True self.spellcheck = spellcheck @@ -91,7 +90,7 @@ class textEditView(QTextEdit): self.updateText() def update(self, topLeft, bottomRight): - if self._update: + if self._updating: return elif self._index: @@ -107,6 +106,7 @@ class textEditView(QTextEdit): self.updateText() def updateText(self): + self._updating = True if self._index: if self.toPlainText() != toString(self._model.data(self._index)): self.document().setPlainText(toString(self._model.data(self._index))) @@ -132,12 +132,19 @@ class textEditView(QTextEdit): self._placeholderText = self.placeholderText() self.setPlaceholderText(self.tr("Various")) + self._updating = False def submit(self): + + if self._updating: + return + if self._index: #item = self._index.internalPointer() if self.toPlainText() != self._model.data(self._index): + self._updating = True self._model.setData(self._index, self.toPlainText()) + self._updating = False elif self._indexes: self._updating = True