Lucio Andrés Illanes Albornoz
56a3b748cc
libgui/GuiCanvasPanel.py:{onPanelEnterWindow,__init__}(): don't steal focus when entering window.
...
libgui/GuiCanvasPanel.py:__init__(): bind EVT_CHAR to self vs. parentFrame.
libgui/GuiFrame.py:{onChar,__init__}(): forward EVT_CHAR to canvasPanel.onPanelInput().
2019-09-09 12:44:32 +02:00
Lucio Andrés Illanes Albornoz
88d69cb31e
Initial canvas panel scrollbar implementation.
...
assets/text/TODO: updated.
libgui/GuiCanvasPanel.py:__init__(): provide self.winSize & call SetScrollRate().
libgui/GuiCanvasPanel.py:{_drawPatch,dispatch{DeltaPatches,Patch},onPanel{Input,LeaveWindow},resize,update}(): receive and/or pass viewRect.
libgui/GuiCanvasPanel.py:onPanelPaint(): updated.
libgui/GuiCanvasPanel.py:resize(): call SetVirtualSize().
libgui/GuiCanvasWxBackend.py:_{draw{Brush,Char}Patch,_get{Brush,Char}PatchColours,xlatePoint}(): updated.
libgui/GuiCanvasWxBackend.py:{draw{CursorMaskWithJournal,Patch},getDeviceContext,xlateEventPoint}(): receive and/or pass viewRect.
libgui/GuiCanvasWxBackend.py:getDeviceContext(): return ClientDC() if viewRect > (0, 0)
libgui/GuiCanvasWxBackend.py:onPanelPaintEvent(): blit subset of canvasBitmap into BufferedPaintDC() if viewRect > (0, 0).
libtools/Tool{,Circle,Fill,Line,Rect,Select{,Clone,Move},Text}.py: receive & pass viewRect to dispatchFn().
2019-09-09 12:30:25 +02:00
Lucio Andrés Illanes Albornoz
e54429e29e
libgui/GuiCanvasInterface.py: soft-fail importing ImgurApiKey.
...
assets/text/TODO: updated.
2019-09-08 20:05:34 +02:00
Lucio Andrés Illanes Albornoz
52672796c6
libgui/GuiCanvasInterface.py:canvas{Brush,Canvas}Size(): correctly {de,in}crement {brush,canvas} height & width.
2019-09-08 19:24:55 +02:00
Lucio Andrés Illanes Albornoz
ff05b829b8
assets/text/{LICENCE,README.md,TODO}: convert to DOS file format for convenience on Windows.
2019-09-08 19:14:24 +02:00
Lucio Andrés Illanes Albornoz
629e03928e
assets/tools/deploy-python.sh: updated.
2019-09-08 19:12:16 +02:00
Lucio Andrés Illanes Albornoz
fcd5173329
{libcanvas/Canvas,libgui/GuiCanvasPanel}.py: neither commit nor draw patches referencing cells outside of the current map.
2019-09-08 19:04:27 +02:00
Lucio Andrés Illanes Albornoz
b83684073e
libgui/GuiCanvasInterface.py: minor cleanup.
2019-09-08 19:02:19 +02:00
Lucio Andrés Illanes Albornoz
f6e2dbd64b
libgui/GuiCanvasInterface.py: minor cleanup.
2019-09-08 18:34:30 +02:00
Lucio Andrés Illanes Albornoz
c77813380a
assets/text/ImgurApiKey.py.template, lib{canvas,gui,rtl,tools}/*.py: deXXXify.
2019-09-08 18:08:04 +02:00
Lucio Andrés Illanes Albornoz
6da84c05c5
{libcanvas/Canvas,libgui/GuiCanvas{Interface,Panel}}.py: implement dirty flag.
...
libgui/GuiCanvasInterface.py:canvas{Exit,New,Open,Save,Import{Ansi,FromClipboard,Sauce}}(): prompt to save canvas if dirty.
libgui/GuiCanvasInterface.py: minor cleanup.
libcanvas/Canvas.py:resize(): don't push undo patches when extending canvas.
2019-09-08 18:00:11 +02:00
Lucio Andrés Illanes Albornoz
d410ef9321
libtools/ToolText.py:onMouseEvent(): only set self.textPos on is{Left,Right}Down.
2019-09-08 17:02:41 +02:00
Lucio Andrés Illanes Albornoz
a628ed6471
Implements transparent colour.
...
libgui/Gui{CanvasInterface,{General,}Frame}.py: refactored.
{libcanvas/CanvasExportStore,libgui/GuiCanvas{Interface,WxBackend}}.py: implements transparent colour.
libgui/GuiCanvasPanel.py: updated.
libtools/ToolText.py: updated.
assets/text/TODO: updated.
2019-09-08 16:57:45 +02:00
Lucio Andrés Illanes Albornoz
8367c166f3
assets/tools/MiRCART{Reduce,ToAnsi}.py: fixed.
...
libcanvas/CanvasExportStore.py: fixed.
assets/text/TODO: updated.
2019-09-07 17:38:28 +02:00
Lucio Andrés Illanes Albornoz
f3140d4b3d
libcanvas/CanvasColours.py, libgui/GuiCanvasColours.py: split from libcanvas/CanvasColours.py.
...
libcanvas/Canvas.py, libgui/GuiCanvasPanel.py: split from libcanvas/Canvas.py.
libcanvas/CanvasImportStore.py:import{Ansi{Buffer,File},SauceFile}(): fixed (via spoke.)
{libgui/Gui{CanvasInterface,Frame},libtools/Tool{Fill,Select,Text},roar}.py: updated.
libgui/GuiCanvasWxBackend.py: merged from libcanvas/CanvasBackend.py.
2019-09-07 10:39:26 +02:00
Lucio Andrés Illanes Albornoz
c28c2f87ab
libcanvas/CanvasColours.py: renamed from libcanvas/Colours.py.
...
lib{canvas/Canvas{Backend,{Ex,Im}portStore},gui/GuiFrame}.py: updated.
2019-09-06 10:32:54 +02:00
Lucio Andrés Illanes Albornoz
34d9df756b
libcanvas/Canvas{Ex,Im}portStore.py: cleanup.
...
assets/tools/MiRCARTReduce.py: fixed (for spoke.)
assets/tools/{MiRCARTTo{Ansi,PngFile},SAUCETo{Ansi,MiRCART}}.py: updated.
lib{canvas/Canvas,gui/Gui{CanvasInterface,Frame}}.py: updated.
lib{{canvas/Canvas{Backend,Journal},Colours},tools/ToolRect}.py: minor cleanup.
roar.py: updated.
2019-09-06 10:29:45 +02:00
Lucio Andrés Illanes Albornoz
bb4ba3ae46
libcanvas/Canvas.py, libgui/GuiCanvasInterface.py: correctly set ImgurApiKey.
...
libcanvas/CanvasExportStore.py:_exportFileToImgur(): fixed.
libcanvas/CanvasExportStore.py:exportPastebin(): fixed.
2019-09-05 17:13:35 +02:00
Lucio Andrés Illanes Albornoz
045b7a24ed
Implements importing from {ANSI,SAUCE} and exporting to ANSI files.
...
assets/tools/{MiRCARTTo{Ansi,PngFile},SAUCETo{Ansi,MiRCART}}.py: reimplemented using Canvas{Ex,Im}portStore.
libcanvas/Canvas.py: minor cleanup.
libcanvas/CanvasExportStore.py:export{Ansi,Png}File(): merged from assets/tools/MiRCARTTo{Ansi,PngFile}.py.
libcanvas/CanvasImportStore.py:import{Ansi,Sauce}File(): merged from assets/tools/SAUCETo{Ansi,MiRCART}.py.
libcanvas/Colours.py:{AnsiBgToMiRCARTColours,AnsiFgToMiRCARTColours,AnsiFgBoldToMiRCARTColours}{}: merged from assets/tools/SAUCEToMiRCART.py.
libcanvas/Colours.py:{ColourMap{Bold,Normal}}[]: merged from assets/tools/MiRCARTToPngFile.py.
libcanvas/Colours.py: minor cleanup.
libgui/GuiCanvasInterface.py:canvas{ExportAsAnsi,Import{Ansi,Sauce}}(): implemented.
libgui/GuiFrame.py: adds CID_{EXPORT_AS_{ANSI,SAUCE},IMPORT_{ANSI,SAUCE}}.
assets/text/TODO: updated.
2019-09-05 16:55:07 +02:00
Lucio Andrés Illanes Albornoz
da8384f3bb
libgui/GuiCanvasInterface.py:canvasExportAsPng(): correctly pass self.parentFrame to wx.FileDialog().
...
libgui/GuiCanvasInterface.py: minor cleanup.
assets/text/TODO: updated.
2019-09-04 16:36:57 +02:00
Lucio Andrés Illanes Albornoz
752af56774
{assets/tools,lib{canvas,gui,rtl,tools}}/*.py: update copyright legends.
...
assets/text/ImgurApiKey.py.template: updated from assets/text/MiRCARTImgurApiKey.py.template.
librtl/IrcClient.py: minor cleanup.
2019-09-04 16:23:59 +02:00
Lucio Andrés Illanes Albornoz
bd83513689
assets/tools/deploy-python.sh: updated.
2019-09-04 16:13:47 +02:00
Lucio Andrés Illanes Albornoz
b9f271297c
Show toolbar tooltips.
...
libgui/GuiGeneralFrame.py:_initToolBars(): pass label to wx.ToolBar.Add{,Radio}Tool().
libgui/GuiGeneralFrame.py: minor cleanup.
assets/text/TODO: updated.
2019-09-04 16:09:46 +02:00
Lucio Andrés Illanes Albornoz
e3d23200b3
Implements {un,re}doing resizing.
...
libcanvas/Canvas.py:_dispatchDeltaPatches(): handle `resize' delta patches.
libcanvas/Canvas.py:_dispatchPatch(): only commit to journal given commitUndo.
libcanvas/Canvas.py:resize(): commit `resize' & {deleted,added} cell deltas to journal.
libcanvas/Canvas.py: minor cleanup.
libcanvas/Canvas{Backend,{Export,Import}Store,Journal}.py: minor cleanup.
assets/text/arab-puke.txt: added from mircart/pack2/.
assets/text/TODO: updated.
2019-09-04 15:52:54 +02:00
Lucio Andrés Illanes Albornoz
e407ab2d81
Implements {ex,im}port {to,from} clipboard.
...
libcanvas/CanvasExportStore.py:exportTextBuffer(): cloned from exportTextFile().
libcanvas/CanvasExportStore.py:exportTextFile(): correctly fetch cell colours & text.
libcanvas/CanvasImportStore.py:importTextFile{,Buffer}(): split from importTextFile().
libcanvas/CanvasImportStore.py: minor cleanup.
libgui/GuiCanvasInterface.py:canvas{ExportTo,ImportFrom}Clipboard(): implemented.
libgui/GuiFrame.py: adds CID_{EX,IM}PORT_CLIPB.
libgui/GuiFrame.py: minor cleanup.
libgui/GuiGeneralFrame.py: minor cleanup.
assets/text/TODO: updated.
2019-09-04 12:50:21 +02:00
Lucio Andrés Illanes Albornoz
84126f5d4e
libgui/GuiCanvasInterface.py: merged from libcanvas/CanvasInterface.py.
...
libgui/GuiCanvasInterfaceAbout.py: split from libgui/GuiCanvasInterface.py.
libcanvas/Canvas.py, libgui/GuiFrame.py: updated.
assets/text/TODO: updated.
2019-09-04 11:47:09 +02:00
Lucio Andrés Illanes Albornoz
e03cf65028
assets/tools/SAUCEToMiRCART.py: added (for spoke.)
...
assets/text/TODO: updated.
2019-09-04 11:03:53 +02:00
Lucio Andrés Illanes Albornoz
74da2e43c9
ROAR!
2019-09-03 18:58:50 +02:00
Lucio Andrés Illanes Albornoz
f0cc23fcaa
assets/text/TODO: merged from roar/.
2019-09-03 15:49:53 +02:00
Lucio Andrés Illanes Albornoz
9c528e8a6f
MiRCART.py: melp?
2019-09-03 15:48:52 +02:00
Lucio Andrés Illanes Albornoz
71fd619709
libtools/MiRCARTToolSelect{,Clone,Move}.py: cleanup & bug fixes.
2019-09-03 15:48:48 +02:00
Lucio Andrés Illanes Albornoz
cf2c5a7042
Replaces & merges MiRCART-{nw,python,www} w/ original MiRCART as of Thu Jul 5 2018.
2019-09-01 16:34:00 +02:00
Lucio Andrés Illanes Albornoz
08b453b33f
Bump to v1.1.6.
2019-08-28 11:35:42 +02:00
Lucio Andrés Illanes Albornoz
9420392b83
assets/html/index.html: fix asset pathnames.
...
assets/js/clipboard.js:import_ansi(): correctly handle {bold,faint,reset} SGR parameters.
assets/js/clipboard.js:import_ansi(): don't apply {bold,faint} to background colours.
assets/js/clipboard.js:import_ansi(): don't reset {background,foreground} colour & {bold,faint} flags on new row.
assets/js/clipboard.js:import_ansi(): emit missing cells if necessary.
assets/js/clipboard.js:import_ansi(): handle CUrsor Forward control sequence.
assets/js/color.js: removes ansi_bg_bold_import[].
2019-08-28 11:31:42 +02:00
Lucio Andrés Illanes Albornoz
01394e6137
Bump to v1.1.5.
2019-08-28 10:37:45 +02:00
Lucio Andrés Illanes Albornoz
6453c1ff03
MiRCART-nw/index.html: update symlink.
2019-08-28 10:37:27 +02:00
Lucio Andrés Illanes Albornoz
6e371adbbe
Bump to v1.1.4.
2019-08-28 10:32:44 +02:00
Lucio Andrés Illanes Albornoz
035ab03e3c
SAUCEToAnsi.py: updated.
2019-08-28 10:32:26 +02:00
Lucio Andrés Illanes Albornoz
80df97f972
Bump to v1.1.3.
...
assets/shell/bump-version.sh: updated.
2019-08-28 10:31:44 +02:00
Lucio Andrés Illanes Albornoz
c15a5b7a21
MiRCART-python/SAUCEToAnsi.py: added (for spoke.)
2019-08-28 10:29:28 +02:00
Lucio Andrés Illanes Albornoz
0d4a6432b2
assets/html/index.html: moved from index.html.
...
MiRCART-www/index.html: updates symlink.
2019-08-27 08:49:15 +02:00
Lucio Andrés Illanes Albornoz
6639336a25
assets/js/clipboard.js:import_ansi(): correctly support sequence of comma-separated SGR parameters.
...
assets/js/clipboard.js:import_ansi(): support {bold,faint,reset} SGR parameters.
assets/js/color.js: adds ansi_[bf]g_bold_import[].
2019-08-27 08:45:39 +02:00
Lucio Andrés Illanes Albornoz
2578c80819
assets/shell/bump-version.sh: removes MiRCART-cordoba support.
2019-08-27 08:01:35 +02:00
Lucio Andrés Illanes Albornoz
66fb77b9b5
assets/js/matrix.js:Matrix.prototype.{ansi,mirc}(): only reset {bg,fg}_ when processing a new row vs. new cell (via spoke.)
2019-08-27 07:59:35 +02:00
Lucio Andrés Illanes Albornoz
50b7e9c279
Removes MiRCART-cordoba.
2019-08-25 19:00:11 +02:00
Lucio Andrés Illanes Albornoz
6200254152
Implements {ex,im}porting {as,from} ANSI.
...
Bump to v1.1.2.
2019-08-25 18:39:49 +02:00
Lucio Andrés Illanes Albornoz
ecaaf75b6b
MiRCARTCanvasImportStore.py:importTextFile(): open() w/ encoding="utf-8-sig" due to potentially present BOM.
...
MiRCARTToPngFile.py:export(): disable PIL font anti-aliasing.
2019-08-18 13:02:33 +02:00
Lucio Andrés Illanes Albornoz
b4e2286ecc
assets/js/matrix.js:Matrix.prototype.mirc(): don't assume default foreground colour (via spoke.)
2019-07-13 23:53:24 +02:00
Lucio Andrés Illanes Albornoz
fd71785b3b
MiRCART-python/MiRCARTReduce.py: added.
2019-04-11 14:54:29 +02:00
Lucio Andrés Illanes Albornoz
7d80e5331f
MiRCART-python/IrcMiRCARTBot.py: updated.
...
assets/text/TODO: updated.
2019-02-06 19:10:35 +01:00