Changeset 17 for gui/main_window.cpp


Ignore:
Timestamp:
12/30/07 20:55:36 (4 years ago)
Author:
sander
Message:

Lots of updates, the music library is now being showed in the tree view. Though it doesn't actually do anything yet.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gui/main_window.cpp

    r12 r17  
    77    setupUi(this); 
    88 
    9     mpd_status = NULL; 
     9    //mpd_status = NULL; 
    1010    slidingVolume = false; 
    1111 
     
    1818    } 
    1919 
     20    libraryTreeView->setModel(&musicLibraryModel); 
     21 
    2022    playlistTableView->setModel(&playlistModel); 
    2123    playlistTableView->verticalHeader()->hide(); 
     
    2325 
    2426    // MPD 
    25     connect(&mpd, SIGNAL(statusUpdated(MPDStatus *)), this, SLOT(updateStatus(MPDStatus *))); 
     27    connect(&mpd, SIGNAL(statusUpdated(const MPDStatus &)), this, SLOT(updateStatus(const MPDStatus &))); 
    2628    connect(&mpd, SIGNAL(playlistUpdated(QList<Song *> *)), &playlistModel, SLOT(updateSongs(QList<Song *> *))); 
    2729    connect(&mpd, SIGNAL(currentSongUpdated(Song *)), this, SLOT(updateCurrentSong(Song *))); 
     30    connect(&mpd, SIGNAL(musicLibraryUpdated(QList<MusicLibraryItem *> *)), &musicLibraryModel, SLOT(updateLibrary(QList<MusicLibraryItem *> *))); 
    2831 
    2932    // GUI 
     
    4245 
    4346    mpd.getStatus(); 
     47    mpd.listAllInfo(); 
    4448 
    4549    statusTimer.start(1000); 
     
    7377void MainWindow::playPauseTrack() 
    7478{ 
    75     if(mpd_status->state == MPDStatus::State_Playing) { 
     79    if(mpd_status.state == MPDStatus::State_Playing) { 
    7680        mpd.setPause(true); 
    77     } else if(mpd_status->state == MPDStatus::State_Paused) { 
     81    } else if(mpd_status.state == MPDStatus::State_Paused) { 
    7882        mpd.setPause(false); 
    7983    } else { 
     
    103107} 
    104108 
    105 void MainWindow::updateStatus(MPDStatus *status) 
     109void MainWindow::updateStatus(const MPDStatus &status) 
    106110{ 
    107111    QString timeElapsedFormattedString; 
    108112 
    109     positionSlider->setMaximum(status->time_total); 
    110     positionSlider->setValue(status->time_elapsed); 
     113    positionSlider->setMaximum(status.time_total); 
     114    positionSlider->setValue(status.time_elapsed); 
    111115 
    112116    if(!slidingVolume) 
    113         volumeSlider->setValue(status->volume); 
    114  
    115     // Time elapsed 
    116     timeElapsedFormattedString += QString::number(floor(status->time_elapsed / 60.0)); 
    117     timeElapsedFormattedString += ":"; 
    118     if(status->time_elapsed % 60 < 10) { 
    119         timeElapsedFormattedString += "0"; 
    120     } 
    121     timeElapsedFormattedString += QString::number(status->time_elapsed % 60); 
    122  
    123     timeElapsedFormattedString += " / "; 
    124  
    125     // Time total 
    126     timeElapsedFormattedString += QString::number(floor(status->time_total / 60.0)); 
    127     timeElapsedFormattedString += ":"; 
    128     if(status->time_total % 60 < 10) { 
    129         timeElapsedFormattedString += "0"; 
    130     } 
    131     timeElapsedFormattedString += QString::number(status->time_total % 60); 
     117        volumeSlider->setValue(status.volume); 
     118 
     119    if(status.time_total == -1) { 
     120        timeElapsedFormattedString = "00:00 / 00:00"; 
     121    } else { 
     122        // Time elapsed 
     123        timeElapsedFormattedString += QString::number(floor(status.time_elapsed / 60.0)); 
     124        timeElapsedFormattedString += ":"; 
     125        if(status.time_elapsed % 60 < 10) { 
     126            timeElapsedFormattedString += "0"; 
     127        } 
     128        timeElapsedFormattedString += QString::number(status.time_elapsed % 60); 
     129 
     130        timeElapsedFormattedString += " / "; 
     131 
     132        // Time total 
     133        timeElapsedFormattedString += QString::number(floor(status.time_total / 60.0)); 
     134        timeElapsedFormattedString += ":"; 
     135        if(status.time_total % 60 < 10) { 
     136            timeElapsedFormattedString += "0"; 
     137        } 
     138        timeElapsedFormattedString += QString::number(status.time_total % 60); 
     139    } 
    132140 
    133141    songTimeElapsedLabel->setText(timeElapsedFormattedString); 
    134142 
    135     switch(status->state) { 
     143    switch(status.state) { 
    136144        case MPDStatus::State_Playing: 
    137145            playPauseTrackButton->setText("Pause"); 
     
    140148            stopTrackButton->setEnabled(true); 
    141149            break; 
     150        case MPDStatus::State_Inactive: 
    142151        case MPDStatus::State_Stopped: 
    143152            playPauseTrackButton->setText("Play"); 
     
    157166 
    158167    // Check if song has changed and update if needed 
    159     if(mpd_status == NULL || mpd_status->song_id != status->song_id) { 
     168    if(mpd_status.state == MPDStatus::State_Inactive || mpd_status.song_id != status.song_id) { 
    160169        mpd.currentSong(); 
    161170    } 
    162171 
    163172    // Check if playlist has changed and update if needed 
    164     if(mpd_status == NULL || mpd_status->playlist < status->playlist) { 
     173    if(mpd_status.state == MPDStatus::State_Inactive || mpd_status.playlist < status.playlist) { 
    165174        mpd.playListInfo(); 
    166175    } 
    167176 
    168177    // Update status info 
    169     if(mpd_status != NULL) { 
    170         delete mpd_status; 
    171     } 
    172178    mpd_status = status; 
    173179} 
Note: See TracChangeset for help on using the changeset viewer.