Commit Graph

390 Commits

Author SHA1 Message Date
Lucio Andrés Illanes Albornoz 3b70d42784 MiRCARTCanonicalise.py: canonicalise mIRC art {from,to} file (for munki.) 2018-05-01 23:30:36 +02:00
Lucio Andrés Illanes Albornoz 8e91d1269e {IrcMiRCARTBot,MiRCARTToPngFile}.py: reduce memory usage by folding nested patch {coordinate,colour} list(s).
Followup to <b4a71505ffa68757931f633baf511f7863682e8e>.
2018-01-30 20:34:02 +01:00
Lucio Andrés Illanes Albornoz 6d5e081dfb Reduce memory usage by folding nested patch {coordinate,colour} list(s). 2018-01-30 11:31:28 +01:00
Lucio Andrés Illanes Albornoz 1a503979d1 IrcMiRCARTBot.py:_uploadToImgur(): prevent file object leak via `with' barrier.
MiRCARTCanvasExportStore.py:_exportFileToImgur(): prevent file object leak via `with' barrier.
2018-01-26 22:38:28 +01:00
Lucio Andrés Illanes Albornoz c6ab27c08c Fixes memory leaks on {re,un}do state mutation & resize-related operations.
MiRCARTCanvas.py:__del__(): delete canvasMap w/ clear().
MiRCARTCanvasBackend.py:resize(): delete old canvasBitmap w/ Destroy().
MiRCARTCanvasJournal.py:reset{Cursor,Undo}(): delete patches{Cursor,Undo} w/ clear().
MiRCARTCanvasJournal.py:__del__(): provided explicitly to call reset{Cursor,Undo}().
MiRCARTFrame.py:__del__(): provided explicitly to delete panelCanvas.
2018-01-26 17:45:04 +01:00
Lucio Andrés Illanes Albornoz 579dd858ba MiRCARTCanvasInterface.py:canvasSave(): fix call parameters. 2018-01-25 15:04:37 +01:00
Lucio Andrés Illanes Albornoz 92124dc34f MiRCARTCanvas.py:resize(): clean up & fix.
MiRCARTCanvasInterface.py:_updateCanvasSize(): merged into ...Canvas.resize().
MiRCARTCanvasInterface.py:canvas{De,In}crCanvas{Height,Width}(): directly call ...Canvas.resize().
2018-01-25 15:02:09 +01:00
Lucio Andrés Illanes Albornoz f77e6d5bf8 IrcClient.py:connect(): create file from socket w/ errors="replace" to prevent UnicodeDecodeErrors. 2018-01-22 21:06:46 +01:00
Lucio Andrés Illanes Albornoz b385909b45 MiRCARTCanvasImportStore.py: correctly process ^C<colour>, sequences.
MiRCARTToPngFile.py: fix {bold,underline} processing.
2018-01-20 09:17:52 +01:00
Lucio Andrés Illanes Albornoz 0cf1040614 MiRCARTColours.py: fix permission bits. 2018-01-11 23:27:57 +01:00
Lucio Andrés Illanes Albornoz 802de6fa6e MiRCART{CanvasInterface,Frame}.py: complete set of {brush,canvas} size operations.
assets/tool{De,In}cr{Brush,Canvas}{H{,W},W}.png: added/updated.
2018-01-11 23:26:36 +01:00
Lucio Andrés Illanes Albornoz 4f4ecb4331 MiRCARTToPngFile.py:export(): treat `█' as whitespace w/ inverse colours. 2018-01-11 23:22:02 +01:00
Lucio Andrés Illanes Albornoz 1511002798 MiRCARTCanvasImportStore.py:_parseCharAsColourSpec(): correctly process mIRC colour control code sequences specifying one single colour.
MiRCARTToPngFile.py:export(): fix indentation.
2018-01-11 23:13:46 +01:00
Lucio Andrés Illanes Albornoz d79ea00164 IrcMiRCARTBot.py: include black-on-black border around map.
IrcMiRCARTBot.py: normalise imported map.
2018-01-11 21:28:53 +01:00
Lucio Andrés Illanes Albornoz 9eee59b501 MiRCARTFrame.py: initially select red (4) colour toolbar item. 2018-01-11 03:02:18 +01:00
Lucio Andrés Illanes Albornoz 5380e899e4 MiRCARTFrame.py: add {in,de}crease {height,width} toolbar items.
assets/tool{De,In}crCanvas{H,W}.png: added.
2018-01-11 02:49:53 +01:00
Lucio Andrés Illanes Albornoz 4e19f91eb0 MiRCARTFrame.py: adds exit accelerator (hotkey) <Ctrl> X. 2018-01-11 02:37:20 +01:00
Lucio Andrés Illanes Albornoz a33ff6b5df MiRCART{CanvasInterface,{,General}Frame}.py: add & sync {tools,colour selection} toolbar items as radio tools. 2018-01-11 02:34:32 +01:00
Lucio Andrés Illanes Albornoz 46258cde32 MiRCARTCanvas.py:MiRCARTCanvas.onPanelInput(): clip mapPoint to canvasSize. 2018-01-11 02:10:33 +01:00
Lucio Andrés Illanes Albornoz 508a3cd489 MiRCARTToolFill.py: don't process cells more than once. 2018-01-11 02:06:09 +01:00
Lucio Andrés Illanes Albornoz 44490912b2 MiRCARTCanvasInterface.py:_updateCanvasSize(): hide cursor before resizing. 2018-01-11 01:59:43 +01:00
Lucio Andrés Illanes Albornoz 2f85fa8cd1 MiRCARTToolFill.py: set qualifying colour from current cell. 2018-01-11 01:56:28 +01:00
Lucio Andrés Illanes Albornoz bb243c7556 MiRCARTCanvasInterface.py:_updateCanvasSize(): reimplement (fixes <Alt> [WASD] bugs.) 2018-01-11 01:52:53 +01:00
Lucio Andrés Illanes Albornoz d1936486ff MiRCART.py: import argv[1] into canvas if specified. 2018-01-11 01:18:50 +01:00
Lucio Andrés Illanes Albornoz cf04a12690 MiRCARTCanvasInterface.py: prompt to save changes on exit given non-None canvasPathName. 2018-01-11 01:12:55 +01:00
Lucio Andrés Illanes Albornoz 02d3c7f6f4 assets/tool{Clone,Move}.png: updated. 2018-01-11 01:09:00 +01:00
Lucio Andrés Illanes Albornoz ebdf7f410b MiRCARTCanvasInterface.py: sync menu item state when selecting tool. 2018-01-11 00:59:07 +01:00
Lucio Andrés Illanes Albornoz 4bc9b61f2c MiRCARTGeneralFrame.py: show accelerators (hotkeys) in menus. 2018-01-11 00:45:40 +01:00
Lucio Andrés Illanes Albornoz f65603dd0c MiRCART.png: updated. 2018-01-11 00:31:25 +01:00
Lucio Andrés Illanes Albornoz d26a322612 MiRCART{CanvasInterface,Frame}.py: adds (flood) fill tool.
MiRCARTToolFill.py: initial implementation.
assets/toolFill.png: added.
2018-01-11 00:27:50 +01:00
Lucio Andrés Illanes Albornoz 499296ba1d MiRCARTGeneralFrame.py: add toolbar windows to sizer w/ border width 3. 2018-01-10 22:31:52 +01:00
Lucio Andrés Illanes Albornoz e53e8bf8e7 MiRCARTFrame.py: add canvas panel window to sizer w/ border width 14. 2018-01-10 22:16:48 +01:00
Lucio Andrés Illanes Albornoz 33df272b39 MiRCARTCanvas.py:MiRCARTCanvas.resize(): call SetSize() w/o changing position.
MiRCARTCanvas.py:MiRCARTCanvas.resize(): call SetMinSize() in addition to SetSize().
MiRCARTCanvas.py:MiRCARTCanvas.resize(): call Layout() on canvas panel window and its parents.
MiRCARTCanvasInterface.py: always call SetCursor() w/ self.parentCanvas.
MiRCARTFrame.py: moves colour toolbar items to separate toolbar.
MiRCARTFrame.py:MiRCARTFrame.__init__(): add canvas panel to and initialise sizer.
MiRCARTGeneralFrame.py: adds support for multiple toolbars via vertical box sizer.
2018-01-10 22:06:48 +01:00
Lucio Andrés Illanes Albornoz 8c0de9fbd3 MiRCARTToolSelectMove.py: clear source region prior to moving. 2018-01-10 19:20:35 +01:00
Lucio Andrés Illanes Albornoz ad761d658e MiRCART{CanvasInterface,Frame}.py: adds clone & move (selection) tools.
MiRCARTTool{Clone,Move}Select.py: initial implementation.
assets/tool{Clone,Move}.png: added.
MiRCART.png: updated.
2018-01-10 18:29:16 +01:00
Lucio Andrés Illanes Albornoz c9d6b90e68 MiRCART{anvas{,ImportStore,Interface},Frame}.py: pass & initialise from default canvas position, size, and cell size. 2018-01-10 15:04:59 +01:00
Lucio Andrés Illanes Albornoz 49ef54ef76 MiRCARTToolLine.py: correctly cache colours on first click. 2018-01-10 14:53:35 +01:00
Lucio Andrés Illanes Albornoz 2254a0638b MiRCART{Canvas{,Interface},Frame}.py: use dict() to cache canvas state in Frame. 2018-01-10 14:51:25 +01:00
Lucio Andrés Illanes Albornoz 402e542137 MiRCART{CanvasInterface,Frame,Tool*}.py: include current tool name in status bar text. 2018-01-10 05:05:59 +01:00
Lucio Andrés Illanes Albornoz a320c904fe MiRCART{Canvas{,Interface},Frame}.py: remove undo level & show brush size in status bar. 2018-01-10 05:00:52 +01:00
Lucio Andrés Illanes Albornoz 3fa377791a MiRCARTToolLine.py: honour brush size. 2018-01-10 04:44:13 +01:00
Lucio Andrés Illanes Albornoz e157f479ce MiRCART{Canvas,Frame}.py: include canvas width and height in status bar. 2018-01-10 04:36:39 +01:00
Lucio Andrés Illanes Albornoz 12027bc6b5 MiRCARTToolText.py: fix non-US ASCII character handling. 2018-01-10 04:31:20 +01:00
Lucio Andrés Illanes Albornoz f9f910160f MiRCART{Canvas{,Interface},Frame}.py: merge on{StatusBar,Undo}Update() into onCanvasUpdate().
MiRCARTCanvas{Frame,Interface}.py: adds canvas{De,In}crCanvas{Height,Width}() & CID_*.
MiRCARTCanvasFrame.py:onCanvasUpdate(): updated.
2018-01-10 04:23:54 +01:00
Lucio Andrés Illanes Albornoz 3e03126006 MiRCARTCanvasInterface.py: split from MiRCARTCanvas.py.
MiRCART{Canvas,{,General}Frame}.py: updated.
2018-01-10 03:24:25 +01:00
Lucio Andrés Illanes Albornoz 398ee3af3d MiRCARTCanvas{Export,Import}Store.py: split from MiRCARTCanvasStore.py.
IrcMiRCARTBot.py, MiRCART{Canvas,Frame,ToPngFile}.py: updated.
2018-01-10 00:48:13 +01:00
Lucio Andrés Illanes Albornoz cd5ea1fab5 MiRCARTCanvas{,Journal,Store}.py: dispatch patches from tool event handlers directly.
MiRCARTTool{,Circle,Line,Rect,Text}.py: updated to new interface.
2018-01-10 00:35:08 +01:00
Lucio Andrés Illanes Albornoz ed8ccab26f MiRCART{Canvas{,Backend},Frame}.py: replace MemoryDC() w/ BufferedDC(canvasBitmap). 2018-01-09 22:23:27 +01:00
Lucio Andrés Illanes Albornoz 2e014cd7ec MiRCARTCanvasBackend.py: only update device context brushes & pen if necessary. 2018-01-09 21:37:58 +01:00
Lucio Andrés Illanes Albornoz dbf6c76930 MiRCARTGeneralFrame.py: prepend script execution directory when loading toolbar item bitmaps. 2018-01-09 21:21:04 +01:00