From ca9a0e5faa280ab26febf7cb6fbb9a1096f8a8d2 Mon Sep 17 00:00:00 2001 From: "Morgan 'ARR\\!' Allen" <morganrallen@gmail.com> Date: Sat, 29 Mar 2025 00:12:03 -0700 Subject: [PATCH] preserve icon through doc restore --- freecad/kiconnect/bases/BaseViewProvider.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/freecad/kiconnect/bases/BaseViewProvider.py b/freecad/kiconnect/bases/BaseViewProvider.py index c851818..337e997 100644 --- a/freecad/kiconnect/bases/BaseViewProvider.py +++ b/freecad/kiconnect/bases/BaseViewProvider.py @@ -9,6 +9,8 @@ class BaseViewProvider: self.parent = parent self.viewprovider = viewprovider + self.icon = os.path.join(settings.ICONPATH, self.parent.__class__.ICON) + viewprovider.Proxy = self self.Type = '' @@ -32,7 +34,7 @@ class BaseViewProvider: Gui.Selection.clearSelection() def getIcon(self): - return os.path.join(settings.ICONPATH, self.parent.__class__.ICON) + return self.icon def getDisplayModes(self,obj): '''Return a list of display modes.''' @@ -43,4 +45,10 @@ class BaseViewProvider: return 'Standard' def __getstate__(self): - return None + return { + 'icon': self.icon + } + + def __setstate__(self, props): + for prop in props: + setattr(self, prop, props[prop])