Skip to content

Commit c616457

Browse files
committed
make Omega icons disabled by default
1 parent 5edcede commit c616457

6 files changed

Lines changed: 57 additions & 5 deletions

File tree

gui/builtinMarketBrowser/itemView.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from config import slotColourMap, slotColourMapDark
77
from eos.saveddata.module import Module
88
from gui.builtinMarketBrowser.events import ItemSelected, RECENTLY_USED_MODULES, CHARGES_FOR_FIT
9+
from gui.builtinViewColumns.omega import Omega as OmegaCol
910
from gui.contextMenu import ContextMenu
1011
from gui.display import Display
1112
from gui.utils.staticHelpers import DragDropHelper
@@ -59,6 +60,15 @@ def __init__(self, parent, marketBrowser):
5960
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
6061

6162
self.active = []
63+
self.updateOmegaColumn()
64+
65+
def updateOmegaColumn(self):
66+
show = Fit.getInstance().serviceFittingOptions["showOmegaIcons"]
67+
omega_idx = self.getColIndex(OmegaCol)
68+
if show and omega_idx is None:
69+
self.insertColumnBySpec(0, "Omega")
70+
elif not show and omega_idx is not None:
71+
self.removeColumn(self.activeColumns[omega_idx])
6272

6373
def delaySearch(self, evt):
6474
sFit = Fit.getInstance()

gui/builtinPreferenceViews/pyfaGeneralPreferences.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@ def langDisplay(langInfo):
141141
wx.DefaultPosition, wx.DefaultSize, 0)
142142
mainSizer.Add(self.cbShowShipBrowserTooltip, 0, wx.ALL | wx.EXPAND, 5)
143143

144+
self.cbShowOmegaIcons = wx.CheckBox(panel, wx.ID_ANY, _t("Show Omega icons for hulls and modules"),
145+
wx.DefaultPosition, wx.DefaultSize, 0)
146+
if "wxGTK" not in wx.PlatformInfo:
147+
self.cbShowOmegaIcons.SetCursor(helpCursor)
148+
self.cbShowOmegaIcons.SetToolTip(wx.ToolTip(
149+
_t('Shows icons for items that require Omega clone access.')))
150+
mainSizer.Add(self.cbShowOmegaIcons, 0, wx.ALL | wx.EXPAND, 5)
151+
144152
self.cbReloadAll = wx.CheckBox(panel, wx.ID_ANY, _t("Change charge in all modules of the same type"),
145153
wx.DefaultPosition, wx.DefaultSize, 0)
146154
if "wxGTK" not in wx.PlatformInfo:
@@ -176,6 +184,7 @@ def langDisplay(langInfo):
176184
self.cbGaugeAnimation.SetValue(self.sFit.serviceFittingOptions["enableGaugeAnimation"])
177185
self.cbOpenFitInNew.SetValue(self.sFit.serviceFittingOptions["openFitInNew"])
178186
self.cbShowShipBrowserTooltip.SetValue(self.sFit.serviceFittingOptions["showShipBrowserTooltip"])
187+
self.cbShowOmegaIcons.SetValue(self.sFit.serviceFittingOptions["showOmegaIcons"])
179188
self.cbReloadAll.SetValue(self.sFit.serviceFittingOptions["ammoChangeAll"])
180189
self.cbExpMutants.SetValue(self.sFit.serviceFittingOptions["expandedMutantNames"])
181190
self.rbAddLabels.SetSelection(self.sFit.serviceFittingOptions["additionsLabels"])
@@ -192,6 +201,7 @@ def langDisplay(langInfo):
192201
self.cbGaugeAnimation.Bind(wx.EVT_CHECKBOX, self.onCBGaugeAnimation)
193202
self.cbOpenFitInNew.Bind(wx.EVT_CHECKBOX, self.onCBOpenFitInNew)
194203
self.cbShowShipBrowserTooltip.Bind(wx.EVT_CHECKBOX, self.onCBShowShipBrowserTooltip)
204+
self.cbShowOmegaIcons.Bind(wx.EVT_CHECKBOX, self.onCBShowOmegaIcons)
195205
self.cbReloadAll.Bind(wx.EVT_CHECKBOX, self.onCBReloadAll)
196206
self.cbExpMutants.Bind(wx.EVT_CHECKBOX, self.onCBExpMutants)
197207

@@ -273,6 +283,25 @@ def onCBOpenFitInNew(self, event):
273283
def onCBShowShipBrowserTooltip(self, event):
274284
self.sFit.serviceFittingOptions["showShipBrowserTooltip"] = self.cbShowShipBrowserTooltip.GetValue()
275285

