Do not allow same fit to be viewed in more than one tab

This commit is contained in:
HomeWorld
2010-11-18 18:45:45 +02:00
parent 029a3f9ad2
commit c85391b5bc

View File

@@ -41,9 +41,19 @@ class FitSpawner(gui.multiSwitch.TabSpawner):
mainFrame.Bind(gui.shipBrowser.EVT_FIT_SELECTED, self.fitSelected) mainFrame.Bind(gui.shipBrowser.EVT_FIT_SELECTED, self.fitSelected)
def fitSelected(self, event): def fitSelected(self, event):
view = FittingView(self.multiSwitch) count = -1
self.multiSwitch.ReplaceActivePage(view) for index, page in enumerate(self.multiSwitch.pages):
view.fitSelected(event) try:
if page.activeFitID == event.fitID:
count +=1
self.multiSwitch.SetSelection(index)
break
except:
pass
if count <0:
view = FittingView(self.multiSwitch)
self.multiSwitch.ReplaceActivePage(view)
view.fitSelected(event)
FitSpawner.register() FitSpawner.register()
@@ -81,7 +91,7 @@ class FittingView(d.Display):
self.Show(False) self.Show(False)
self.parent = parent self.parent = parent
self.mainFrame.Bind(FIT_CHANGED, self.fitChanged) self.mainFrame.Bind(FIT_CHANGED, self.fitChanged)
self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_SELECTED, self.fitSelected) # self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_SELECTED, self.fitSelected)
self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_RENAMED, self.fitRenamed) self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_RENAMED, self.fitRenamed)
self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_REMOVED, self.fitRemoved) self.mainFrame.Bind(gui.shipBrowser.EVT_FIT_REMOVED, self.fitRemoved)
self.mainFrame.Bind(gui.marketBrowser.ITEM_SELECTED, self.appendItem) self.mainFrame.Bind(gui.marketBrowser.ITEM_SELECTED, self.appendItem)
@@ -103,7 +113,7 @@ class FittingView(d.Display):
def Destroy(self): def Destroy(self):
self.parent.Unbind(gui.chromeTabs.EVT_NOTEBOOK_PAGE_CHANGED, handler=self.pageChanged) self.parent.Unbind(gui.chromeTabs.EVT_NOTEBOOK_PAGE_CHANGED, handler=self.pageChanged)
self.mainFrame.Unbind(FIT_CHANGED, handler=self.fitChanged) self.mainFrame.Unbind(FIT_CHANGED, handler=self.fitChanged)
self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_SELECTED, handler=self.fitSelected) # self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_SELECTED, handler=self.fitSelected)
self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_RENAMED, handler=self.fitRenamed) self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_RENAMED, handler=self.fitRenamed)
self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_REMOVED, handler=self.fitRemoved) self.mainFrame.Unbind(gui.shipBrowser.EVT_FIT_REMOVED, handler=self.fitRemoved)
self.mainFrame.Unbind(gui.marketBrowser.ITEM_SELECTED, handler=self.appendItem) self.mainFrame.Unbind(gui.marketBrowser.ITEM_SELECTED, handler=self.appendItem)