def __init__(self, parent):
super(SearchDialog, self).__init__(parent=parent, title="pyjam Audio Search")
self.parent = parent
self.result_list = ObjectListView(parent=self, style=wx.LC_REPORT | wx.BORDER_SUNKEN, sortable=True,
useAlternateBackColors=False)
self.result_list.SetEmptyListMsg("No results")
self.result_list.SetColumns([
ColumnDefn(title="Title", valueGetter="title", width=150),
ColumnDefn(title="Description", valueGetter="desc", width=300)
])
self.search_recent = collections.deque([], 10)
search_help = wx.StaticText(parent=self, label=("Enter a search term and press Enter. "
"Then, select the videos you want from the list and press OK."))
self.search_query = wx.SearchCtrl(parent=self, style=wx.TE_PROCESS_ENTER)
self.search_query.ShowCancelButton(True)
self.search_query.SetMenu(self.search_menu())
top_sizer = wx.BoxSizer(wx.VERTICAL)
olv_sizer = wx.BoxSizer(wx.VERTICAL)
query_sizer = wx.BoxSizer(wx.VERTICAL)
button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL)
olv_sizer.Add(self.result_list, 1, wx.LEFT | wx.RIGHT | wx.EXPAND | wx.ALIGN_TOP, 5)
query_sizer.Add(search_help, 0, wx.ALL ^ wx.TOP, 5)
query_sizer.Add(self.search_query, 0, wx.ALL ^ wx.TOP | wx.EXPAND, 5)
top_sizer.Add(olv_sizer, 1, wx.ALL | wx.EXPAND, 5)
top_sizer.Add(query_sizer, 0, wx.ALL | wx.EXPAND, 5)
top_sizer.Add(button_sizer, 0, wx.ALL | wx.ALIGN_CENTER, 5)
# Context menu
self.context_menu = wx.Menu()
open_url = self.context_menu.Append(wx.ID_OPEN, "Open link in browser")
copy_url = self.context_menu.Append(wx.ID_COPY, "Copy link address")
self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, handler=self.list_right_click, source=self.result_list)
self.Bind(wx.EVT_MENU, handler=self.copy_url, source=copy_url)
self.Bind(wx.EVT_MENU, handler=self.open_url, source=open_url)
self.Bind(wx.EVT_TEXT_ENTER, handler=self.on_search, source=self.search_query)
self.Bind(wx.EVT_BUTTON, handler=self.on_ok, id=wx.ID_OK)
self.SetSizerAndFit(top_sizer)
self.Center()
self.ShowModal()
评论列表
文章目录