From 79a11c65037a89afea55b92bf71a78e2e6097453 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Sat, 23 Oct 2010 18:56:00 +0200 Subject: [PATCH] Manualy apply weeknie's import auto-open patch --- gui/importExport.py | 15 +++++++++++---- service/fit.py | 4 ++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/gui/importExport.py b/gui/importExport.py index bf778c2ba..bd95d9ece 100644 --- a/gui/importExport.py +++ b/gui/importExport.py @@ -22,6 +22,7 @@ import service import config import gui.mainFrame import os +import gui.shipBrowser class ImportDialog(wx.Dialog): def __init__(self, parent): @@ -29,7 +30,7 @@ class ImportDialog(wx.Dialog): self._toggleEdit = -1 self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) self.SetMinSize((500,300)) - + self.mainFrame = gui.mainFrame.MainFrame.getInstance() self._fitsFromFile = None self._fitsFromEdit = None @@ -93,8 +94,9 @@ class ImportDialog(wx.Dialog): if self._toggleEdit == -1: if self._fitsFromFile: try: - sFit.saveImportedFits(self._fitsFromFile) + IDs = sFit.saveImportedFits(self._fitsFromFile) self.stStatus.SetLabel("Status: %d fit(s) imported" % len(self._fitsFromFile)) + self._openAfterImport(len(self._fitsFromFile), IDs) except: self.stStatus.SetLabel("Status: Error importing from file!") self._fitsFromFile = None @@ -105,14 +107,19 @@ class ImportDialog(wx.Dialog): if len(buffer) != 0: try: self._fitsFromEdit = sFit.importFitFromBuffer(buffer) - sFit.saveImportedFits(self._fitsFromEdit) + IDs = sFit.saveImportedFits(self._fitsFromEdit) self.stStatus.SetLabel("Status: %d fit(s) imported" % len(self._fitsFromEdit)) + self._openAfterImport(len(self._fitsFromEdit), IDs) except: self.stStatus.SetLabel("Status: Error importing from text editor!") else: self.stStatus.SetLabel("Status: Nothing specified.") event.Skip() + def _openAfterImport(self, importCount, fitIDs): + if importCount == 1: + if self.mainFrame.getActiveFit() != fitIDs[0]: + wx.PostEvent(self.mainFrame, gui.shipBrowser.FitSelected(fitID=fitIDs[0])) def prepareFileFits(self, event): sFit = service.Fit.getInstance() @@ -266,4 +273,4 @@ class ExportDialog ( wx.Dialog ): def WriteFile(self,filename,buffer): ofile = file(filename,"w") ofile.write(buffer) - ofile.close() \ No newline at end of file + ofile.close() diff --git a/service/fit.py b/service/fit.py index 3c0fcc35d..98b52b5b3 100644 --- a/service/fit.py +++ b/service/fit.py @@ -332,8 +332,12 @@ class Fit(object): return fits def saveImportedFits(self, fits): + IDs = [] for fit in fits: eos.db.save(fit) + IDs.append(fit.ID) + + return IDs def toggleModulesState(self, fitID, base, modules, click): proposedState = self.__getProposedState(base, click)