From c25eda8b6491bc0aeb81c64e024ba83079214777 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 16 Dec 2019 13:11:18 +0300 Subject: [PATCH] Do not save mutated values when user did not touch them (and they were altered due to rounding) --- gui/builtinItemStatsViews/itemMutator.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gui/builtinItemStatsViews/itemMutator.py b/gui/builtinItemStatsViews/itemMutator.py index 11f1bf9c7..f70b8bf43 100644 --- a/gui/builtinItemStatsViews/itemMutator.py +++ b/gui/builtinItemStatsViews/itemMutator.py @@ -76,6 +76,7 @@ class ItemMutatorList(wx.ScrolledWindow): self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.mod = mod self.timer = None + self.isModified = False goodColor = wx.Colour(96, 191, 0) badColor = wx.Colour(255, 64, 0) @@ -171,6 +172,7 @@ class ItemMutatorList(wx.ScrolledWindow): self.SetSizer(sizer) def changeMutatedValue(self, evt): + self.isModified = True m = self.event_mapping[evt.Object] value = evt.Value value = m.attribute.unit.ComplicateValue(value) @@ -188,6 +190,7 @@ class ItemMutatorList(wx.ScrolledWindow): self.timer = wx.CallLater(1000, self.callLater) def resetMutatedValues(self, evt): + self.isModified = True sFit = Fit.getInstance() for slider, m in self.event_mapping.items(): value = sFit.changeMutatedValuePrelim(m, m.baseValue) @@ -196,6 +199,7 @@ class ItemMutatorList(wx.ScrolledWindow): evt.Skip() def randomMutatedValues(self, evt): + self.isModified = True sFit = Fit.getInstance() for slider, m in self.event_mapping.items(): value = random.uniform(m.minValue, m.maxValue) @@ -205,6 +209,7 @@ class ItemMutatorList(wx.ScrolledWindow): evt.Skip() def revertChanges(self, evt): + self.isModified = False sFit = Fit.getInstance() for slider, m in self.event_mapping.items(): if m.attrID in self.initialMutations: @@ -217,7 +222,7 @@ class ItemMutatorList(wx.ScrolledWindow): # Submit mutation changes sFit = Fit.getInstance() fit = sFit.getFit(self.carryingFitID) - if self.mod in fit.modules: + if self.isModified and self.mod in fit.modules: currentMutation = {} for slider, m in self.event_mapping.items(): # Sliders may have more up-to-date info than mutator in case we changed