void PlayerController::setView(AbstractPlayerView *view) { if (m_view == view) return; if (m_view) { m_view->disconnect(this); } m_view = view; if (m_view) { connect(m_view, SIGNAL(playClicked()), SLOT(play())); connect(m_view, SIGNAL(pauseClicked()), SLOT(pause())); connect(m_view, SIGNAL(stopClicked()), SLOT(stop())); connect(m_view, SIGNAL(nextClicked()), SLOT(next())); connect(m_view, SIGNAL(previousClicked()), SLOT(previous())); connect(m_view, SIGNAL(shuffleClicked()), SLOT(toggleShuffle())); connect(m_view, SIGNAL(muteClicked()), SLOT(toggleMute())); connect(m_view, SIGNAL(repeatClicked()), SLOT(toggleRepeat())); connect(m_view, SIGNAL(volumeChanged(qreal)), SLOT(setVolume(qreal))); connect(m_view, SIGNAL(songSelected(int)), SLOT(play(int))); } initializeView(); }
void PlayerController::setModel(LocalAudioModel *model) { if (model == m_model) return; if (m_model != NULL) { m_mediaObject->clear(); m_songsAvailable = false; setCurrentSong_helper(-1); m_shuffledList.clear(); m_shuffleIndex = -1; delete m_playlistModel; m_playlistModel = 0; } m_model = model; if (m_model != NULL) { if (m_model->isReady()) { onModelReady(); } else { connect(m_model, SIGNAL(ready()), SLOT(onModelReady())); } } initializeView(); }
std::shared_ptr<IOperatorController> OperatorController::create() { auto controller = std::shared_ptr<OperatorController>(new OperatorController); controller->initializeModel(); controller->initializeView(); return controller; }
void PlayerController::onModelReady() { disconnect(m_model, SIGNAL(ready()), this, SLOT(onModelReady())); if (m_model->songCount()) { m_songsAvailable = true; setCurrentSong(getNextSong()); Q_ASSERT(m_playlistModel == 0); m_playlistModel = new FastPlaylistModel(m_model); initializeView(); qWarning() << "Controller has songs available!"; emit songsAvailable(); } }
void Facade::initializeFacade(void) { initializeModel(); initializeController(); initializeView(); }