From affd4d16c654627502e542ca32177afd36acfafa Mon Sep 17 00:00:00 2001 From: Lucas Thode Date: Tue, 26 Oct 2010 10:28:21 -0500 Subject: [PATCH] Import now uses the standard File->Open dialog box Also, you can import multiple files in one go now. The wildcard could still use some tweaking, however. --- gui/mainFrame.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 82f319bf3..f50ebb222 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -25,7 +25,7 @@ from gui.additionsPane import AdditionsPane from gui.marketBrowser import MarketBrowser from gui.multiSwitch import MultiSwitch from gui.statsPane import StatsPane -from gui.shipBrowser import ShipBrowser +from gui.shipBrowser import ShipBrowser, FitSelected from wx.lib.wordwrap import wordwrap from gui.characterEditor import CharacterEditor from gui.characterSelection import CharacterSelection @@ -149,9 +149,27 @@ class MainFrame(wx.Frame): dlg.Destroy() def showImportDialog(self, event): - dlg=ImportDialog(self) - dlg.ShowModal() + fits = [] + sFit = service.Fit.getInstance() + dlg=wx.FileDialog( + self, + "Pick one or more fitting files to import", + wildcard = "EvE XML fitting files (*.xml)|*.xml|All Files (*.*)|*.*", + style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST | wx.FD_MULTIPLE) + if (dlg.ShowModal() == wx.ID_OK): + try: + for importPath in dlg.GetPaths(): + fits += sFit.importFit(importPath) + IDs = sFit.saveImportedFits(fits) + self._openAfterImport(len(fits), IDs) + except: + wx.MessageBox("Error importing from file.", "Error", wx.OK | wx.ICON_ERROR, self) dlg.Destroy() + + def _openAfterImport(self, importCount, fitIDs): + if importCount == 1: + if self.getActiveFit() != fitIDs[0]: + wx.PostEvent(self, FitSelected(fitID=fitIDs[0])) def showExportDialog(self, event): dlg=ExportDialog(self)