286+
def onCBShowOmegaIcons(self, event):
287+
self.sFit.serviceFittingOptions["showOmegaIcons"] = self.cbShowOmegaIcons.GetValue()
288+
289+
from gui.builtinViews.fittingView import FittingView
290+
for page in self.mainFrame.fitMultiSwitch._pages:
291+
if isinstance(page, FittingView):
292+
page.updateOmegaColumn()
293+
294+
iView = self.mainFrame.marketBrowser.itemView
295+
iView.updateOmegaColumn()
296+
if iView.active:
297+
iView.update(iView.active)
298+
299+
fitID = self.mainFrame.getActiveFit()
300+
if fitID is not None:
301+
wx.PostEvent(self.mainFrame, GE.FitChanged(fitIDs=(fitID,)))
302+
303+
event.Skip()
304+
276305
def onCBReloadAll(self, event):
277306
self.sFit.serviceFittingOptions["ammoChangeAll"] = self.cbReloadAll.GetValue()
278307

gui/builtinShipBrowser/shipItem.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ def __init__(self, parent, shipID=None, shipFittingInfo=("Test", "TestTrait", 2)
9494
self.baseItem = self.marketInstance.getItem(self.shipID)
9595

9696
self.omegaBmp = None
97-
if self.baseItem.getAttribute("cloneGradeRestriction", 0) > 0:
98-
self.omegaBmp = BitmapLoader.getBitmap("25874", "icons")
9997

10098
# =====================================================================
10199
# DISABLED - it will be added as an option in PREFERENCES
@@ -215,9 +213,13 @@ def UpdateElementsPos(self, mdc):
215213
self.raceBmpx = self.shipEffx + self.shipEffBk.GetWidth() + self.padding
216214
self.raceBmpy = (rect.height - self.raceBmp.GetHeight()) / 2
217215

218-
self.omegaBmpx = self.raceBmpx + self.raceBmp.GetWidth() + self.padding
216+
sFit = Fit.getInstance()
217+
self.omegaBmp = None
218+
if sFit.serviceFittingOptions["showOmegaIcons"] and self.baseItem.getAttribute("cloneGradeRestriction", 0) > 0:
219+
self.omegaBmp = BitmapLoader.getBitmap("25874", "icons")
219220
omegaWidth = self.omegaBmp.GetWidth() if self.omegaBmp else 0
220221
omegaHeight = self.omegaBmp.GetHeight() if self.omegaBmp else 0
222+
self.omegaBmpx = self.raceBmpx + self.raceBmp.GetWidth() + self.padding
221223
self.omegaBmpy = (rect.height - omegaHeight) / 2
222224

223225
self.textStartx = self.omegaBmpx + omegaWidth + self.padding

gui/builtinViews/fittingView.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from gui.bitmap_loader import BitmapLoader
3636
from gui.builtinMarketBrowser.events import ITEM_SELECTED
3737
from gui.builtinShipBrowser.events import EVT_FIT_SELECTED, FitSelected
38+
from gui.builtinViewColumns.omega import Omega as OmegaCol
3839
from gui.builtinViewColumns.state import State
3940
from gui.chrome_tabs import EVT_NOTEBOOK_PAGE_CHANGED
4041
from gui.contextMenu import ContextMenu
@@ -154,6 +155,7 @@ class FittingView(d.Display):
154155

155156
def __init__(self, parent):
156157
d.Display.__init__(self, parent, size=(0, 0), style=wx.BORDER_NONE)
158+
self.updateOmegaColumn()
157159
self.Show(False)
158160
self.parent = parent
159161
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
@@ -185,6 +187,14 @@ def __init__(self, parent):
185187
pyfalog.debug("------------------ new fitting view -------------------")
186188
pyfalog.debug(self)
187189

190+
def updateOmegaColumn(self):
191+
show = Fit.getInstance().serviceFittingOptions["showOmegaIcons"]
192+
omega_idx = self.getColIndex(OmegaCol)
193+
if show and omega_idx is None:
194+
self.insertColumnBySpec(1, "Omega")
195+
elif not show and omega_idx is not None:
196+
self.removeColumn(self.activeColumns[omega_idx])
197+
188198
def OnLeaveWindow(self, event):
189199
self.SetToolTip(None)
190200
self.hoveredRow = None

gui/display.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def HitTestSubItem(self, pt):
8888

8989
# noinspection PyPropertyAccess
9090
def addColumn(self, i, col):
91-
self.activeColumns.append(col)
91+
self.activeColumns.insert(i, col)
9292
info = wx.ListItem()
9393
info.SetMask(col.mask | wx.LIST_MASK_FORMAT)
9494
if col.imageId not in (None, -1):
@@ -124,7 +124,7 @@ def insertColumnBySpec(self, i, colSpec):
124124
col = ViewColumn.getColumn(colSpec)(self, None)
125125

126126
self.addColumn(i, col)
127-
self.columnsMinWidth.append(self.GetColumnWidth(i))
127+
self.columnsMinWidth.insert(i, self.GetColumnWidth(i))
128128

129129
def removeColumn(self, col):
130130
i = self.getColIndex(type(col))

service/fit.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ def __init__(self):
9494
"ammoChangeAll": False,
9595
"additionsLabels": 1,
9696
"expandedMutantNames": False,
97+
"showOmegaIcons": False,
9798
}
9899

99100
self.serviceFittingOptions = SettingsProvider.getInstance().getSettings(

0 commit comments

Comments
 (0)