示例#1
0
QPair<QUuid, QUuid> PlaylistWindow::urlToQuickPlaylist(QUrl what)
{
    auto pl = PlaylistCollection::getSingleton()->playlistOf(QUuid());
    pl->clear();
    widgets[QUuid()]->clear();
    ui->tabWidget->setCurrentWidget(widgets[QUuid()]);
    return addToCurrentPlaylist(QList<QUrl>() << what);
}
/// @brief permet l'ajout de fichier pour creer une playlist courante
void CuteSong::addFile()
{
    // ouverture d'une fenetre de selection
    QStringList files = QFileDialog::getOpenFileNames(this, "Select Music Files",
                    QDesktopServices::storageLocation(QDesktopServices::MusicLocation),"*.mp3 *.m4a *.wma *.flac");

    if (files.isEmpty())
        return;

    // ajout de chaque fichier a la suite de la liste de lecture
    ui->statusBar->showMessage("Processing ...");
   foreach (QString string, files)
           addToCurrentPlaylist(string.toStdString().c_str());

   ui->statusBar->showMessage("Files added to current playlist");
   mediaObject->stop();
   setCurrentSong(files.first().toStdString().c_str());

   ui->playlist->setCurrentRow(ui->playlist->currentRow(), QItemSelectionModel::Clear);
   ui->playlist->setCurrentRow(ui->playlist->row(currentPlaylistItems.key(files.first().toStdString())), QItemSelectionModel::Select);
   if (TagLib::MPEG::File(currentSong->getPath().c_str()).isValid())
       ui->actionEdit_song_s_tag->setEnabled(true);
   mediaObject->play();
}
示例#3
0
void PlaylistWindow::dropEvent(QDropEvent *event)
{
    if (!event->mimeData()->hasUrls())
        return;
    addToCurrentPlaylist(event->mimeData()->urls());
}