libroar/RoarCanvasCommandsFile.py:canvasSaveAs(): fix self.canvasPathName reference.

libroar/RoarCanvasWindow.py:applyTool(): don't dispatch cursor patch if mapPoint == None.
libroar/RoarCanvasWindow.py:applyTool(): correctly handle cursor tool.
assets/text/TODO: updated.
This commit is contained in:
Lucio Andrés Illanes Albornoz 2019-09-16 08:05:50 +02:00
parent 55dfbbb13f
commit a295d2c524
3 changed files with 21 additions and 8 deletions

View File

@ -1,3 +1,4 @@
Low-priority list:
1) Implement ANSI CSI CU[BDPU] sequences & italic 1) Implement ANSI CSI CU[BDPU] sequences & italic
2) Layers & layout (e.g. for comics, zines, etc.) 2) Layers & layout (e.g. for comics, zines, etc.)
3) Implement instrumentation & unit tests, document 3) Implement instrumentation & unit tests, document
@ -10,13 +11,22 @@
High-priority list: High-priority list:
1) unit tools: arrow, {cloud,speech bubble}, curve, measure, pick, polygon, triangle, unicode 1) unit tools: arrow, {cloud,speech bubble}, curve, measure, pick, polygon, triangle, unicode
2) text tool: a) honour RTL text flow b) navigating w/ cursor keys c) pasting text 2) operators: rotate, scale, shift, slice, tile
3) operators: rotate, scale, shift, slice, tile 3) cleanup & refactor, switch to GTK
4) cleanup & refactor, switch to GTK 4) GUI:
5) GUI:
a) replace logo w/ canvas panel in About dialogue a) replace logo w/ canvas panel in About dialogue
b) Settings/Settings window (e.g. autosave, hide cursor on leaving window, ...) b) Settings/Settings window (e.g. autosave, hide cursor on leaving window, ...)
c) replace resize buttons w/ {-,edit box,+} buttons & lock button re: ratio (ty lol3) c) replace resize buttons w/ {-,edit box,+} buttons & lock button re: ratio (ty lol3)
d) {copy,cut,delete,insert from,paste}, {edit asset in new canvas,import from {canvas,object}} d) {copy,cut,delete,insert from,paste}, {edit asset in new canvas,import from {canvas,object}}
Queue:
1) start @ top, down key til cursor below visible canvas, scroll down, cursor gone GRRRR
2) text tool: impl. backspace & enter, update internal brushPos if updated w/ arrow keys
3) text tool: a) honour RTL text flow b) navigating w/ cursor keys c) pasting text
4) scroll down, apply operator to entire canvas, scroll up
5) flip tool: correctly flip chars e.g. \ -> /, etc.
6) underline FUCKING BROKEN _AGAIN_
7) select-related {re,un}do bugs
8) clone selection lag
vim:ff=dos tw=0 vim:ff=dos tw=0

View File

@ -268,7 +268,7 @@ class RoarCanvasCommandsFile():
else: else:
self.canvasPathName = dialog.GetPath(); self.lastDir = os.path.dirname(self.canvasPathName); self.canvasPathName = dialog.GetPath(); self.lastDir = os.path.dirname(self.canvasPathName);
if self.canvasSave(event, newDirty=True): if self.canvasSave(event, newDirty=True):
self._pushRecent(pathName) self._pushRecent(self.canvasPathName)
# }}} # }}}
# #

View File

@ -73,7 +73,7 @@ class RoarCanvasWindow(GuiWindow):
else: else:
if tool != None: if tool != None:
rc, dirty = tool.onKeyboardEvent(self.brushColours, self.brushSize, self.canvas, self.dispatchPatchSingle, eventDc, keyChar, keyModifiers, self.brushPos, viewRect) rc, dirty = tool.onKeyboardEvent(self.brushColours, self.brushSize, self.canvas, self.dispatchPatchSingle, eventDc, keyChar, keyModifiers, self.brushPos, viewRect)
else: elif mapPoint != None:
self.dispatchPatchSingle(eventDc, True, [*mapPoint, self.brushColours[0], self.brushColours[0], 0, " "] , viewRect) self.dispatchPatchSingle(eventDc, True, [*mapPoint, self.brushColours[0], self.brushColours[0], 0, " "] , viewRect)
if dirty: if dirty:
self.dirty = True self.dirty = True
@ -86,9 +86,12 @@ class RoarCanvasWindow(GuiWindow):
self.commands.update(undoInhibit=True) self.commands.update(undoInhibit=True)
elif tool.toolState == tool.TS_NONE: elif tool.toolState == tool.TS_NONE:
if tool.external: if tool.external:
self.commands.currentTool, self.commands.lastTool = self.commands.lastTool, self.commands.currentTool
self.commands.update(toolName=self.commands.currentTool.name, undoInhibit=False)
self.dropTarget.done() self.dropTarget.done()
self.commands.currentTool, self.commands.lastTool = self.commands.lastTool, self.commands.currentTool
if self.commands.currentTool != None:
self.commands.update(toolName=self.commands.currentTool.name, undoInhibit=False)
else:
self.commands.update(toolName="Cursor", undoInhibit=False)
else: else:
self.commands.update(undoInhibit=False) self.commands.update(undoInhibit=False)
return rc return rc