From 6380b02b32aa082f26c15cc1d86a7ac5620e156f Mon Sep 17 00:00:00 2001 From: June Tate-Gans Date: Sat, 8 May 2021 19:28:34 -0500 Subject: [PATCH] ui: Make ProfileCombobox use changeTriggers --- g13gui/g13gui/ui/profilecombobox.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/g13gui/g13gui/ui/profilecombobox.py b/g13gui/g13gui/ui/profilecombobox.py index b4abb08..661be14 100644 --- a/g13gui/g13gui/ui/profilecombobox.py +++ b/g13gui/g13gui/ui/profilecombobox.py @@ -25,7 +25,14 @@ class ProfileComboBox(Gtk.ComboBoxText, GtkObserver): self._prefs = prefs self._prefs.registerObserver(self, {'profile', 'selectedProfile'}) self.changeTrigger(self.onSelectedProfileChanged, + changeType=ChangeType.MODIFY, keys={'selectedProfile'}) + self.changeTrigger(self.onProfileAdded, + changeType=ChangeType.ADD, + keys={'profile'}) + self.changeTrigger(self.onProfileRemoved, + changeType=ChangeType.REMOVE, + keys={'profile'}) self._isUpdating = False self._ignoreSelectionChange = False @@ -60,7 +67,12 @@ class ProfileComboBox(Gtk.ComboBoxText, GtkObserver): if not self._ignoreSelectionChange: self.update() - def onProfileChanged(self, subject, changeType, key, data): + def onProfileAdded(self, subject, changeType, key, data): + print('onProfileAdded(%s, %s, %s)' % (changeType, key, data)) name = list(data.keys())[0] - if changeType == ChangeType.ADD: - self._model.append([name, name]) + self._model.append([name, name]) + + def onProfileRemoved(self, subject, changeType, key, data): + print('onProfileRemoved(%s, %s, %s)' % (changeType, key, data)) + name = list(data.keys())[0] + self._model.remove([name, name])