void ProgressListDelegate::slotPauseResumeClicked() { const QModelIndex index = focusedIndex(); JobView *jobView = index.model()->data(index, JobView::JobViewRole).value<JobView*>(); JobView::JobState state = (JobView::JobState) index.model()->data(index, JobView::State).toInt(); if (jobView) { switch (state) { case JobView::Running: jobView->requestSuspend(); break; case JobView::Suspended: jobView->requestResume(); break; default: Q_ASSERT(0); // this point should have never been reached break; } } }