示例#1
0
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();
}
示例#2
0
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 );
}