def addComponents(self): self.hSizer = wx.BoxSizer(wx.HORIZONTAL) #(self, -1, wx.DefaultPosition, wx.Size(16,16),name='down') self.stopMoreButton = SwitchButton(self, -1, wx.DefaultPosition, wx.DefaultSize, name='searchStop') self.stopMoreButton.Bind(wx.EVT_LEFT_UP, self.stopMoreClicked) self.stopMoreButton.SetToolTipString( self.guiUtility.utility.lang.get('searchStop')) self.clearButton = tribler_topButton(self, -1, wx.DefaultPosition, wx.DefaultSize, name='searchClear') self.clearButton.SetToolTipString( self.guiUtility.utility.lang.get('searchClear')) self.hSizer.Add([9, 5], 0, wx.EXPAND | wx.FIXED_MINSIZE, 0) self.hSizer.Add(self.stopMoreButton, 0, wx.ALL, 1) self.hSizer.Add(self.clearButton, 0, wx.ALL, 1) self.hSizer.Add([8, 5], 0, wx.EXPAND | wx.FIXED_MINSIZE, 0) self.textPanel = wx.Panel(self) sizer = wx.BoxSizer(wx.HORIZONTAL) self.text = wx.StaticText(self.textPanel, -1, '') self.text.SetForegroundColour(wx.Colour(255, 255, 255)) sizer.Add(self.text, 1, wx.ALL, 0) self.textPanel.SetSizer(sizer) self.textPanel.SetAutoLayout(1) self.textPanel.SetForegroundColour(wx.WHITE) self.textPanel.SetBackgroundColour(wx.Colour(53, 53, 53)) self.text.SetSize((-1, 15)) self.hSizer.Add(self.textPanel, 1, wx.TOP | wx.EXPAND, 3) self.SetSizer(self.hSizer) self.SetAutoLayout(1) self.SetMinSize((-1, 19)) self.SetBackgroundColour(wx.Colour(53, 53, 53)) self.hSizer.Layout() self.Layout() self.searchBusy = True #?? #self.Show(True) self.results = {}
def __init__(self, parent, utility, vlcwrap, bg, border=True): wx.Panel.__init__(self, parent, -1) self.__check_thread() self.utility = utility self.parent = parent self.border = border self.SetBackgroundColour(DEFAULT_BACKGROUND) self.volume = 0.48 self.oldvolume = 0.48 self.estduration = None self.fullscreen_enabled = False self.fullscreenwindow = None self.play_enabled = False self.stop_enabled = False self.scroll_enabled = False vSizer = wx.BoxSizer(wx.VERTICAL) if border: self.SetMinSize((34, -1)) images = ("minimize.png", "maximize.png") images = [ os.path.join(self.utility.getPath(), LIBRARYNAME, "Main", "vwxGUI", "images", image) for image in images ] self.header = PlayerHeader(self, self, bg, [], images[0], images[1]) vSizer.Add(self.header, 0, wx.EXPAND) hSizer = wx.BoxSizer(wx.HORIZONTAL) self.leftLine = wx.Panel(self, size=(1, -1)) self.leftLine.SetBackgroundColour(bg) mainbox = wx.BoxSizer(wx.VERTICAL) self.rightLine = wx.Panel(self, size=(1, -1)) self.rightLine.SetBackgroundColour(bg) hSizer.Add(self.leftLine, 0, wx.EXPAND) hSizer.Add(mainbox, 1, wx.EXPAND) hSizer.Add(self.rightLine, 0, wx.EXPAND) vSizer.Add(hSizer, 1, wx.EXPAND) footer = ListFooter(self) footer.SetBackgroundColour(bg) vSizer.Add(footer, 0, wx.EXPAND) else: mainbox = vSizer self.vlcwrap = vlcwrap if vlcwrap is not None: self.vlcwin = VLCLogoWindow(self, utility, vlcwrap, bg, animate=True) self.vlcwin.SetMinSize(EmbeddedPlayerPanel.VIDEO_SIZE) if border: player_img = os.path.join(self.utility.getPath(), LIBRARYNAME, "Main", "vwxGUI", 'images', 'player.png') self.player_img = wx.StaticBitmap( self, -1, wx.BitmapFromImage(wx.Image(player_img, wx.BITMAP_TYPE_ANY))) mainbox.Add(self.player_img, 0, wx.ALIGN_CENTER | wx.TOP, 5) mainbox.Add(self.vlcwin, 1, wx.EXPAND, 0) self.ctrlsizer = wx.BoxSizer(wx.HORIZONTAL) self.slider = ProgressSlider(self, self.utility) self.slider.SetRange(0, 1) self.slider.SetValue(0) self.mute = SwitchButton(self, name='mt') self.mute.Bind(wx.EVT_LEFT_UP, self.MuteClicked) self.ppbtn = PlayerSwitchButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'pause', 'play') self.ppbtn.Bind(wx.EVT_LEFT_UP, self.PlayPause) self.ppbtn.setSelected(2) self.sbtn = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'stop') self.sbtn.Bind(wx.EVT_LEFT_UP, self.OnStop) self.sbtn.setSelected(2) volumebox = wx.BoxSizer(wx.HORIZONTAL) self.vol1 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol1') self.vol1.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol2 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol2') self.vol2.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol3 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol3') self.vol3.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol4 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol4') self.vol4.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol5 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol5') self.vol5.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) self.vol6 = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'vol6') self.vol6.Bind(wx.EVT_MOUSE_EVENTS, self.mouseAction) volumebox.Add(self.vol1, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol2, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol3, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol4, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol5, 0, wx.ALIGN_CENTER_VERTICAL) volumebox.Add(self.vol6, 0, wx.ALIGN_CENTER_VERTICAL) self.updateVol(self.volume) self.fsbtn = PlayerButton( self, os.path.join(self.utility.getPath(), LIBRARYNAME, 'Video', 'Images'), 'fullScreen') self.fsbtn.Bind(wx.EVT_LEFT_UP, self.FullScreen) self.fsbtn.setSelected(2) self.ctrlsizer.Add(self.ppbtn, 0, wx.ALIGN_CENTER_VERTICAL) self.ctrlsizer.Add(self.sbtn, 0, wx.ALIGN_CENTER_VERTICAL) self.ctrlsizer.Add(self.slider, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(self.mute, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(volumebox, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND) self.ctrlsizer.Add(self.fsbtn, 0, wx.ALIGN_CENTER_VERTICAL) mainbox.Add(self.ctrlsizer, 0, wx.ALIGN_BOTTOM | wx.EXPAND | wx.LEFT | wx.RIGHT, 3) if border: self.vlcwin.Show(False) self.ctrlsizer.ShowItems(False) # Arno: until we figure out how to show in-playback prebuffering info self.statuslabel = wx.StaticText(self) vSizer.Add(self.statuslabel, 0, wx.EXPAND) self.SetSizer(vSizer) self.playtimer = None self.update = False self.timer = None
def addComponents(self): self.Show(False) self.hSizer = wx.BoxSizer(wx.HORIZONTAL) # Add Spacer self.hSizer.Add([10,5],0,wx.EXPAND|wx.FIXED_MINSIZE,0) # Add thumb self.thumb = ThumbnailViewer(self, 'libraryMode') self.thumb.setBackground(wx.BLACK) self.thumb.SetSize(libraryModeThumbSize) self.hSizer.Add(self.thumb, 0, wx.ALL, 2) # Add title self.title = wx.StaticText(self,-1,"",wx.Point(0,0),wx.Size(120,14)) self.title.SetBackgroundColour(wx.WHITE) self.title.SetFont(wx.Font(FS_TITLE,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.title.SetMinSize((120,14)) self.hSizer.Add(self.title,1,wx.TOP,3) ## self.vSizerTitle = wx.BoxSizer(wx.VERTICAL) ## self.vSizerTitle.Add (self.title, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 3) ## self.vSizerTitle.Add (self.speedSizer, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 3) ## self.hSizer.Add(self.vSizerTitle, 0, wx.LEFT|wx.RIGHT|wx.TOP|wx.EXPAND, 3) # V Line self.addLine() # Add Gauge/progressbar #self.pb = TriblerProgressbar(self,-1,wx.Point(359,0),wx.Size(80,15)) self.pb = ProgressBar(self,pos=wx.Point(359,0),size=wx.Size(100,5)) # >> Drawn in progressbar #self.pbLabel = wx.StaticText(self,-1,"12% |ETA:10min30",wx.Point(274,3),wx.Size(80,15),wx.ST_NO_AUTORESIZE) #self.pbSizer.Add(self.pbLabel,0,wx.TOP|wx.FIXED_MINSIZE,3) # << # Text under progressbar self.percentage = wx.StaticText(self,-1,"?%") self.percentage.SetForegroundColour(self.triblerGrey) self.percentage.SetFont(wx.Font(FS_PERC,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.eta = wx.StaticText(self,-1,"?") self.eta.SetForegroundColour(self.triblerGrey) self.eta.SetFont(wx.Font(FS_PERC,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.fileProgressSizer = wx.BoxSizer(wx.HORIZONTAL) self.fileProgressSizer.Add(self.percentage, 1, wx.EXPAND, 0) self.fileProgressSizer.Add(self.eta, 0, wx.EXPAND|wx.ALIGN_RIGHT, 0) self.pbMessage = wx.BoxSizer(wx.VERTICAL) self.pbMessage.Add(self.pb,0,wx.TOP|wx.EXPAND|wx.FIXED_MINSIZE,2) self.pbMessage.Add(self.fileProgressSizer,0,wx.TOP|wx.EXPAND|wx.FIXED_MINSIZE,1) self.hSizer.Add(self.pbMessage, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 2) # pause/stop button self.pause = SwitchButton(self, -1, wx.Point(542,3), wx.Size(16,16),name='pause' ) self.hSizer.Add(self.pause,0,wx.TOP|wx.FIXED_MINSIZE,2) # V Line self.addLine() # Up/Down text speed # self.downSpeed = ImagePanel(self, -1, wx.DefaultPosition, wx.Size(16,16),name='downSpeed') # self.downSpeed.setBackground(wx.WHITE) # self.downSpeed.SetToolTipString(self.utility.lang.get('down')) self.speedDown2 = wx.StaticText(self,-1,"down: 0 KB/s",wx.Point(274,3),wx.Size(70,12),wx.ALIGN_RIGHT | wx.ST_NO_AUTORESIZE) self.speedDown2.SetForegroundColour(self.triblerGrey) self.speedDown2.SetFont(wx.Font(FS_SPEED,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.speedDown2.SetMinSize((70,12)) # self.upSpeed = ImagePanel(self, -1, wx.DefaultPosition, wx.Size(16,16),name='upSpeed') # self.upSpeed.setBackground(wx.WHITE) # self.upSpeed.SetToolTipString(self.utility.lang.get('up')) self.speedUp2 = wx.StaticText(self,-1,"up: 0 KB/s",wx.Point(274,3),wx.Size(70,12),wx.ALIGN_RIGHT | wx.ST_NO_AUTORESIZE) self.speedUp2.SetForegroundColour(self.triblerGrey) self.speedUp2.SetFont(wx.Font(FS_SPEED,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.speedUp2.SetMinSize((70,12)) # self.hSizer.Add(self.downSpeed, 0, wx.TOP, 2) # self.hSizer.Add([2,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) self.hSizer.Add(self.speedDown2, 0, wx.TOP|wx.EXPAND, 4) # V Line self.addLine() # self.hSizer.Add(self.upSpeed, 0, wx.LEFT|wx.TOP, 2) # self.hSizer.Add([2,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) self.hSizer.Add(self.speedUp2, 0, wx.TOP|wx.EXPAND, 4) # V Line self.addLine() # Status Icon ## self.statusIcon = ImagePanel(self, -1, name="LibStatus_boosting") ## self.statusIcon.searchBitmap(name = statusLibrary["stopped"]) ## ## self.hSizer.Add(self.statusIcon, 0, wx.TOP|wx.RIGHT|wx.EXPAND, 2) # Status message self.statusField = wx.StaticText(self, -1,'', wx.Point(),wx.Size()) self.statusField.SetForegroundColour(self.triblerGrey) self.statusField.SetFont(wx.Font(FS_SPEED,FONTFAMILY,FONTWEIGHT,wx.NORMAL,False,FONTFACE)) self.statusField.SetMinSize((60,12)) # self.statusField.SetMinSize((125,12)) self.hSizer.Add(self.statusField, 1, wx.TOP, 4) # V Line self.addLine() # Boost button self.boost = SwitchButton(self, name="boost") self.boost.setBackground(wx.WHITE) self.boost.SetSize((50,16)) self.boost.setEnabled(False) self.hSizer.Add(self.boost, 0, wx.TOP|wx.ALIGN_RIGHT, 2) self.hSizer.Add([2,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) # Play Fast self.playFast = SwitchButton(self, name="playFast") self.playFast.setBackground(wx.WHITE) self.playFast.SetSize((39,16)) self.playFast.setEnabled(False) self.hSizer.Add(self.playFast, 0, wx.TOP|wx.ALIGN_RIGHT, 2) self.hSizer.Add([2,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) # Play self.playerPlay = SwitchButton(self, name="libraryPlay") self.playerPlay.setBackground(wx.WHITE) self.playerPlay.SetSize((16,16)) self.playerPlay.setEnabled(False) self.hSizer.Add(self.playerPlay, 0, wx.TOP|wx.ALIGN_RIGHT, 2) self.hSizer.Add([2,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) # # TODO: TB >delete button should be removed when delete function in rightMouseButton menu works # Delete button #self.delete = tribler_topButton(self, -1, wx.DefaultPosition, wx.Size(16,16),name='deleteLibraryitem') #self.delete.setBackground(wx.WHITE) #self.hSizer.Add(self.delete,0,wx.TOP|wx.FIXED_MINSIZE|wx.ALIGN_TOP,7) #self.hSizer.Add([8,20],0,wx.EXPAND|wx.FIXED_MINSIZE,0) # Add Refresh self.SetSizer(self.hSizer); self.SetAutoLayout(1); self.Layout(); self.Refresh() # 2.8.4.2 return value of GetChildren changed wl = [self] for c in self.GetChildren(): wl.append(c) for window in wl: window.Bind(wx.EVT_LEFT_UP, self.mouseAction) #window.Bind(wx.EVT_LEFT_DCLICK, self.doubleClicked) window.Bind(wx.EVT_KEY_UP, self.keyTyped) window.Bind(wx.EVT_RIGHT_DOWN, self.mouseAction)