Example #1
0
    def play_sound_helper(self, sound_file, sound_loop, sound_loop_times):
        self.media = Phonon.createPlayer(Phonon.MusicCategory, Phonon.MediaSource(sound_file))

        if sound_loop_times > 0 and sound_loop:
            for i in range(sound_loop_times):
                self.media.enqueue(Phonon.MediaSource(sound_file))

        self.media.play()
Example #2
0
    def play_sound_helper(self, sound_file, sound_loop, sound_loop_times):
        self.media = Phonon.createPlayer(Phonon.MusicCategory,
                                         Phonon.MediaSource(sound_file))

        if sound_loop_times > 0 and sound_loop:
            for i in range(sound_loop_times):
                self.media.enqueue(Phonon.MediaSource(sound_file))

        self.media.play()
Example #3
0
    def __init__(self, modem):
        super(ModemIndicator, self).__init__()
        self._modem = modem
        self.signalLevelChanged(0)
        menu = self.createMenu()
        self.setContextMenu(menu)

        self.player = Phonon.createPlayer(Phonon.MusicCategory)
        self.player.stateChanged.connect(self._playerLog)
Example #4
0
    def __init__(self, modem):
        super(ModemIndicator, self).__init__()
        self._modem = modem
        self.signalLevelChanged(0)
        menu = self.createMenu()
        self.setContextMenu(menu)

        self.player = Phonon.createPlayer(Phonon.MusicCategory)
        self.player.stateChanged.connect(self._playerLog)
Example #5
0
 def __init__(self):
     QtGui.QMainWindow.__init__(self)
     
     # Cargo el archivo con los elementos graficos
     loader = QtUiTools.QUiLoader()
     self.ui = loader.load("p.ui")
     # Abro la ventana
     self.ui.show()
     
     # Creo un reproductor de tipo musica
     self.player = Phonon.createPlayer(Phonon.MusicCategory)
     
     # Conecto los eventos
     self.connect(self.ui.btnPlay, QtCore.SIGNAL("clicked()"), self.play)
     self.connect(self.ui.btnPause, QtCore.SIGNAL("clicked()"), self.pause)
     self.connect(self.player, QtCore.SIGNAL("metaDataChanged()"), self.metaData)
Example #6
0
    def __init__(self):
        super(Window, self).__init__()

        icon = get_icon(ICONS_DIR, ICON_NAME)
        self.player = Phonon.createPlayer(Phonon.NoCategory, get_sound(SOUNDS_DIR, SOUND_NAME))

        self.setWindowIcon(icon)
        self.setWindowTitle(APP_NAME)

        self.load_config()

        self.tomato_bar = QProgressBar(self)
        self.tomato_bar.setMaximum(self.tomato_duration)
        self.tomato_bar.setFormat(BAR_FORMAT)

        self.break_bar = QProgressBar(self)
        self.break_bar.setMaximum(self.break_duration)
        self.break_bar.setFormat(BAR_FORMAT)
        self.break_bar.hide()

        self.tomato_button = QPushButton(TOMATO_BUTTON_TEXT, self)
        self.tomato_button.clicked.connect(self.start_tomato)

        self.break_button = QPushButton(BREAK_BUTTON_TEXT, self)
        self.break_button.clicked.connect(self.start_break)

        layout = QHBoxLayout(self)
        layout.addWidget(self.tomato_bar)
        layout.addWidget(self.break_bar)
        layout.addWidget(self.tomato_button)
        layout.addWidget(self.break_button)
        self.setLayout(layout)

        self.tomato_timer = QTimer()
        self.tomato_timer.timeout.connect(partial(self.increment_bar, self.tomato_bar, self.finish_tomato))

        self.break_timer = QTimer()
        self.break_timer.timeout.connect(partial(self.increment_bar, self.break_bar, self.finish_break))

        self.tray = QSystemTrayIcon(icon, self)
        self.tray.activated.connect(self.try_toogle_show)
        self.tray.show()
Example #7
0
    def __init__(self, ui, login, ingresar):
        QtGui.QMainWindow.__init__(self)
        # Contiene los iconos que mas se usan
        self.iconos = {
            "porky": os.path.abspath("img/chanchito.png"),
            "porky-w": QtGui.QIcon("img/chanchito.png"),
            "play": QtGui.QIcon("img/Knob Play.png"),
            "pause": QtGui.QIcon("img/Knob Pause.png"),
            }

        # Inicio pynotify
        pynotify.init("LNMusic")
        self.noti = pynotify.Notification(' ', ' ', self.iconos["porky"])
        
        # Creo el gestor de base de datos
        self.db = BaseDeDatos('db/base.db')
        
        # Cargo el archivo con los elementos graficos
        loader = QtUiTools.QUiLoader()
        self.ingresar = loader.load(ingresar)
        self.login = loader.load(login)
        self.ui = loader.load(ui)

