diff --git a/gui/patternEditor.py b/gui/patternEditor.py index 7bf806207..542698f9c 100644 --- a/gui/patternEditor.py +++ b/gui/patternEditor.py @@ -147,10 +147,9 @@ class DmgPatternEditorDlg (wx.Dialog): self.SetSizer(mainSizer) -# - importExport = (("Import", wx.ART_FILE_OPEN), - ("Export", wx.ART_FILE_SAVE_AS)) - for name, art in importExport: + importExport = (("Import", wx.ART_FILE_OPEN, "from"), + ("Export", wx.ART_FILE_SAVE_AS, "to")) + for name, art, direction in importExport: bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON) btn = wx.BitmapButton(self, wx.ID_ANY, bitmap) @@ -160,12 +159,9 @@ class DmgPatternEditorDlg (wx.Dialog): btn.Layout() setattr(self, name, btn) btn.Enable(True) - btn.SetToolTipString("%s patterns" % name.capitalize()) + btn.SetToolTipString("%s patterns %s clipboard" % (name, direction) ) footerSizer.Add(btn, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_RIGHT) -# - - self.Layout() bsize = self.GetBestSize() self.SetSize((-1,bsize.height)) diff --git a/service/damagePattern.py b/service/damagePattern.py index 6348c6559..830a619ef 100644 --- a/service/damagePattern.py +++ b/service/damagePattern.py @@ -31,17 +31,15 @@ class DamagePattern(): return cls.instance def __init__(self): - self.getDamagePatternList() - - def getDamagePatternList(self): - patterns = eos.db.getDamagePatternList() - if len(patterns) == 0: + try: + uniform = eos.db.getDamagePattern("Uniform") + except: uniform = eos.types.DamagePattern(25, 25, 25, 25) uniform.name = "Uniform" eos.db.save(uniform) - patterns.append(uniform) - return patterns + def getDamagePatternList(self): + return eos.db.getDamagePatternList() def getDamagePattern(self, name): return eos.db.getDamagePattern(name) @@ -67,8 +65,17 @@ class DamagePattern(): eos.db.save(p) def importPatterns(self, text): - eos.types.DamagePattern.importPatterns(text) + lookup = {} + current = self.getDamagePatternList() + for pattern in current: + lookup[pattern.name] = pattern + imports = eos.types.DamagePattern.importPatterns(text) + for pattern in imports: + if pattern.name in lookup: + self.deletePattern( lookup[pattern.name] ) + eos.db.save(pattern) def exportPatterns(self): patterns = self.getDamagePatternList() return eos.types.DamagePattern.exportPatterns(*patterns) +