/**
 * @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)));
			}
		}
	}
}
Example #2
0
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;
}