Skip to content
This repository was archived by the owner on Mar 27, 2026. It is now read-only.

Commit 812fecd

Browse files
nelsonduarteclaude
andcommitted
fix: resolver lock do ficheiro ao guardar e erro ao selecionar imagem
Fechar doc do canvas antes de guardar para libertar o lock do ficheiro. Bloquear sinal path_changed ao selecionar imagens para evitar que o viewer rejeite ficheiros não-PDF. Reabrir ficheiro guardado após edições. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c15af65 commit 812fecd

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

app/editor/tab.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,10 @@ def _close_pdf(self):
338338
def _pick_image(self):
339339
p, _ = QFileDialog.getOpenFileName(self, "Selecionar imagem", "",
340340
"Imagens (*.png *.jpg *.jpeg *.bmp *.tiff *.webp)")
341-
if p: self._img_drop.set_path(p)
341+
if p:
342+
self._img_drop.blockSignals(True)
343+
self._img_drop.set_path(p)
344+
self._img_drop.blockSignals(False)
342345

343346
def _load_form_fields(self, path):
344347
self._form_table.setRowCount(0)
@@ -448,6 +451,8 @@ def _run(self):
448451
QMessageBox.warning(self, "Aviso", "Nenhuma edição pendente."); return
449452
try:
450453
import fitz
454+
# Fechar o doc do canvas para libertar o ficheiro
455+
self._canvas.close_doc()
451456
doc = fitz.open(self._doc_path)
452457
for e in self._pending:
453458
pg = doc[e["page"]]
@@ -478,6 +483,8 @@ def _run(self):
478483
self._pending.clear(); self._pending_list.clear()
479484
self._status(f"✔ Guardado → {out}")
480485
QMessageBox.information(self, "Concluído", f"PDF guardado em:\n{out}")
486+
# Reabrir o ficheiro guardado
487+
self._load_pdf(out)
481488
except Exception as e:
482489
QMessageBox.critical(self, "Erro", str(e))
483490

0 commit comments

Comments
 (0)