From da10da2830645be8d8da5ce99f7d7a0ebd906e72 Mon Sep 17 00:00:00 2001 From: June Tate-Gans Date: Wed, 28 Apr 2021 20:53:48 -0500 Subject: [PATCH] g13gui: Fix a fairly major duplication problem We weren't cloning the defaults from the bindings module, so when we went to go modify those bindings, we'd change the defaults instead of just that instance. yay for lack of immutability. :| --- g13gui/g13gui/model/bindingprofile.py | 18 +++++++++--------- g13gui/g13gui/ui/g13button.py | 3 --- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/g13gui/g13gui/model/bindingprofile.py b/g13gui/g13gui/model/bindingprofile.py index d241d5f..dc5c0bb 100644 --- a/g13gui/g13gui/model/bindingprofile.py +++ b/g13gui/g13gui/model/bindingprofile.py @@ -14,9 +14,9 @@ class BindingProfile(Subject): def initDefaults(self): self._stickMode = bindings.StickMode.KEYS - self._stickRegions = bindings.DEFAULT_STICK_REGIONS - self._stickRegionBindings = bindings.DEFAULT_STICK_REGION_BINDINGS - self._keyBindings = bindings.DEFAULT_KEY_BINDINGS + self._stickRegions = bindings.DEFAULT_STICK_REGIONS.copy() + self._stickRegionBindings = bindings.DEFAULT_STICK_REGION_BINDINGS.copy() + self._keyBindings = bindings.DEFAULT_KEY_BINDINGS.copy() self._lcdColor = bindings.DEFAULT_LCD_COLOR def lcdColor(self): @@ -103,15 +103,15 @@ class BindingProfile(Subject): def loadFromDict(self, dict): self._lcdColor = dict['lcdcolor'] self._stickMode = dict['stickMode'] - self._stickRegions = dict['stickRegions'] - self._stickRegionBindings = dict['stickRegionBindings'] - self._keyBindings = dict['keyBindings'] + self._stickRegions = dict['stickRegions'].copy() + self._stickRegionBindings = dict['stickRegionBindings'].copy() + self._keyBindings = dict['keyBindings'].copy() def saveToDict(self): return { 'lcdcolor': self._lcdColor, 'stickMode': self._stickMode, - 'stickRegions': self._stickRegions, - 'stickRegionBindings': self._stickRegionBindings, - 'keyBindings': self._keyBindings + 'stickRegions': self._stickRegions.copy(), + 'stickRegionBindings': self._stickRegionBindings.copy(), + 'keyBindings': self._keyBindings.copy() } diff --git a/g13gui/g13gui/ui/g13button.py b/g13gui/g13gui/ui/g13button.py index b50f8ec..735f892 100644 --- a/g13gui/g13gui/ui/g13button.py +++ b/g13gui/g13gui/ui/g13button.py @@ -45,9 +45,6 @@ class G13Button(Gtk.MenuButton, GtkObserver): def updateBindingDisplay(self): self._removeChild() bindings = self._prefs.selectedProfile().keyBinding(self._keyName) - print('[%s %s] %s: %s' % (self._prefs.selectedProfileName(), - self._prefs.selectedProfile(), - self._keyName, bindings)) if len(bindings) > 0: keybinds = G13ToGDK(bindings)