/** * @brief ChordTableWidget::setCaseAndFollowersBeginning * @param t nouveau temps de début de la première case à changer * * Appelé lorsque l'on change le temps de début d'une case et * que l'on veut changer le temps de toutes les cases qui suivent. */ void ChordTableWidget::setCaseAndFollowersBeginning(QTime t) { int minRow = this->row(m_currentItem); int minCol = this->column(m_currentItem); QTime old_t; QTime b_t = m_currentItem->getBeginning(); // on ajoutera à chaque case la différence entre l'ancien et le nouveau temps QTime add_t(qAbs(t.hour() - b_t.hour()), qAbs(t.minute() - b_t.minute()), qAbs(t.second() - b_t.second()), qAbs(t.msec() - b_t.msec())); for(int i = minRow; i < this->rowCount(); i++) { for(int j = 0; j < this->columnCount() - 1; j++) { if(i != minRow || j >= minCol) { old_t = ((CaseItem*) this->item(i, j))->getBeginning(); ((CaseItem*) this->item(i, j))->setBeginning(old_t.addMSecs(TimeToMsec(add_t))); } } } }
int main(int argc, const char *argv[]) { printf("%d\n",add_t(10,1,3,5,7,9,2,4,6,8,0)); return 0; }