Example #1
0
void menuPlaylist(struct playLists arrPlaylist[20], int someAlbum){
    int red = FOREGROUND_RED | FOREGROUND_INTENSITY;
    int aqua = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY;
    char forChoice[5][20] = {"Look", "Rename", "Delete", "Cancel", "Create a new album"};
    int lll = 0, pointCommand = 0;
    format(65, 0, aqua);
    printf("What to do?");
    outCommand(0, 5, forChoice, 61);
    while(lll == 0){
        switch(getch()){
        case 72: pointCommand--;
            break;
        case 80: pointCommand++;
            break;
        case 13: lll = 1;
            break;
        case 27: return 1;
        }
        outCommand(pointCommand, 5, forChoice, 61);
    }
    switch(pointCommand%5){
    case 0: choiceSong(arrPlaylist, someAlbum);
        break;
    case 1: renamePlaylist(arrPlaylist, someAlbum);
        break;
    case 2: delAlbum(arrPlaylist, someAlbum);
        break;
    case 3: choicePlaylists(arrPlaylist);
        break;
    case 4: addPlaylist(arrPlaylist);
        break;
    }
}
Example #2
0
void MainWindow::readSettings() {
    QSettings settings;
    readDockSettings(lyricsDock_, "lyrics");
    readDockSettings(console_, "console");

    restoreGeometry(settings.value("mainwindow/geometry").toByteArray());
    restoreState(settings.value("mainwindow/state").toByteArray());

    cursorFollowsPlayback_ =
        settings.value("mainwindow/cursorFollowsPlayback", cursorFollowsPlayback_).toBool();
    cursorFollowsPlaybackAction->setChecked(cursorFollowsPlayback_);

    saveTabs_ = settings.value("mainwindow/saveTabs", saveTabs_).toBool();
    if (!saveTabs_)
        on_newLibraryViewAction_triggered();
    else {
        QList<QVariant> names = settings.value("mainwindow/tabsNames").toList();
        QList<QVariant> data = settings.value("mainwindow/tabsData").toList();
        if (names.size() != data.size())
            qDebug() << "Tabs names and data have different sizes!";
        else {
            for (int i = 0; i < data.size(); ++i) {
                QString tabName = names.at(i).toString();
                if (!data.at(i).isValid()) {
                    addPlaylist(player_.createPlaylist(true), tabName, false);
                } else {
                    QByteArray tabData = data.at(i).toByteArray();
                    auto tab = addPlaylist(player_.createPlaylist(false), tabName, false);
                    tab->deserialize(tabData);
                }
            }
            int lastTab = settings.value("mainwindow/lastPlayingTab", 0).toInt();
            if (lastTab != -1)
                playlistTabs->setCurrentIndex(lastTab);
        }
    }

    int lastPlayingPosition = settings.value("mainwindow/lastPlayingPosition", -1).toInt();
    if (lastPlayingPosition != -1 && getActivePlaylist()) {
        QModelIndex index = getActivePlaylist()->getUnfilteredPosition(lastPlayingPosition);
        player_.setLastPlayed(getActivePlaylistModel(), index);
        getActivePlaylist()->updateCursorAndScroll(index);
    }
}
bool QSpotifyPlaylistContainer::event(QEvent *e)
{
    if (e->type() == QEvent::User) {
        metadataUpdated();
        e->accept();
        return true;
    } else if (e->type() == QEvent::User + 1) {
        // PlaylistAdded event
        QSpotifyPlaylistAddedEvent *ev = static_cast<QSpotifyPlaylistAddedEvent *>(e);
        addPlaylist(ev->playlist(), ev->position());
        emit dataChanged();
        postUpdateEvent();
        e->accept();
        return true;
    } else if (e->type() == QEvent::User + 2) {
        // PlaylistRemoved event
        QSpotifyPlaylistRemovedEvent *ev = static_cast<QSpotifyPlaylistRemovedEvent *>(e);
        int i = ev->position();
        if (i >= 0 && i < m_playlists.count()) {
            QSpotifyPlaylist *pl = m_playlists.takeAt(i);
            delete pl;
            emit dataChanged();
        }
        postUpdateEvent();
        e->accept();
        return true;
    } else if (e->type() == QEvent::User + 3) {
        // PlaylistMoved event
        QSpotifyPlaylistMovedEvent *ev = static_cast<QSpotifyPlaylistMovedEvent *>(e);
        int i = ev->position();
        int newpos = ev->newPosition();
        if (i >= 0 && i < m_playlists.count()) {
            QSpotifyPlaylist *pl = m_playlists.takeAt(i);
            m_playlists.insert(newpos > i ? newpos - 1 : newpos, pl);
            emit dataChanged();
        }
        postUpdateEvent();
        e->accept();
        return true;
    } else if (e->type() == QEvent::User + 4) {
        updatePlaylists();
        m_updateEventPosted = false;
        e->accept();
        return true;
    }
    return QSpotifyObject::event(e);
}
bool QSpotifyPlaylistContainer::updateData()
{
    bool updated = false;

    if (m_playlists.isEmpty()) {
        int count = sp_playlistcontainer_num_playlists(m_container);
        for (int i = 0; i < count; ++i) {
            addPlaylist(sp_playlistcontainer_playlist(m_container, i), i);
            if(sp_playlistcontainer_playlist_type(m_container, i) == SP_PLAYLIST_TYPE_PLACEHOLDER)
                sp_playlistcontainer_remove_playlist(m_container, i);
        }
        updated = true;
        updatePlaylists();
    }

    return updated;
}
Example #5
0
void MainWindow::showPlaylistsContextMenu(QPoint point)
{
    QTreeView *playlists = (QTreeView*)ui->tvPlaylists;
    if(playlists->indexAt(point).isValid()) {
        QStandardItemModel *model = (QStandardItemModel*)playlists->model();
        QStandardItem *item = model->itemFromIndex(playlists->indexAt(point));
        int data = item->data(DATA_KEY_PLAYLIST).toInt();
        QList<QAction *> actions;
        QAction *action;

        switch(data) {
            case DATA_SEARCH:
                break;
            case DATA_EMPTY:
                action = new QAction(playlists);
                action->setText(tr("Add"));
                connect(action, SIGNAL(triggered()), this, SLOT(addPlaylist()));
                actions.append(action);
                break;
            case DATA_HISTORY:
                break;
            default:
                action = new QAction(playlists);
                action->setText(tr("Delete"));
                connect(action, SIGNAL(triggered()), this, SLOT(deletePlaylist()));
                actions.append(action);
                break;
        }
        if(actions.count() > 0)
        {
            point.setX(point.x()-10);
            point.setY(point.y()+30);
            QMenu::exec(actions, playlists->mapToGlobal(point));
        }
    }
}
Example #6
0
Playlist::Playlist(const QByteArray& playlist)
{

  addPlaylist(playlist);

}
Example #7
0
void MainWindow::on_newPlaylistAction_triggered() { addPlaylist(player_.createPlaylist(false)); }
Example #8
0
void MainWindow::on_newLibraryViewAction_triggered() {
    addPlaylist(player_.createPlaylist(true), "All");
}