|
18 | 18 | from Orange.canvas.registry import description as widget_description |
19 | 19 | from Orange.canvas.report import Report |
20 | 20 | from Orange.widgets.gui import ControlledAttributesDict, notify_changed |
| 21 | +from Orange.widgets.io import ClipboardFormat |
21 | 22 | from Orange.widgets.settings import SettingsHandler |
22 | 23 | from Orange.widgets.utils import saveplot, getdeepattr |
23 | 24 | from .utils.overlay import MessageOverlayWidget |
@@ -198,6 +199,9 @@ def __new__(cls, *args, **kwargs): |
198 | 199 | sc = QShortcut(QKeySequence(Qt.ShiftModifier | Qt.Key_F1), self) |
199 | 200 | sc.activated.connect(self.__quicktip) |
200 | 201 |
|
| 202 | + sc = QShortcut(QKeySequence.Copy, self) |
| 203 | + sc.activated.connect(self.copy_to_clipboard) |
| 204 | + |
201 | 205 | return self |
202 | 206 |
|
203 | 207 | def __init__(self, *args, **kwargs): |
@@ -316,6 +320,12 @@ def save_graph(self): |
316 | 320 | return |
317 | 321 | saveplot.save_plot(graph_obj, self.graph_writers) |
318 | 322 |
|
| 323 | + def copy_to_clipboard(self): |
| 324 | + graph_obj = getdeepattr(self, self.graph_name, None) |
| 325 | + if graph_obj is None: |
| 326 | + return |
| 327 | + ClipboardFormat.write_image(None, graph_obj) |
| 328 | + |
319 | 329 | def __restoreWidgetGeometry(self): |
320 | 330 |
|
321 | 331 | def _fullscreen_to_maximized(geometry): |
|
0 commit comments