Changeset 17 for gui/main_window.cpp
- Timestamp:
- 12/30/07 20:55:36 (4 years ago)
- File:
-
- 1 edited
-
gui/main_window.cpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gui/main_window.cpp
r12 r17 7 7 setupUi(this); 8 8 9 mpd_status = NULL;9 //mpd_status = NULL; 10 10 slidingVolume = false; 11 11 … … 18 18 } 19 19 20 libraryTreeView->setModel(&musicLibraryModel); 21 20 22 playlistTableView->setModel(&playlistModel); 21 23 playlistTableView->verticalHeader()->hide(); … … 23 25 24 26 // MPD 25 connect(&mpd, SIGNAL(statusUpdated( MPDStatus *)), this, SLOT(updateStatus(MPDStatus *)));27 connect(&mpd, SIGNAL(statusUpdated(const MPDStatus &)), this, SLOT(updateStatus(const MPDStatus &))); 26 28 connect(&mpd, SIGNAL(playlistUpdated(QList<Song *> *)), &playlistModel, SLOT(updateSongs(QList<Song *> *))); 27 29 connect(&mpd, SIGNAL(currentSongUpdated(Song *)), this, SLOT(updateCurrentSong(Song *))); 30 connect(&mpd, SIGNAL(musicLibraryUpdated(QList<MusicLibraryItem *> *)), &musicLibraryModel, SLOT(updateLibrary(QList<MusicLibraryItem *> *))); 28 31 29 32 // GUI … … 42 45 43 46 mpd.getStatus(); 47 mpd.listAllInfo(); 44 48 45 49 statusTimer.start(1000); … … 73 77 void MainWindow::playPauseTrack() 74 78 { 75 if(mpd_status ->state == MPDStatus::State_Playing) {79 if(mpd_status.state == MPDStatus::State_Playing) { 76 80 mpd.setPause(true); 77 } else if(mpd_status ->state == MPDStatus::State_Paused) {81 } else if(mpd_status.state == MPDStatus::State_Paused) { 78 82 mpd.setPause(false); 79 83 } else { … … 103 107 } 104 108 105 void MainWindow::updateStatus( MPDStatus *status)109 void MainWindow::updateStatus(const MPDStatus &status) 106 110 { 107 111 QString timeElapsedFormattedString; 108 112 109 positionSlider->setMaximum(status ->time_total);110 positionSlider->setValue(status ->time_elapsed);113 positionSlider->setMaximum(status.time_total); 114 positionSlider->setValue(status.time_elapsed); 111 115 112 116 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 } 132 140 133 141 songTimeElapsedLabel->setText(timeElapsedFormattedString); 134 142 135 switch(status ->state) {143 switch(status.state) { 136 144 case MPDStatus::State_Playing: 137 145 playPauseTrackButton->setText("Pause"); … … 140 148 stopTrackButton->setEnabled(true); 141 149 break; 150 case MPDStatus::State_Inactive: 142 151 case MPDStatus::State_Stopped: 143 152 playPauseTrackButton->setText("Play"); … … 157 166 158 167 // 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) { 160 169 mpd.currentSong(); 161 170 } 162 171 163 172 // 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) { 165 174 mpd.playListInfo(); 166 175 } 167 176 168 177 // Update status info 169 if(mpd_status != NULL) {170 delete mpd_status;171 }172 178 mpd_status = status; 173 179 }
Note: See TracChangeset
for help on using the changeset viewer.
