From 97253b4ac4def55e98d7ff6b8789e0af0ce8eb27 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:07:10 +0300 Subject: [PATCH 01/14] Fix: ticket #234 --- eos | 2 +- gui/display.py | 7 +++---- gui/shipBrowser.py | 5 +++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eos b/eos index d22af0654..fc317f1ba 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d +Subproject commit fc317f1ba6ba9528bd14f9135ff5bc616c6e1243 diff --git a/gui/display.py b/gui/display.py index f97d3d591..0ae17547a 100644 --- a/gui/display.py +++ b/gui/display.py @@ -118,7 +118,7 @@ class Display(wx.ListCtrl): selection.append(sel) sel = self.GetNextSelected(sel) - self.Freeze() +# self.Freeze() item = -1 for id, st in enumerate(stuff): item = self.GetNextItem(item) @@ -146,9 +146,8 @@ class Display(wx.ListCtrl): for i, col in enumerate(self.activeColumns): if not col.resized: if col.size == wx.LIST_AUTOSIZE: - self.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER) - headerWidth = self.GetColumnWidth(i) self.SetColumnWidth(i, wx.LIST_AUTOSIZE) + headerWidth = 24 baseWidth = self.GetColumnWidth(i) if baseWidth < headerWidth: self.SetColumnWidth(i, headerWidth) @@ -157,7 +156,7 @@ class Display(wx.ListCtrl): for sel in selection: self.Select(sel) - self.Thaw() +# self.Thaw() def update(self, stuff): self.populate(stuff) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 2f88bfb33..29a1f373b 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -857,8 +857,9 @@ class ShipItem(wx.Window): self.tcFitName.Show(False) if self.highlighted == 1: self.editWasShown = 1 - self.newToggleBmp = self.newBmp - self.Refresh() + + self.newToggleBmp = self.newBmp + self.Refresh() def editCheckEsc(self, event): if event.GetKeyCode() == wx.WXK_ESCAPE: From fe0978e191cf157f1f95886d16bf99acd84988da Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:32:01 +0300 Subject: [PATCH 02/14] Cancel fit rename if the value of rename textctrl is empty --- gui/shipBrowser.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 29a1f373b..a8eba375e 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -1186,10 +1186,14 @@ class FitItem(wx.Window): sFit = service.Fit.getInstance() self.tcFitName.Show(False) self.editWasShown = 0 - self.fitName = self.tcFitName.GetValue() - sFit.renameFit(self.fitID, self.fitName) - wx.PostEvent(self.mainFrame, FitRenamed(fitID=self.fitID)) - self.Refresh() + fitName = self.tcFitName.GetValue() + if fitName: + self.fitName = fitName + sFit.renameFit(self.fitID, self.fitName) + wx.PostEvent(self.mainFrame, FitRenamed(fitID=self.fitID)) + self.Refresh() + else: + self.tcFitName.SetValue(self.fitName) def copyFit(self, event=None): sFit = service.Fit.getInstance() From 7ca511839fb108080dc77a4b5b8017a02fdbd81f Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:35:24 +0300 Subject: [PATCH 03/14] Revert "Fix: ticket #234" This reverts commit 97253b4ac4def55e98d7ff6b8789e0af0ce8eb27. --- eos | 2 +- gui/display.py | 7 ++++--- gui/shipBrowser.py | 5 ++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eos b/eos index fc317f1ba..d22af0654 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit fc317f1ba6ba9528bd14f9135ff5bc616c6e1243 +Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d diff --git a/gui/display.py b/gui/display.py index 0ae17547a..f97d3d591 100644 --- a/gui/display.py +++ b/gui/display.py @@ -118,7 +118,7 @@ class Display(wx.ListCtrl): selection.append(sel) sel = self.GetNextSelected(sel) -# self.Freeze() + self.Freeze() item = -1 for id, st in enumerate(stuff): item = self.GetNextItem(item) @@ -146,8 +146,9 @@ class Display(wx.ListCtrl): for i, col in enumerate(self.activeColumns): if not col.resized: if col.size == wx.LIST_AUTOSIZE: + self.SetColumnWidth(i, wx.LIST_AUTOSIZE_USEHEADER) + headerWidth = self.GetColumnWidth(i) self.SetColumnWidth(i, wx.LIST_AUTOSIZE) - headerWidth = 24 baseWidth = self.GetColumnWidth(i) if baseWidth < headerWidth: self.SetColumnWidth(i, headerWidth) @@ -156,7 +157,7 @@ class Display(wx.ListCtrl): for sel in selection: self.Select(sel) -# self.Thaw() + self.Thaw() def update(self, stuff): self.populate(stuff) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index a8eba375e..49141186f 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -857,9 +857,8 @@ class ShipItem(wx.Window): self.tcFitName.Show(False) if self.highlighted == 1: self.editWasShown = 1 - - self.newToggleBmp = self.newBmp - self.Refresh() + self.newToggleBmp = self.newBmp + self.Refresh() def editCheckEsc(self, event): if event.GetKeyCode() == wx.WXK_ESCAPE: From 69e8952c5c164101463632a21f325a32bc821caa Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:36:43 +0300 Subject: [PATCH 04/14] Fix: #234 --- eos | 2 +- gui/shipBrowser.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eos b/eos index d22af0654..fc317f1ba 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d +Subproject commit fc317f1ba6ba9528bd14f9135ff5bc616c6e1243 diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 49141186f..7dd28dc1d 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -857,8 +857,8 @@ class ShipItem(wx.Window): self.tcFitName.Show(False) if self.highlighted == 1: self.editWasShown = 1 - self.newToggleBmp = self.newBmp - self.Refresh() + self.newToggleBmp = self.newBmp + self.Refresh() def editCheckEsc(self, event): if event.GetKeyCode() == wx.WXK_ESCAPE: From 58a80548d32ce020713f36bc662f7165f7af44ba Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:37:22 +0300 Subject: [PATCH 05/14] Revert "Fix: #234" This reverts commit 69e8952c5c164101463632a21f325a32bc821caa. --- eos | 2 +- gui/shipBrowser.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eos b/eos index fc317f1ba..d22af0654 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit fc317f1ba6ba9528bd14f9135ff5bc616c6e1243 +Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 7dd28dc1d..49141186f 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -857,8 +857,8 @@ class ShipItem(wx.Window): self.tcFitName.Show(False) if self.highlighted == 1: self.editWasShown = 1 - self.newToggleBmp = self.newBmp - self.Refresh() + self.newToggleBmp = self.newBmp + self.Refresh() def editCheckEsc(self, event): if event.GetKeyCode() == wx.WXK_ESCAPE: From 2d7b9fd7871b4a461e946ed86a1835276d9e852b Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 19:39:59 +0300 Subject: [PATCH 06/14] FIX only the damn #234 --- gui/shipBrowser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 49141186f..7dd28dc1d 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -857,8 +857,8 @@ class ShipItem(wx.Window): self.tcFitName.Show(False) if self.highlighted == 1: self.editWasShown = 1 - self.newToggleBmp = self.newBmp - self.Refresh() + self.newToggleBmp = self.newBmp + self.Refresh() def editCheckEsc(self, event): if event.GetKeyCode() == wx.WXK_ESCAPE: From 7df505834a27b9c6d1d525c871d12fb71a01bbbb Mon Sep 17 00:00:00 2001 From: Corollax Date: Fri, 29 Oct 2010 11:55:23 -0500 Subject: [PATCH 07/14] Restructured to make falloff calc act like optimal Should function identically, just looks cleaner. --- gui/builtinViewColumns/maxRange.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gui/builtinViewColumns/maxRange.py b/gui/builtinViewColumns/maxRange.py index 6fc02fc3a..f5d25da04 100644 --- a/gui/builtinViewColumns/maxRange.py +++ b/gui/builtinViewColumns/maxRange.py @@ -52,10 +52,10 @@ class MaxRange(ViewColumn): def getText(self, stuff): maxRange = stuff.maxRange if hasattr(stuff, "maxRange") else stuff.getModifiedItemAttr("maxRange") falloff = stuff.getModifiedItemAttr("falloff") - if not falloff: - falloff = "" - else: + if falloff: falloff = "+%sm" % formatAmount(falloff, 3, 0, 3) + else: + falloff = "" if maxRange: return "%sm%s" % (formatAmount(maxRange, 3, 0, 3), falloff) From 6fcf5c029be1613955efd23a5b8ff650ab52fe87 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 20:20:54 +0300 Subject: [PATCH 08/14] Allow a newly created/cloned fit to be renamed - display textedit ctrl by default. Closes ticket #235 --- gui/shipBrowser.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 7dd28dc1d..f4e10d7ad 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -34,7 +34,7 @@ class ShipBrowser(wx.Panel): self._stage2Data = -1 self._stage3Data = -1 self._stage3ShipName = "" - + self.fitIDMustEditName = -1 self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) mainSizer = wx.BoxSizer(wx.VERTICAL) @@ -553,6 +553,7 @@ class HeaderPane (wx.Panel): shipName = self.Parent.GetStage3ShipName() sFit = service.Fit.getInstance() fitID = sFit.newFit(shipID, "%s fit" %shipName) + self.shipBrowser.fitIDMustEditName = fitID wx.PostEvent(self.Parent,Stage3Selected(shipID=shipID, back = True)) wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID)) event.Skip() @@ -797,6 +798,7 @@ class ShipItem(wx.Window): self.mainFrame = gui.mainFrame.MainFrame.getInstance() self._itemData = itemData + self.ignoreFurtherFitNameEdit = False self.shipRace = itemData @@ -829,12 +831,11 @@ class ShipItem(wx.Window): self.editPosY = 0 self.highlighted = 0 self.editWasShown = 0 - + self.btnsStatus = "" + self.Refresh() self.tcFitName = wx.TextCtrl(self, wx.ID_ANY, "%s fit" % self.shipName, wx.DefaultPosition, (120,-1), wx.TE_PROCESS_ENTER) self.tcFitName.Show(False) - self.btnsStatus = "" - self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_LEFT_UP, self.checkPosition) @@ -886,6 +887,7 @@ class ShipItem(wx.Window): x, y = pos if self.NHitTest((self.editPosX, self.editPosY), pos, (16, 16)): if self.editWasShown == 1: + self.ignoreFurtherFitNameEdit = True self.createNewFit() return else: @@ -929,6 +931,8 @@ class ShipItem(wx.Window): fitID = sFit.newFit(self.shipID, self.tcFitName.GetValue()) self.tcFitName.Show(False) self.editWasShown = 0 + if not self.ignoreFurtherFitNameEdit: + self.shipBrowser.fitIDMustEditName = fitID wx.PostEvent(self.shipBrowser,Stage3Selected(shipID=self.shipID, back=False)) wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID)) @@ -1088,7 +1092,12 @@ class FitItem(wx.Window): self.btnsStatus = "" self.tcFitName = wx.TextCtrl(self, wx.ID_ANY, "%s" % self.fitName, wx.DefaultPosition, (150,-1), wx.TE_PROCESS_ENTER) - self.tcFitName.Show(False) + if self.shipBrowser.fitIDMustEditName != self.fitID: + self.tcFitName.Show(False) + else: + self.tcFitName.SetFocus() + self.tcFitName.SelectAll() + self.shipBrowser.fitIDMustEditName = -1 self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) @@ -1196,9 +1205,10 @@ class FitItem(wx.Window): def copyFit(self, event=None): sFit = service.Fit.getInstance() - sFit.copyFit(self.fitID) + fitID = sFit.copyFit(self.fitID) + self.shipBrowser.fitIDMustEditName = fitID wx.PostEvent(self.shipBrowser,Stage3Selected(shipID=self.shipID, back=True)) - wx.PostEvent(self.mainFrame, FitSelected(fitID=self.fitID)) + wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID)) def deleteFit(self, event=None): sFit = service.Fit.getInstance() From f1d6c9f2ec259f7ddeae968841e5b022f7f23179 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Fri, 29 Oct 2010 21:46:11 +0400 Subject: [PATCH 09/14] Fix gallente recon point range bonus --- eos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eos b/eos index d22af0654..e588dde7c 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d +Subproject commit e588dde7c060632015687a030f4993d581be2894 From 4db4058e9ff1e793dc393551f3a1e767e348833c Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Fri, 29 Oct 2010 20:56:47 +0300 Subject: [PATCH 10/14] Fitname trim fix in fititem; added trim for ship name in shipitem --- gui/shipBrowser.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index f4e10d7ad..077b0a9c7 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -1010,8 +1010,9 @@ class ShipItem(wx.Window): textStart = 48 xtext, ytext = mdc.GetTextExtent(shipName) mdc.DrawBitmap(self.raceBmp,textStart, ypos + self.raceBmp.GetHeight()/2) - mdc.DrawText(shipName, textStart + self.raceBmp.GetWidth() + 4, ypos) +# mdc.DrawText(shipName, textStart + self.raceBmp.GetWidth() + 4, ypos) textStart += self.raceBmp.GetWidth() + 4 + sposy = ypos ypos += ytext @@ -1042,6 +1043,22 @@ class ShipItem(wx.Window): xtext, ytext = mdc.GetTextExtent(status) ytext = (rect.height - ytext)/2 mdc.DrawText(status, self.editPosX - xtext -5,ytext) + else: + xtext =0 + + mdc.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False)) + fnwidths = mdc.GetPartialTextExtents(shipName) + count = 0 + maxsize = self.editPosX -xtext - 15 - textStart + for i in fnwidths: + if i<= maxsize: + count +=1 + else: + break + + shipName = "%s%s" % (shipName[:count if count >5 else 5],"..." if len(shipName)>count else "") + mdc.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False)) + mdc.DrawText(shipName, textStart, sposy) if self.tcFitName.IsShown(): fnEditSize = self.tcFitName.GetSize() @@ -1305,17 +1322,19 @@ class FitItem(wx.Window): mdc.DrawText(status, self.copyPosX - xtext -5,ytext) else: xtext = 0 + + mdc.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False)) fnwidths = mdc.GetPartialTextExtents(fitName) count = 0 - maxsize = self.copyPosX -xtext - 5 - textStart*2 + maxsize = self.copyPosX -xtext - 15 - textStart for i in fnwidths: - if i< maxsize: + if i <= maxsize: count +=1 else: break fitName = "%s%s" % (fitName[:count if count >5 else 5],"..." if len(fitName)>count else "") - mdc.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False)) + mdc.DrawText(fitName, textStart, fposy) mdc.DrawBitmap(self.copyBmp, self.copyPosX, self.copyPosY, 0) From eb770b306d7a5751acde7f6b31959cc0ee29b29e Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Sat, 30 Oct 2010 05:46:59 +0300 Subject: [PATCH 11/14] Forgot --- eos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eos b/eos index e588dde7c..d22af0654 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit e588dde7c060632015687a030f4993d581be2894 +Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d From 8f54a63bc2a54bea8c32e93cb747d7cd775404bd Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Sat, 30 Oct 2010 05:53:14 +0300 Subject: [PATCH 12/14] Revert "Forgot" This reverts commit eb770b306d7a5751acde7f6b31959cc0ee29b29e. --- eos | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eos b/eos index d22af0654..e588dde7c 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit d22af0654d87b34e5b8d0e892a0cad81f075ce1d +Subproject commit e588dde7c060632015687a030f4993d581be2894 From 6433d729367f1be62a553682d08e12d1bcd5473f Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Sat, 30 Oct 2010 05:55:01 +0300 Subject: [PATCH 13/14] Fixed #244 --- gui/shipBrowser.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 077b0a9c7..aa35755df 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -859,6 +859,7 @@ class ShipItem(wx.Window): if self.highlighted == 1: self.editWasShown = 1 self.newToggleBmp = self.newBmp + self.ignoreFurtherFitNameEdit = True self.Refresh() def editCheckEsc(self, event): From 80769be0952312137383591ba83f43c0a727a05c Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Sat, 30 Oct 2010 10:28:04 +0300 Subject: [PATCH 14/14] Implemented #68 --- gui/shipBrowser.py | 62 ++++++++++++++++++++++++++- icons/fit_switch_view_mode_small.png | Bin 0 -> 683 bytes 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 icons/fit_switch_view_mode_small.png diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index aa35755df..5ba659884 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -35,6 +35,8 @@ class ShipBrowser(wx.Panel): self._stage3Data = -1 self._stage3ShipName = "" self.fitIDMustEditName = -1 + self.filterShipsWithNoFits = False + self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) mainSizer = wx.BoxSizer(wx.VERTICAL) @@ -94,6 +96,7 @@ class ShipBrowser(wx.Panel): self._activeStage = 1 self.lastdata = 0 self.hpane.ToggleNewFitSB(False) + self.hpane.ToggleFitViewModeSB(False) sMarket = service.Market.getInstance() self.lpane.RemoveAllChildren() if len(self.categoryList) == 0: @@ -121,6 +124,7 @@ class ShipBrowser(wx.Panel): self._stage2Data = categoryID self.hpane.ToggleNewFitSB(False) + self.hpane.ToggleFitViewModeSB(True) sMarket = service.Market.getInstance() sFit = service.Fit.getInstance() self.lpane.RemoveAllChildren() @@ -131,7 +135,12 @@ class ShipBrowser(wx.Panel): shipList.sort(key=self.raceNameKey) for ID, name, race in shipList: fits = len(sFit.getFitsWithShip(ID)) - self.lpane.AddWidget(ShipItem(self.lpane, ID, (name, fits), race)) + if self.filterShipsWithNoFits: + if fits>0: + self.lpane.AddWidget(ShipItem(self.lpane, ID, (name, fits), race)) + else: + self.lpane.AddWidget(ShipItem(self.lpane, ID, (name, fits), race)) + content.append((ID,name,fits,race)) self.stage2Cache[categoryID]= content else: @@ -142,7 +151,11 @@ class ShipBrowser(wx.Panel): fits = dbfits self.stage2Cache[categoryID][count]= (ID,name,fits,race) count += 1 - self.lpane.AddWidget(ShipItem(self.lpane,ID, (name,fits),race)) + if self.filterShipsWithNoFits: + if fits >0: + self.lpane.AddWidget(ShipItem(self.lpane,ID, (name,fits),race)) + else: + self.lpane.AddWidget(ShipItem(self.lpane,ID, (name,fits),race)) self.lpane.RefreshList() self.Show() @@ -167,6 +180,7 @@ class ShipBrowser(wx.Panel): stage,data = self.browseHist.pop() self.hpane.gotoStage(stage,data) return + self.hpane.ToggleFitViewModeSB(False) self.hpane.ToggleNewFitSB(True) fitList.sort(key=self.nameKey) shipName = sMarket.getItem(shipID).name @@ -229,11 +243,17 @@ class HeaderPane (wx.Panel): self.searchBmp = bitmapLoader.getBitmap("fsearch_small","icons") self.newBmp = bitmapLoader.getBitmap("fit_add_small","icons") self.resetBmp = bitmapLoader.getBitmap("freset_small","icons") + self.switchBmp = bitmapLoader.getBitmap("fit_switch_view_mode_small","icons") img = self.newBmp.ConvertToImage() img.RotateHue(0.625) self.newBmp = wx.BitmapFromImage(img) + img = self.switchBmp.ConvertToImage() + img.RotateHue(0.625) + self.switchBmp = wx.BitmapFromImage(img) + + self.shipBrowser = self.Parent self.toggleSearch = -1 @@ -242,6 +262,7 @@ class HeaderPane (wx.Panel): self.menu = None self.inPopup = False self.inSearch = False + bmpSize = (16,16) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) @@ -275,6 +296,11 @@ class HeaderPane (wx.Panel): mainSizer.Add(self.sbNewFit, 0, wx.LEFT | wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_VERTICAL , 5) self.sbNewFit.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) + self.sbSwitchFitView = PFGenBitmapButton( self, wx.ID_ANY, self.switchBmp, wx.DefaultPosition, bmpSize, wx.BORDER_NONE ) + mainSizer.Add(self.sbSwitchFitView, 0, wx.LEFT | wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER_VERTICAL , 5) + self.sbSwitchFitView.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) + + self.stStatus = wx.StaticText( self, wx.ID_ANY, "", wx.DefaultPosition, wx.DefaultSize, 0 ) self.stStatus.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) self.stStatus.Wrap( -1 ) @@ -316,6 +342,10 @@ class HeaderPane (wx.Panel): self.sbNewFit.Bind( wx.EVT_ENTER_WINDOW, self.OnEnterWNewFit ) self.sbNewFit.Bind( wx.EVT_LEAVE_WINDOW, self.OnLeaveWNewFit ) + self.sbSwitchFitView.Bind(wx.EVT_BUTTON,self.OnSwitch) + self.sbSwitchFitView.Bind( wx.EVT_ENTER_WINDOW, self.OnEnterWSwitch ) + self.sbSwitchFitView.Bind( wx.EVT_LEAVE_WINDOW, self.OnLeaveWSwitch ) + self.search.Bind(wx.EVT_TEXT_ENTER, self.doSearch) self.search.Bind(wx.EVT_KILL_FOCUS, self.editLostFocus) self.search.Bind(wx.EVT_KEY_DOWN, self.editCheckEsc) @@ -436,6 +466,11 @@ class HeaderPane (wx.Panel): self.sl2.Show(toggle) self.Layout() + def ToggleFitViewModeSB(self, toggle): + self.sbSwitchFitView.Show(toggle) + self.sl2.Show(toggle) + self.Layout() + def OnReset(self,event): if self.shipBrowser.browseHist: self.shipBrowser.browseHist = [] @@ -514,6 +549,17 @@ class HeaderPane (wx.Panel): self.SetCursor(wx.StockCursor(wx.CURSOR_ARROW)) event.Skip() + def OnEnterWSwitch(self, event): + if self.toggleSearch != 1: + self.stStatus.SetLabel("Show empty ship groups" if self.shipBrowser.filterShipsWithNoFits else "Hide empty ship groups") + self.SetCursor(wx.StockCursor(wx.CURSOR_HAND)) + event.Skip() + + def OnLeaveWSwitch(self, event): + self.stStatus.SetLabel("") + self.SetCursor(wx.StockCursor(wx.CURSOR_ARROW)) + event.Skip() + def OnEnterWNewFit(self, event): if self.toggleSearch != 1: self.stStatus.SetLabel("New fitting") @@ -545,6 +591,18 @@ class HeaderPane (wx.Panel): self.Layout() event.Skip() + def OnSwitch(self, event): + if self.shipBrowser.filterShipsWithNoFits: + self.shipBrowser.filterShipsWithNoFits = False + else: + self.shipBrowser.filterShipsWithNoFits = True + self.stStatus.SetLabel("Show empty ship groups" if self.shipBrowser.filterShipsWithNoFits else "Hide empty ship groups") + stage = self.shipBrowser.GetActiveStage() + if stage == 2: + categoryID = self.shipBrowser.GetStageData(stage) + wx.PostEvent(self.shipBrowser,Stage2Selected(categoryID=categoryID, back = True)) + event.Skip() + def OnNewFitting(self, event): self.editLostFocus() stage = self.Parent.GetActiveStage() diff --git a/icons/fit_switch_view_mode_small.png b/icons/fit_switch_view_mode_small.png new file mode 100644 index 0000000000000000000000000000000000000000..258c16c63a20f7474764507475af7961ecf4263a GIT binary patch literal 683 zcmV;c0#yBpP)A3WJ2dfsV78ToP)wU4~UJxT^#Yl8pW;T)B2y+W_BqqmW z&#t|w0SE!KR$a#7aL!?!V{G>0(f7&GF0n$i_yAiovkXpE$M|c8KDe}2*w(W8jK3Y2*x)V03j=u2XF48q6F<0_UD&z zFmi~T?K=p$491faq~>RsPR$VB89_xzOpK2V+=|x$1lD3~x!;g2Mz5ELE831k>xd528II@{FM*4t5cwMI2$KMmfFm;RN43xW+e;$tzEyd|PV<@i4gUfKh|U-I$hymfQ} zt?kWDj37pE;wZ>1WHG%+SvbnRqEaTN#u*-slSm{u7_C6WGBh|el4$>24G=QE;Y9f< z)G2BOvC3T5Jn;{4ig%R|E{ITA5W$|ds8uW$Z^f(HeLnnp>dACn(D>^wEGjH6Et2~F zjpx1H%%|rOCx{iqDPk27MT{DNK*OCgPK;oDLHt!jVx&(zZS&Lq>Ld9Y&Ck!LvbvJw zmn1{|Z(}o^vo(KE_?L