diff --git a/tools/dumb_paint_lib/maintemplate.py b/tools/dumb_paint_lib/maintemplate.py index 459659a6..0ec7d59f 100644 --- a/tools/dumb_paint_lib/maintemplate.py +++ b/tools/dumb_paint_lib/maintemplate.py @@ -154,7 +154,7 @@ class ExportArea(ttk.TTkGridLayout): crop = self._cbCrop.isChecked() palette = self._cbPal.isChecked() full = self._cbFull.isChecked() - image = self._paintArea.exportImage(full=full,palette=palette,crop=crop) + image = self._paintArea.exportImage() self._te.setText(image) @ttk.pyTTkSlot() @@ -265,8 +265,8 @@ class PaintTemplate(ttk.TTkAppTemplate): self.setMenuBar(appMenuBar:=ttk.TTkMenuBarLayout(), self.TOP) fileMenu = appMenuBar.addMenu("&File") buttonOpen = fileMenu.addMenu("&Open") - buttonClose = fileMenu.addMenu("&Save") - buttonClose = fileMenu.addMenu("Save &As...") + fileMenu.addMenu("&Save" ).menuButtonClicked.connect(self._save) + fileMenu.addMenu("Save &As...").menuButtonClicked.connect(self._saveAs) fileMenu.addSpacer() fileMenu.addMenu("&Import").menuButtonClicked.connect(self.importDictWin) menuExport = fileMenu.addMenu("&Export") @@ -315,6 +315,16 @@ class PaintTemplate(ttk.TTkAppTemplate): if fileName: self._openFile(fileName) + @ttk.pyTTkSlot() + def _save(self): + image = self._parea.exportImage() + ttk.ttkCrossSave('untitled.DPT.txt', image, ttk.TTkEncoding.TEXT_PLAIN) + + @ttk.pyTTkSlot() + def _saveAs(self): + image = self._parea.exportImage() + ttk.ttkCrossSaveAs('untitled.DPT.txt', image, ttk.TTkEncoding.TEXT_PLAIN) + def _openFile(self, fileName): ttk.TTkLog.info(f"Open: {fileName}") diff --git a/tools/dumb_paint_lib/paintarea.py b/tools/dumb_paint_lib/paintarea.py index 4d880cab..83a703df 100644 --- a/tools/dumb_paint_lib/paintarea.py +++ b/tools/dumb_paint_lib/paintarea.py @@ -142,7 +142,7 @@ class PaintArea(ttk.TTkAbstractScrollView): def newLayer(self) -> CanvasLayer: newLayer = CanvasLayer() - w,h = self.size() + w,h = self._documentSize w,h = (w,h) if (w,h)!=(0,0) else (80,24) newLayer.resize(w,h) self._currentLayer = newLayer @@ -178,7 +178,7 @@ class PaintArea(ttk.TTkAbstractScrollView): 'layers':[l.exportLayer(full=full,palette=palette,crop=crop) for l in self._canvasLayers]} return outData - def exportImage(self, full=True, palette=True, crop=True) -> dict: + def exportImage(self) -> dict: pw,ph = self._documentSize image = ttk.TTkCanvas(width=pw,height=ph) for l in self._canvasLayers: