Merge branch 'master' into singularity
This commit is contained in:
@@ -4,13 +4,8 @@ import time
|
||||
import re
|
||||
import os
|
||||
|
||||
def getVersion(db):
|
||||
cursor = db.execute('PRAGMA user_version')
|
||||
return cursor.fetchone()[0]
|
||||
|
||||
def update(saveddata_engine):
|
||||
dbVersion = getVersion(saveddata_engine)
|
||||
|
||||
def getAppVersion():
|
||||
# calculate app version based on upgrade files we have
|
||||
appVersion = 0
|
||||
for fname in os.listdir(os.path.join(os.path.dirname(__file__), "migrations")):
|
||||
m = re.match("^upgrade(?P<index>\d+)\.py$", fname)
|
||||
@@ -18,6 +13,15 @@ def update(saveddata_engine):
|
||||
continue
|
||||
index = int(m.group("index"))
|
||||
appVersion = max(appVersion, index)
|
||||
return appVersion
|
||||
|
||||
def getVersion(db):
|
||||
cursor = db.execute('PRAGMA user_version')
|
||||
return cursor.fetchone()[0]
|
||||
|
||||
def update(saveddata_engine):
|
||||
dbVersion = getVersion(saveddata_engine)
|
||||
appVersion = getAppVersion()
|
||||
|
||||
if dbVersion == appVersion:
|
||||
return
|
||||
|
||||
@@ -56,6 +56,9 @@ class PFGeneralPref ( PreferenceView):
|
||||
self.cbShowTooltip = wx.CheckBox( panel, wx.ID_ANY, u"Show tab tooltips", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
mainSizer.Add( self.cbShowTooltip, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
self.cbMarketShortcuts = wx.CheckBox( panel, wx.ID_ANY, u"Show market shortcuts", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||
mainSizer.Add( self.cbMarketShortcuts, 0, wx.ALL|wx.EXPAND, 5 )
|
||||
|
||||
defCharSizer = wx.BoxSizer( wx.HORIZONTAL )
|
||||
|
||||
self.sFit = service.Fit.getInstance()
|
||||
@@ -69,6 +72,7 @@ class PFGeneralPref ( PreferenceView):
|
||||
self.cbCompactSkills.SetValue(self.sFit.serviceFittingOptions["compactSkills"] or False)
|
||||
self.cbReopenFits.SetValue(self.openFitsSettings["enabled"])
|
||||
self.cbShowTooltip.SetValue(self.sFit.serviceFittingOptions["showTooltip"] or False)
|
||||
self.cbMarketShortcuts.SetValue(self.sFit.serviceFittingOptions["showMarketShortcuts"] or False)
|
||||
|
||||
self.cbGlobalChar.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalCharStateChange)
|
||||
self.cbGlobalDmgPattern.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalDmgPatternStateChange)
|
||||
@@ -79,6 +83,7 @@ class PFGeneralPref ( PreferenceView):
|
||||
self.cbCompactSkills.Bind(wx.EVT_CHECKBOX, self.onCBCompactSkills)
|
||||
self.cbReopenFits.Bind(wx.EVT_CHECKBOX, self.onCBReopenFits)
|
||||
self.cbShowTooltip.Bind(wx.EVT_CHECKBOX, self.onCBShowTooltip)
|
||||
self.cbMarketShortcuts.Bind(wx.EVT_CHECKBOX, self.onCBShowShortcuts)
|
||||
|
||||
self.cbRackLabels.Enable(self.sFit.serviceFittingOptions["rackSlots"] or False)
|
||||
|
||||
@@ -135,6 +140,9 @@ class PFGeneralPref ( PreferenceView):
|
||||
def onCBShowTooltip(self, event):
|
||||
self.sFit.serviceFittingOptions["showTooltip"] = self.cbShowTooltip.GetValue()
|
||||
|
||||
def onCBShowShortcuts(self, event):
|
||||
self.sFit.serviceFittingOptions["showMarketShortcuts"] = self.cbMarketShortcuts.GetValue()
|
||||
|
||||
def getImage(self):
|
||||
return bitmapLoader.getBitmap("prefs_settings", "icons")
|
||||
|
||||
|
||||
@@ -55,6 +55,15 @@ class BaseName(ViewColumn):
|
||||
return stuff.item.name
|
||||
else:
|
||||
item = getattr(stuff, "item", stuff)
|
||||
|
||||
if service.Fit.getInstance().serviceFittingOptions["showMarketShortcuts"]:
|
||||
marketShortcut = getattr(item, "marketShortcut", None)
|
||||
|
||||
if marketShortcut:
|
||||
# use unicode subscript to display shortcut value
|
||||
shortcut = unichr(marketShortcut+8320)+u" "
|
||||
return shortcut+item.name
|
||||
|
||||
return item.name
|
||||
|
||||
BaseName.register()
|
||||
|
||||
@@ -39,7 +39,7 @@ import gui.globalEvents as GE
|
||||
from gui import bitmapLoader
|
||||
from gui.mainMenuBar import MainMenuBar
|
||||
from gui.additionsPane import AdditionsPane
|
||||
from gui.marketBrowser import MarketBrowser
|
||||
from gui.marketBrowser import MarketBrowser, ItemSelected
|
||||
from gui.multiSwitch import MultiSwitch
|
||||
from gui.statsPane import StatsPane
|
||||
from gui.shipBrowser import ShipBrowser, FitSelected, ImportSelected, Stage3Selected
|
||||
@@ -423,12 +423,6 @@ class MainFrame(wx.Frame):
|
||||
ctabnext = wx.NewId()
|
||||
ctabprev = wx.NewId()
|
||||
|
||||
self.additionstab1 = wx.NewId()
|
||||
self.additionstab2 = wx.NewId()
|
||||
self.additionstab3 = wx.NewId()
|
||||
self.additionstab4 = wx.NewId()
|
||||
self.additionstab5 = wx.NewId()
|
||||
|
||||
# Close Page
|
||||
self.Bind(wx.EVT_MENU, self.CloseCurrentPage, id=self.closePageId)
|
||||
self.Bind(wx.EVT_MENU, self.HAddPage, id = self.addPageId)
|
||||
@@ -437,12 +431,6 @@ class MainFrame(wx.Frame):
|
||||
self.Bind(wx.EVT_MENU, self.CTabNext, id = ctabnext)
|
||||
self.Bind(wx.EVT_MENU, self.CTabPrev, id = ctabprev)
|
||||
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id = self.additionstab1)
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id = self.additionstab2)
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id = self.additionstab3)
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id = self.additionstab4)
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id = self.additionstab5)
|
||||
|
||||
actb = [(wx.ACCEL_CTRL, ord('T'), self.addPageId),
|
||||
(wx.ACCEL_CMD, ord('T'), self.addPageId),
|
||||
|
||||
@@ -462,41 +450,43 @@ class MainFrame(wx.Frame):
|
||||
(wx.ACCEL_CMD, wx.WXK_TAB, ctabnext),
|
||||
(wx.ACCEL_CMD | wx.ACCEL_SHIFT, wx.WXK_TAB, ctabprev),
|
||||
|
||||
# Ctrl+age(Up/Down)
|
||||
# Ctrl+Page(Up/Down)
|
||||
(wx.ACCEL_CTRL, wx.WXK_PAGEDOWN, ctabnext),
|
||||
(wx.ACCEL_CTRL, wx.WXK_PAGEUP, ctabprev),
|
||||
(wx.ACCEL_CMD, wx.WXK_PAGEDOWN, ctabnext),
|
||||
(wx.ACCEL_CMD, wx.WXK_PAGEUP, ctabprev),
|
||||
|
||||
(wx.ACCEL_CTRL, ord('1'), self.additionstab1),
|
||||
(wx.ACCEL_CTRL, ord('2'), self.additionstab2),
|
||||
(wx.ACCEL_CTRL, ord('3'), self.additionstab3),
|
||||
(wx.ACCEL_CTRL, ord('4'), self.additionstab4),
|
||||
(wx.ACCEL_CTRL, ord('5'), self.additionstab5),
|
||||
(wx.ACCEL_CMD, ord('1'), self.additionstab1),
|
||||
(wx.ACCEL_CMD, ord('2'), self.additionstab2),
|
||||
(wx.ACCEL_CMD, ord('3'), self.additionstab3),
|
||||
(wx.ACCEL_CMD, ord('4'), self.additionstab4),
|
||||
(wx.ACCEL_CMD, ord('5'), self.additionstab5)
|
||||
(wx.ACCEL_CMD, wx.WXK_PAGEUP, ctabprev)
|
||||
]
|
||||
|
||||
# Ctrl/Cmd+# for addition pane selection
|
||||
self.additionsSelect = []
|
||||
for i in range(0, self.additionsPane.notebook.GetPageCount()):
|
||||
self.additionsSelect.append(wx.NewId())
|
||||
self.Bind(wx.EVT_MENU, self.AdditionsTabSelect, id=self.additionsSelect[i])
|
||||
actb.append((wx.ACCEL_CMD, i+49, self.additionsSelect[i]))
|
||||
actb.append((wx.ACCEL_CTRL, i+49, self.additionsSelect[i]))
|
||||
|
||||
# Alt+1-9 for market item selection
|
||||
self.itemSelect = []
|
||||
for i in range(0, 9):
|
||||
self.itemSelect.append(wx.NewId())
|
||||
self.Bind(wx.EVT_MENU, self.ItemSelect, id = self.itemSelect[i])
|
||||
actb.append((wx.ACCEL_ALT, i + 49, self.itemSelect[i]))
|
||||
|
||||
atable = wx.AcceleratorTable(actb)
|
||||
self.SetAcceleratorTable(atable)
|
||||
|
||||
def AdditionsTabSelect(self, event):
|
||||
selTab = None
|
||||
if event.GetId() == self.additionstab1:
|
||||
selTab = 0
|
||||
if event.GetId() == self.additionstab2:
|
||||
selTab = 1
|
||||
if event.GetId() == self.additionstab3:
|
||||
selTab = 2
|
||||
if event.GetId() == self.additionstab4:
|
||||
selTab = 3
|
||||
if event.GetId() == self.additionstab5:
|
||||
selTab = 4
|
||||
if selTab is not None:
|
||||
selTab = self.additionsSelect.index(event.GetId())
|
||||
|
||||
if selTab <= self.additionsPane.notebook.GetPageCount():
|
||||
self.additionsPane.notebook.SetSelection(selTab)
|
||||
|
||||
def ItemSelect(self, event):
|
||||
selItem = self.itemSelect.index(event.GetId())
|
||||
|
||||
if selItem < len(self.marketBrowser.itemView.active):
|
||||
wx.PostEvent(self, ItemSelected(itemID=self.marketBrowser.itemView.active[selItem].ID))
|
||||
|
||||
def CTabNext(self, event):
|
||||
self.fitMultiSwitch.NextPage()
|
||||
|
||||
|
||||
@@ -438,6 +438,11 @@ class ItemView(d.Display):
|
||||
self.metalvls = sMkt.directAttrRequest(items, attrs)
|
||||
# Re-sort stuff
|
||||
items.sort(key=self.itemSort)
|
||||
|
||||
for i, item in enumerate(items[:9]):
|
||||
# set shortcut info for first 9 modules
|
||||
item.marketShortcut = i+1
|
||||
|
||||
d.Display.refresh(self, items)
|
||||
|
||||
def makeReverseMetaMap(self):
|
||||
|
||||
@@ -97,7 +97,8 @@ class Fit(object):
|
||||
"rackSlots": True,
|
||||
"rackLabels": True,
|
||||
"compactSkills": True,
|
||||
"showTooltip": True}
|
||||
"showTooltip": True,
|
||||
"showMarketShortcuts": False}
|
||||
|
||||
self.serviceFittingOptions = SettingsProvider.getInstance().getSettings(
|
||||
"pyfaServiceFittingOptions", serviceFittingDefaultOptions)
|
||||
@@ -893,7 +894,7 @@ class Fit(object):
|
||||
State.ONLINE: State.ACTIVE} # Just in case
|
||||
|
||||
def __getProposedState(self, mod, click, proposedState=None):
|
||||
if mod.slot in (Slot.RIG, Slot.SUBSYSTEM) or mod.isEmpty:
|
||||
if mod.slot is Slot.SUBSYSTEM or mod.isEmpty:
|
||||
return State.ONLINE
|
||||
|
||||
currState = mod.state
|
||||
|
||||
@@ -55,4 +55,4 @@ else:
|
||||
# If database does not exist, do not worry about migration. Simply
|
||||
# create and set version
|
||||
eos.db.saveddata_meta.create_all()
|
||||
eos.db.saveddata_engine.execute('PRAGMA user_version = %d'%config.dbversion)
|
||||
eos.db.saveddata_engine.execute('PRAGMA user_version = {}'.format(migration.getAppVersion()))
|
||||
|
||||
Reference in New Issue
Block a user