Exemple #1
0
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();
}
Exemple #2
0
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;
	}
Exemple #4
0
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();
}