From cb639e5c7ccf42e654f1dda1b75b082478cf73d9 Mon Sep 17 00:00:00 2001 From: tassaron Date: Thu, 15 Jun 2017 11:36:26 -0400 Subject: clear preset button, disable New Project during export enable preset manager during export, and clear deleted presets from project files when opened --- core.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'core.py') diff --git a/core.py b/core.py index 9276f4a..8eb7d16 100644 --- a/core.py +++ b/core.py @@ -82,6 +82,12 @@ class Core(): index = compNames.index(compName) return self.moduleIndexes[index] + def clearPreset(self, compIndex, loader=None): + '''Clears a preset from a component''' + self.selectedComponents[compIndex].currentPreset = None + if loader: + loader.updateComponentTitle(compIndex) + def openPreset(self, filepath, compIndex, presetName): '''Applies a preset to a specific component''' saveValueStore = self.getPreset(filepath) @@ -112,6 +118,7 @@ class Core(): if errcode == 0: for i, tup in enumerate(data['Components']): name, vers, preset = tup + clearThis = False # add loaded named presets to savedPresets dict if 'preset' in preset and preset['preset'] != None: @@ -119,7 +126,11 @@ class Core(): filepath2 = os.path.join( self.presetDir, name, str(vers), nam) origSaveValueStore = self.getPreset(filepath2) - self.savedPresets[nam] = dict(origSaveValueStore) + if origSaveValueStore: + self.savedPresets[nam] = dict(origSaveValueStore) + else: + # saved preset was renamed or deleted + clearThis = True # insert component into the loader loader.insertComponent( @@ -138,6 +149,10 @@ class Core(): print('%s missing value %s' % (self.selectedComponents[-1], e)) + if clearThis: + self.clearPreset(-1, loader) + + elif errcode == 1: typ, value, _ = data if typ.__name__ == KeyError: -- cgit v1.2.3