#####
        # Creo un reproductor de tipo musica
        self.player = Phonon.createPlayer(Phonon.MusicCategory)
        self.player.setTickInterval(1000)
        
        # Creo slider del audio
        slider = Phonon.SeekSlider(self)
        slider.setMediaObject(self.player)
        
        self.ui.seekLayout.addWidget(slider)

        # Conecto los eventos
        self.connect(self.ui.btnPlay, QtCore.SIGNAL("clicked()"), self.play)
        self.connect(self.ui.btnAdelantar, QtCore.SIGNAL("clicked()"), self.siguiente)
        self.connect(self.ui.btnAtrasar, QtCore.SIGNAL("clicked()"), self.anterior)
        self.connect(self.ui.btnAdd, QtCore.SIGNAL("clicked()"), self.abrirArchivo)
        self.connect(self.ui.lstListaRep, QtCore.SIGNAL("itemSelectionChanged()"), self.cambiaSeleccionLst)
        self.connect(self.ui.lstListas, QtCore.SIGNAL("itemSelectionChanged()"), self.cambiaSeleccionLst2)
        self.connect(self.ui.btnDelete, QtCore.SIGNAL("clicked()"), self.eliminarCancion)
        self.connect(self.ui.btnSearch, QtCore.SIGNAL("clicked()"), self.filtrar)
        self.connect(self.ui.actionNuevo_Perfil, QtCore.SIGNAL("triggered()"), self.nuevoPerfil)
        self.connect(self.ui.actionCerrar_sesion, QtCore.SIGNAL("triggered()"), self.cerrarSesion)
        self.connect(self.ui.actionImportar, QtCore.SIGNAL("triggered()"), self.abrirArchivo)
        self.connect(self.ui.actionEliminar_Perfil, QtCore.SIGNAL("triggered()"), self.eliminarPerfil)
        self.connect(self.ui.actionCerrar, QtCore.SIGNAL("triggered()"), self.ui.close)
        self.connect(self.ui.actionGuardar, QtCore.SIGNAL("triggered()"), self.guardarLista)
        self.connect(self.ui.actionEliminar_Lista, QtCore.SIGNAL("triggered()"), self.eliminarLista)
        self.connect(self.ui.actionNueva_Lista, QtCore.SIGNAL("triggered()"), self.nuevaLista)
        self.player.metaDataChanged.connect(self.metaData)
        self.player.stateChanged.connect(self.state)
        self.player.tick.connect(self.tick)
        self.player.aboutToFinish.connect(self.aboutToFinish)
        
        self.ui.setWindowIcon(self.iconos["porky-w"])
#####

        # Abro el login
        self.ingresar.show()
        self.ingresar.cmbUsuario.setFocus()
        
        # Agrego todos los usuarios a la lista de usuarios
        self.ingresar.cmbUsuario.addItems(self.db.obtenerUsuarios())
        
        def hay_usuario_y_contra():
            # Obtengo usuario y contraseña
            self.usuario = self.ingresar.cmbUsuario.currentText()
            self.contra = self.ingresar.txtContra.text()

            # Si faltan datos
            if not(self.usuario and self.contra):
                # No se habilita el boton ingresar
                self.ingresar.btnIngresar.setEnabled(False)
            # Si se llenaron los todos los campos
            else:
                # Se habilita el ingreso
                self.ingresar.btnIngresar.setEnabled(True)
        
        def ingresar():
            # Busco en la base de datos al perfil con dicho nombre de usuario
            perfil = self.db.obtenerPerfil(self.usuario)
            
            # Si la contraseña es incorrecta
            if self.contra != perfil[0][1]:
                # Muestro un error
                QtGui.QMessageBox.critical(self, 'Error!!!', u'Contraseña incorrecta.')

            else:
                # Cierra el dialogo
                self.ingresar.close()
                self.ingresar.txtContra.setText("")
                self.ingresar.cmbUsuario.setFocus()
                # Inicia el reproductor de musica
                self.iniciar_reproductor()
        
        # Eventos para verificar si se completaron los campos
        self.ingresar.cmbUsuario.currentIndexChanged.connect(hay_usuario_y_contra)
        self.ingresar.txtContra.textChanged.connect(hay_usuario_y_contra)
        # Evento para ingresar
        self.ingresar.btnIngresar.clicked.connect(ingresar)
        self.ingresar.btnNuevo.clicked.connect(self.nuevoPerfilLog)