From 055f2b34c094642b731036c51ca0e0d1b78ac508 Mon Sep 17 00:00:00 2001 From: Peter Taraba Date: Sat, 19 Feb 2022 10:25:39 -0500 Subject: [PATCH] copy to clipboard and icon for QT --- lib/matplotlib/backend_bases.py | 5 +++++ lib/matplotlib/backends/backend_qt.py | 4 ++++ lib/matplotlib/mpl-data/images/copyfigure.png | Bin 0 -> 7447 bytes 3 files changed, 9 insertions(+) create mode 100644 lib/matplotlib/mpl-data/images/copyfigure.png diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 0c7893b81977..49c17895029d 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2884,6 +2884,7 @@ class NavigationToolbar2: ('Subplots', 'Configure subplots', 'subplots', 'configure_subplots'), (None, None, None, None), ('Save', 'Save the figure', 'filesave', 'save_figure'), + ('Copy', 'Copy to clipboard', 'copyfigure', 'copy_figure'), ) def __init__(self, canvas): @@ -3239,6 +3240,10 @@ def configure_subplots(self, *args): manager.show() return self.subplot_tool + def copy_figure(self, *args): + """Copy the current figure.""" + raise NotImplementedError + def save_figure(self, *args): """Save the current figure.""" raise NotImplementedError diff --git a/lib/matplotlib/backends/backend_qt.py b/lib/matplotlib/backends/backend_qt.py index 364e4a509ad6..8777a04bd924 100644 --- a/lib/matplotlib/backends/backend_qt.py +++ b/lib/matplotlib/backends/backend_qt.py @@ -752,6 +752,10 @@ def configure_subplots(self): self._subplot_dialog.show() return self._subplot_dialog + def copy_figure(self, *args): + pixmap = self.canvas.grab() + qApp.clipboard().setPixmap(pixmap) + def save_figure(self, *args): filetypes = self.canvas.get_supported_filetypes_grouped() sorted_filetypes = sorted(filetypes.items()) diff --git a/lib/matplotlib/mpl-data/images/copyfigure.png b/lib/matplotlib/mpl-data/images/copyfigure.png new file mode 100644 index 0000000000000000000000000000000000000000..6026854d1c3db1246aff9de23d3204ffff33fa19 GIT binary patch literal 7447 zcmdT}X;c(f7B0jsg&IdtM`uukNh0w$RM)Gmk4lh576YPV0*N+KbayEeqm99UCd35A z!36^niBZNSj(SE^G{hy02s-R;L63&aAc4V%5hTVjgpN_?zUpqe3tNE`6UJAks`@SW zyWe;3yYEN!s_?MDf#gV%Ac%p%LH;w~{abwZ?+eemgh_1#;jkdq&o4Yyt0joB8H+O} zOm&>>lJbIcz;}~ZN2W&3|4oVSn6arlOHV$V>fdM1nU?(E74v7m$){G6+_2=7c?~%? zN6#Bq{e1sq_tZ$EJ8{xk{nY{f=lfh}y`C98Jc&nJ&P$C~50wsg zFJ9#keED{ERYe8EmNmLA-c#F}6Lsi^mt4nB&6?}0$-J5V&C%mGQw>WmCb%qo>d59L zNx^O5N6&3=Bhf+bC0~DIaN&DbQ>dK6#bGVtQq7iYBU@Xy z2ey_CTSolTVQx!6FQ;Niz*B~xSKc59#{>9wc&_;AeUOfS#0Nyi&kz&b42u>@vGetA z@kz^OTog2t#BH7&vq0r#M(<)?~b;H{E>Q!2}x3Px5uPKl2VeuLF%Kk~Cfb+F zOsp^f5hHUFObG-&5~e{@Bw`>`_@-!`sUmm|@=IeT5J)X7V>k|pEX^D8Ja_Yg9$7LZWo@F^bYy>&iu-n>G0_itrL1ffW7%C`MmeB$W zJ;%eGU={{-XUU?~f>m2xkyc-36NI1;V4vfduy)M_tGU%$E?O|@)ZEIK#Rm+8NXgcm zHA_k%Z+L@hah<`zVmhTvc~e;nNG>63NO18mB%Dzcz}xu?Du*W$X;T4mXWR#_L0a4;(0_yqdhtH?&pNUMd ze4?dw6r+PKBjT}tC}hj>uV?xYulf(E3$I?4bY$$p+F6H#U zKR(`=vgSb97u&{_?{;&(R6NkzZIt@3p>^=Oq-p7gG!7vxp5!}`9{<&pmlzo_@IVwd zdQh~uq$XRe2pu%D)}iTEOYd#p7R{a1FMe~#g444uu68+iJ!#w5D;WuB4fy>y%vNFs@Zk8Pej#yRl)rg&LRB4n(7;d)anZx*o3+{AqAyrj@dzC z=*G~n^7WIag#WnIV`F%)^k+8A_$W|_J3Xr;&5^ot*j+n?_6^Glq_uBr64$+$H0$8p zPaAiahPM1QEstJT{(-~c-;KC)?Ywut%EC({d9_bQ(Dz>!r%lVA^{0Er1N)8|J$;;c zH8FI0+FNrPc6}G|VP$>cn&qd{0@wUyyYu+Zj6e3Bs4a7PdSzoB{3k;M2ZZ_W_l-{e EAMvgcDF6Tf literal 0 HcmV?d00001