Exemplo n.º 1
0
    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 = {}
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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)