From a69c669e7d5fae4f0a9e0550866a88b92f4ee501 Mon Sep 17 00:00:00 2001 From: Ales Erjavec Date: Tue, 15 Sep 2020 09:55:39 +0200 Subject: [PATCH] canvasmain: Add a message to the nodes whose parameters were not restored --- orangecanvas/application/canvasmain.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/orangecanvas/application/canvasmain.py b/orangecanvas/application/canvasmain.py index bafa661c7..7a4e089c7 100644 --- a/orangecanvas/application/canvasmain.py +++ b/orangecanvas/application/canvasmain.py @@ -51,6 +51,7 @@ from ..scheme import Scheme, IncompatibleChannelTypeError from ..scheme import readwrite from ..scheme.readwrite import UnknownWidgetDefinition +from ..scheme.node import UserMessage from ..gui.dropshadow import DropShadowFrame from ..gui.dock import CollapsibleDockWidget from ..gui.quickhelp import QuickHelpTipEvent @@ -1298,6 +1299,15 @@ def load(fileobj, warning_handler=None, fileobj, warning_handler=None, data_deserializer=data_deserializer ) + for e in list(errors): + if isinstance(e, readwrite.UnsupportedPickleFormatError): + if e.node is not None and e.node in new_scheme.nodes: + e.node.set_state_message( + UserMessage( + "Did not restore settings", UserMessage.Warning, + message_id="-properties-restore-error-data", + )) + errors.remove(e) except Exception: # pylint: disable=broad-except log.exception("") message_critical(