QStandardItem* MapReduceProgress::itemForFuture(const QFuture<void>& future) { for (int i=0 ; i<m_model->rowCount() ; ++i) { QStandardItem* item = m_model->item(i, 1); QFuture<void> itemFuture(item->data(Qt::DisplayRole).value<QFuture<void> >()); if (future == itemFuture) return item; } return NULL; }
void MapReduceProgress::closeEvent(QCloseEvent* event) { if (QMessageBox::question(this, "Cancel all?", "Are you sure you want to cancel all remaining mapreduce operations?", QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { for (int i=0 ; i<m_model->rowCount() ; ++i) { QStandardItem* item = m_model->item(i, 1); QFuture<void> itemFuture(item->data(Qt::DisplayRole).value<QFuture<void> >()); itemFuture.cancel(); } event->accept(); } else event->ignore(); }
//--------------------------------------------------------------------------- int KOEventView::showMoveRecurDialog( Incidence *inc, const QDate &date ) { int answer = KMessageBox::Ok; KGuiItem itemFuture( i18n( "Also &Future Items" ) ); KDateTime dateTime( date, KOPrefs::instance()->timeSpec() ); bool isFirst = !inc->recurrence()->getPreviousDateTime( dateTime ).isValid(); bool isLast = !inc->recurrence()->getNextDateTime( dateTime ).isValid(); QString message; if ( !isFirst && !isLast ) { itemFuture.setEnabled( true ); message = i18n( "The item you try to change is a recurring item. " "Shall the changes be applied only to this single occurrence, " "also to future items, or to all items in the recurrence?" ); } else { itemFuture.setEnabled( false ); message = i18n( "The item you try to change is a recurring item. " "Shall the changes be applied only to this single occurrence " "or to all items in the recurrence?" ); } if ( !( isFirst && isLast ) ) { answer = KOMessageBox::fourBtnMsgBox( this, QMessageBox::Question, message, i18n( "Changing Recurring Item" ), KGuiItem( i18n( "Only &This Item" ) ), itemFuture, KGuiItem( i18n( "&All Occurrences" ) ) ); } return answer; }