Add double-click support to fit browser lite

This commit is contained in:
DarkPhoenix
2019-08-01 15:38:52 +03:00
parent ae34cd5422
commit 18d59c119c

View File

@@ -33,6 +33,7 @@ class FitBrowserLiteDialog(wx.Dialog):
listSizer = wx.BoxSizer(wx.HORIZONTAL)
self.fromList = FitListView(self, size=(listWidth, -1))
self.fromList.Bind(wx.EVT_LEFT_DCLICK, self.OnFromListDclick)
listSizer.Add(self.fromList, 1, wx.EXPAND | wx.ALL, 5)
listButtonSizer = wx.BoxSizer(wx.VERTICAL)
@@ -47,6 +48,7 @@ class FitBrowserLiteDialog(wx.Dialog):
listSizer.Add(listButtonSizer, 0, wx.EXPAND | wx.ALL, 5)
self.toList = FitListView(self, size=(listWidth, -1))
self.toList.Bind(wx.EVT_LEFT_DCLICK, self.OnToListDclick)
listSizer.Add(self.toList, 1, wx.EXPAND | wx.ALL, 5)
mainSizer.Add(listSizer, 1, wx.EXPAND | wx.ALL, 0)
@@ -60,6 +62,7 @@ class FitBrowserLiteDialog(wx.Dialog):
self.Bind(wx.EVT_TIMER, self.OnInputTimer, self.inputTimer)
self.searchBox.Bind(event=wx.EVT_TEXT, handler=self.OnSearchChanged)
self.SetSizer(mainSizer)
self.Layout()
self.SetSize(self.GetBestSize())
@@ -115,6 +118,34 @@ class FitBrowserLiteDialog(wx.Dialog):
matches.append(fit)
self.fromList.updateData(matches)
def OnFromListDclick(self, event):
event.Skip()
row, _ = self.fromList.HitTest(event.Position)
if row == -1:
return
try:
fit = self.fromList.fits[row]
except IndexError:
return
self.fromList.removeFits([fit])
self.toList.addFits([fit])
self.fromList.unselectAll()
self.toList.unselectAll()
def OnToListDclick(self, event):
event.Skip()
row, _ = self.toList.HitTest(event.Position)
if row == -1:
return
try:
fit = self.toList.fits[row]
except IndexError:
return
self.toList.removeFits([fit])
self.fromList.addFits([fit])
self.fromList.unselectAll()
self.toList.unselectAll()
def resetContents(self):
fits = [f for f in self.allFits if f not in self.toList.fits]
self.fromList.updateData(fits)