Skip to content

Commit

Permalink
Add delete buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
Ebag333 authored and blitzmann committed Apr 11, 2017
1 parent 50e604f commit e245891
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 24 deletions.
78 changes: 54 additions & 24 deletions gui/builtinPreferenceViews/pyfaDatabasePreferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

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.loadDefaultDatabaseValues import DefaultDatabaseValues

import logging

Expand Down Expand Up @@ -66,13 +69,61 @@ def populatePanel(self, panel):
self.cbsaveInRoot.SetValue(config.saveInRoot)
self.cbsaveInRoot.Bind(wx.EVT_CHECKBOX, self.onCBsaveInRoot)

self.inputUserPath.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
self.inputFitDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
self.inputGameDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
# self.inputUserPath.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
# self.inputFitDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)
# self.inputGameDB.Bind(wx.EVT_LEAVE_WINDOW, self.OnWindowLeave)

self.m_staticline2 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)
mainSizer.Add(self.m_staticline2, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)

self.stSubTitleTwo = wx.StaticText(panel, wx.ID_ANY, u"(DANGER ZONE!\nUsing these options will permanantly delete data out of the database.)",
wx.DefaultPosition, wx.DefaultSize, 0)
self.stSubTitleTwo.Wrap(-1)
mainSizer.Add(self.stSubTitleTwo, 0, wx.ALL, 3)

self.m_staticline3 = wx.StaticLine(panel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL)
mainSizer.Add(self.m_staticline3, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)

btnSizer = wx.BoxSizer(wx.VERTICAL)
btnSizer.AddSpacer((0, 0), 1, wx.EXPAND, 5)

self.btnDeleteDamagePatterns = wx.Button(panel, wx.ID_ANY, u"Delete All Damage Pattern Profiles", wx.DefaultPosition, wx.DefaultSize, 0)
btnSizer.Add(self.btnDeleteDamagePatterns, 0, wx.ALL, 5)

self.btnDeleteTargetResists = wx.Button(panel, wx.ID_ANY, u"Delete All Target Resist Profiles", wx.DefaultPosition, wx.DefaultSize, 0)
btnSizer.Add(self.btnDeleteTargetResists, 0, wx.ALL, 5)

self.btnPrices = wx.Button(panel, wx.ID_ANY, u"Delete All Prices", wx.DefaultPosition, wx.DefaultSize, 0)
btnSizer.Add(self.btnPrices, 0, wx.ALL, 5)

mainSizer.Add(btnSizer, 0, wx.EXPAND, 5)

self.btnDeleteDamagePatterns.Bind(wx.EVT_BUTTON, self.DeleteDamagePatterns)
self.btnDeleteTargetResists.Bind(wx.EVT_BUTTON, self.DeleteTargetResists)
self.btnPrices.Bind(wx.EVT_BUTTON, self.DeletePrices)

panel.SetSizer(mainSizer)
panel.Layout()

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()

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()

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):
clearPrices()

def onCBsaveInRoot(self, event):
# We don't want users to be able to actually change this,
# so if they try and change it, set it back to the current setting
Expand All @@ -86,26 +137,5 @@ def onCBsaveInRoot(self, event):
def getImage(self):
return BitmapLoader.getBitmap("settings_database", "gui")

def OnWindowLeave(self, event):
# We don't want to do anything when they leave,
# but in the future we'd want to make sure settings
# changed get saved.
pass

'''
#Set database path
config.defPaths(self.inputFitDBPath.GetValue())
logger.debug("Running database import")
if self.cbimportDefaults is True:
# Import default database values
# Import values that must exist otherwise Pyfa breaks
DefaultDatabaseValues.importRequiredDefaults()
# Import default values for damage profiles
DefaultDatabaseValues.importDamageProfileDefaults()
# Import default values for target resist profiles
DefaultDatabaseValues.importResistProfileDefaults()
'''


PFGeneralPref.register()
8 changes: 8 additions & 0 deletions gui/utils/helpers_wxPython.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import wx


def YesNoDialog(question=u'Are you sure you want to do this?', caption=u'Yes or no?'):
dlg = wx.MessageDialog(None, question, caption, wx.YES_NO | wx.ICON_QUESTION)
result = dlg.ShowModal() == wx.ID_YES
dlg.Destroy()
return result

0 comments on commit e245891

Please sign in to comment.