void Game::newTask() { if(m_currentTask!=nullptr) m_currentTask->deleteLater(); m_currentTask = Task::createRandomTask(this); m_currentTask->connect(m_currentTask, &Task::answeredChanged, this, &Game::onTaskAnswered); emit currentTaskChanged(m_currentTask); }
ESURegistration::Task ESURegistration::popTask() { if( !d->taskStack.isEmpty() ) { d->currentTask = d->taskStack.pop(); Q_EMIT currentTaskChanged(); return( d->currentTask ); } return( NoTasks ); }
/** * Translates QCustomEvents into signals. This function is called from Qt * in the main thread, which guarantees safety for emitting signals. */ void ThreadedJob::customEvent( QCustomEvent* event ) { switch( event->type() ) { case (int) FinishedEventType: emit IJob::finished( ((FinishedEvent*)event)->result ); break; case (int) ProgressChangedEventType: ProgressChangedEvent* pcEvent = (ProgressChangedEvent*) event; emit progressChanged( pcEvent->value, pcEvent->maximum ); break; case (int) CurrentTaskChangedEventType: emit currentTaskChanged( ((CurrentTaskChangedEvent*)event)->description ); break; default: break; } }
void ESURegistration::pushTask(ESURegistration::Task task) { d->taskStack.push(task); d->currentTask = task; Q_EMIT currentTaskChanged(); }
void ESURegistration::setCurrentTask(ESURegistration::Task task) { d->currentTask = task; Q_EMIT currentTaskChanged(); }