void K3b::BlankingJob::slotStartErasing() { m_canceled = false; if( m_writerJob ) delete m_writerJob; if( m_writingApp == K3b::WritingAppCdrdao ) { K3b::CdrdaoWriter* writer = new K3b::CdrdaoWriter( m_device, this ); m_writerJob = writer; writer->setCommand( K3b::CdrdaoWriter::BLANK ); writer->setBlankMode( m_mode ); writer->setForce( m_force ); writer->setBurnSpeed( m_speed ); } else { K3b::CdrecordWriter* writer = new K3b::CdrecordWriter( m_device, this ); m_writerJob = writer; writer->setFormattingMode( m_mode ); writer->setForce( m_force ); writer->setBurnSpeed( m_speed ); } connect(m_writerJob, SIGNAL(finished(bool)), this, SLOT(slotFinished(bool))); connect(m_writerJob, SIGNAL(infoMessage(QString,int)), this,SIGNAL(infoMessage(QString,int))); connect( m_writerJob, SIGNAL(debuggingOutput(QString,QString)), this, SIGNAL(debuggingOutput(QString,QString)) ); if( waitForMedium( m_device, K3b::Device::STATE_COMPLETE|K3b::Device::STATE_INCOMPLETE, K3b::Device::MEDIA_CD_RW, 0, i18n("Please insert a rewritable CD medium into drive<p><b>%1 %2 (%3)</b>.", m_device->vendor(), m_device->description(), m_device->blockDeviceName()) ) == Device::MEDIA_UNKNOWN ) { emit canceled(); jobFinished(false); return; } m_writerJob->start(); }