void ShotDialog::accept() { double shotStartFloat = mShotStart->text().toDouble(); int shotStart = (int)shotStartFloat; int shotEnd = mShotEnd->text().toInt(); // Check for existing shot numbers ShotList shotsInProject = mElement.children( Shot::type(), true ); QMap<float, bool> existingShots; foreach( Shot s, shotsInProject) existingShots[s.shotNumber()] = true; if( shotStartFloat != (float)shotStart ){ if( existingShots[shotStartFloat] == true ){ LOG_5( "Shot exists!" ); // ResinError::nameTaken( this, QString::number(shotStartFloat) ); return; } Shot temp = shotSetup(); temp.setShotNumber( shotStartFloat ); temp.setName( temp.name() + temp.displayNumber() ); temp.commit(); // mThumbnailButton->updateThumbnail( temp ); QDialog::accept(); return; } QStringList badShots; for(int shit = shotStart; shit<=shotEnd; shit++) if (existingShots[(float)shit] == true) badShots += QString::number( shit ); if( badShots.size() > 0 ) { //ResinError::nameTaken( this, badShots.join(", ") ); return; } ShotList shots_to_add; // Create the shots for(; shotStart<=shotEnd; shotStart++) { Shot t = shotSetup(); t.setShotNumber( shotStart ); t.setName( t.name() + t.displayNumber() ); shots_to_add += t; } // Commit the shots shots_to_add.commit(); mCreated = shots_to_add; // Create and insert the thumbnails // mThumbnailButton->updateThumbnail( shots_to_add ); QDialog::accept(); }
void ShotDialog::updateResult() { QString resText("Result: "); resText += mShotName->text(); Shot s; s.setShotNumber( mShotStart->text().toDouble() ); s.setElementType( Shot::type() ); resText += s.displayNumber(); if( mShotStart->text() != mShotEnd->text() && !mShotStart->text().contains( "." ) ){ s.setShotNumber( mShotEnd->text().toDouble() ); resText += " to " + mShotName->text() + s.displayNumber(); } mStatusLabel->setText( resText ); }