Merge branch 'master' into singularity
Conflicts: eos/db/saveddata/fit.py gui/additionsPane.py
This commit is contained in:
@@ -25,7 +25,9 @@ from gui.fighterView import FighterView
|
||||
from gui.cargoView import CargoView
|
||||
from gui.implantView import ImplantView
|
||||
from gui.projectedView import ProjectedView
|
||||
|
||||
from gui.commandView import CommandView
|
||||
from gui.notesView import NotesView
|
||||
from gui.pyfatogglepanel import TogglePanel
|
||||
from gui.gangView import GangView
|
||||
from gui.bitmapLoader import BitmapLoader
|
||||
@@ -58,6 +60,7 @@ class AdditionsPane(TogglePanel):
|
||||
projectedImg = BitmapLoader.getImage("projected_small", "gui")
|
||||
gangImg = BitmapLoader.getImage("fleet_fc_small", "gui")
|
||||
cargoImg = BitmapLoader.getImage("cargo_small", "gui")
|
||||
notesImg = BitmapLoader.getImage("skill_small", "gui")
|
||||
|
||||
self.drone = DroneView(self.notebook)
|
||||
self.notebook.AddPage(self.drone, "Drones", tabImage = droneImg, showClose = False)
|
||||
@@ -80,9 +83,13 @@ class AdditionsPane(TogglePanel):
|
||||
self.gangPage = CommandView(self.notebook)
|
||||
self.notebook.AddPage(self.gangPage, "Command", tabImage = gangImg, showClose = False)
|
||||
|
||||
self.notes = NotesView(self.notebook)
|
||||
self.notebook.AddPage(self.notes, "Notes", tabImage = notesImg, showClose = False)
|
||||
|
||||
self.notebook.SetSelection(0)
|
||||
|
||||
PANES = ["Drones", "Fighters", "Cargo", "Implants", "Boosters", "Projected", "Command"]
|
||||
PANES = ["Drones", "Fighters", "Cargo", "Implants", "Boosters", "Projected", "Command", "Notes"]
|
||||
|
||||
def select(self, name):
|
||||
self.notebook.SetSelection(self.PANES.index(name))
|
||||
|
||||
|
||||
45
gui/notesView.py
Normal file
45
gui/notesView.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import wx
|
||||
|
||||
import service
|
||||
import gui.globalEvents as GE
|
||||
import gui.mainFrame
|
||||
|
||||
class NotesView(wx.Panel):
|
||||
def __init__(self, parent):
|
||||
wx.Panel.__init__(self, parent)
|
||||
self.lastFitId = None
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
mainSizer = wx.BoxSizer(wx.VERTICAL)
|
||||
self.editNotes = wx.TextCtrl(self, style=wx.TE_MULTILINE)
|
||||
mainSizer.Add(self.editNotes, 1, wx.EXPAND)
|
||||
self.SetSizer(mainSizer)
|
||||
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
|
||||
self.Bind(wx.EVT_TEXT, self.onText)
|
||||
self.saveTimer = wx.Timer(self)
|
||||
self.Bind(wx.EVT_TIMER, self.delayedSave, self.saveTimer)
|
||||
|
||||
def fitChanged(self, event):
|
||||
sFit = service.Fit.getInstance()
|
||||
fit = sFit.getFit(event.fitID)
|
||||
|
||||
self.Parent.Parent.DisablePage(self, not fit or fit.isStructure)
|
||||
|
||||
if event.fitID is None and self.lastFitId is not None:
|
||||
self.lastFitId = None
|
||||
event.Skip()
|
||||
return
|
||||
elif event.fitID != self.lastFitId:
|
||||
self.lastFitId = event.fitID
|
||||
self.editNotes.SetValue(fit.notes or "")
|
||||
|
||||
def onText(self, event):
|
||||
# delay the save so we're not writing to sqlite on every keystroke
|
||||
self.saveTimer.Stop() # cancel the existing timer
|
||||
self.saveTimer.Start(1000, True)
|
||||
|
||||
def delayedSave(self, event):
|
||||
sFit = service.Fit.getInstance()
|
||||
fit = sFit.getFit(self.lastFitId)
|
||||
newNotes = self.editNotes.GetValue()
|
||||
fit.notes = newNotes
|
||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fit.ID))
|
||||
Reference in New Issue
Block a user