diff --git a/eos/db/saveddata/queries.py b/eos/db/saveddata/queries.py index 4a58a8a82..1088c1b0f 100644 --- a/eos/db/saveddata/queries.py +++ b/eos/db/saveddata/queries.py @@ -332,6 +332,13 @@ def getDamagePatternList(eager=None): return patterns +def clearDamagePatterns(): + with sd_lock: + deleted_rows = saveddata_session.query(DamagePattern).filter(DamagePattern.name != 'Uniform').delete() + commit() + return deleted_rows + + def getTargetResistsList(eager=None): eager = processEager(eager) with sd_lock: @@ -339,6 +346,13 @@ def getTargetResistsList(eager=None): return patterns +def clearTargetResists(): + with sd_lock: + deleted_rows = saveddata_session.query(TargetResists).delete() + commit() + return deleted_rows + + def getImplantSetList(eager=None): eager = processEager(eager) with sd_lock: diff --git a/gui/builtinPreferenceViews/pyfaDatabasePreferences.py b/gui/builtinPreferenceViews/pyfaDatabasePreferences.py index fc564ca42..0fcc87e33 100644 --- a/gui/builtinPreferenceViews/pyfaDatabasePreferences.py +++ b/gui/builtinPreferenceViews/pyfaDatabasePreferences.py @@ -4,7 +4,7 @@ from gui.preferenceView import PreferenceView from gui.bitmapLoader import BitmapLoader from gui.utils import helpers_wxPython as wxHelpers import config -from eos.db.saveddata.queries import getTargetResistsList, getDamagePatternList, clearPrices, remove +from eos.db.saveddata.queries import clearPrices, remove, clearDamagePatterns, clearTargetResists from eos.db.saveddata.loadDefaultDatabaseValues import DefaultDatabaseValues import logging @@ -107,21 +107,17 @@ class PFGeneralPref(PreferenceView): def DeleteDamagePatterns(self, event): question = u"This is a destructive action that will delete all damage pattern profiles.\nAre you sure you want to do this?" - if wxHelpers.YesNoDialog(question): - for damage_pattern in getDamagePatternList(): - remove(damage_pattern) - DefaultDatabaseValues.importRequiredDefaults() + if wxHelpers.YesNoDialog(question, "Confirm"): + clearDamagePatterns() def DeleteTargetResists(self, event): question = u"This is a destructive action that will delete all target resist profiles.\nAre you sure you want to do this?" - if wxHelpers.YesNoDialog(question): - for target_resist in getTargetResistsList(): - remove(target_resist) - DefaultDatabaseValues.importRequiredDefaults() + if wxHelpers.YesNoDialog(question, "Confirm"): + clearTargetResists() def DeletePrices(self, event): question = u"This is a destructive action that will delete all cached prices out of the database.\nAre you sure you want to do this?" - if wxHelpers.YesNoDialog(question): + if wxHelpers.YesNoDialog(question, "Confirm"): clearPrices() def onCBsaveInRoot(self, event):