示例#1
0
void K3bIsoImageWritingDialog::slotWriterChanged()
{
  K3bDevice::Device* dev = m_writerSelectionWidget->writerDevice();
  if( dev ) {
    K3bMedium medium = k3bappcore->mediaCache()->medium( dev );
    if( medium.diskInfo().mediaType() & K3bDevice::MEDIA_DVD_PLUS_ALL ) {
      // no simulation support for DVD+R(W) media
      m_checkDummy->setChecked(false);
      m_checkDummy->setEnabled(false);
    }
    else {
      m_checkDummy->setDisabled( false );
    }

    m_writingModeWidget->determineSupportedModesFromMedium( dev );

    if( m_checkDummy->isChecked() ) {
      m_checkVerify->setEnabled( false );
      m_checkVerify->setChecked( false );
    }
    else
      m_checkVerify->setEnabled( true );

    m_spinCopies->setEnabled( !m_checkDummy->isChecked() );
  }

  setButtonEnabled( START_BUTTON, 
		    dev && !m_editImagePath->lineEdit()->text().isEmpty() );
}
示例#2
0
void K3bMediaContentsView::slotMediumChanged( K3bDevice::Device* dev )
{
  // FIXME: derive a K3bContentsStack from QWidgetStack and let it set an active flag
  // to replace this hack
  if( QWidgetStack* stack = dynamic_cast<QWidgetStack*>( parentWidget() ) )
    if( stack->visibleWidget() != this )
      return;

  if( !d->autoReload /*|| !isActive()*/ )
    return;

  if( dev == device() ) {
    K3bMedium m = k3bappcore->mediaCache()->medium( dev );

    // no need to reload if the medium did not change (this is even
    // important since K3b blocks the devices in action and after
    // the release they are signalled as changed)
    if( m == medium() ) {
      kdDebug() << k_funcinfo << " medium did not change" << endl;
      enableInteraction( true );
    }
    else if( m.content() & supportedMediumContent() &&
	     m.diskInfo().mediaType() & supportedMediumTypes() &&
	     m.diskInfo().diskState() & supportedMediumStates() ) {
      kdDebug() << k_funcinfo << " new supported medium found" << endl;
      reload( m );
    }
    else {
      kdDebug() << k_funcinfo << " unsupported medium found" << endl;
      enableInteraction( false );
    }
  }
}
示例#3
0
void K3bWriterSelectionWidget::slotNewBurnMedium( K3bDevice::Device* dev )
{
  //
  // Try to select a medium that is better suited than the current one
  //
  if( dev && dev != writerDevice() ) {
    K3bMedium medium = k3bappcore->mediaCache()->medium( dev );

    //
    // Always prefer newly inserted media over the override device
    //
    if( writerDevice() == m_comboMedium->overrideDevice() ) {
      setWriterDevice( dev );
    }

    //
    // Prefer an empty medium over one that has to be erased
    //
    else if( wantedMediumState() & K3bDevice::STATE_EMPTY &&
	     !k3bappcore->mediaCache()->diskInfo( writerDevice() ).empty() &&
	     medium.diskInfo().empty() ) {
      setWriterDevice( dev );
    }
  }
}
示例#4
0
  QString mediumToolTip( const K3bMedium& m ) const {
    if( m.device() == m_overrideDevice )
      return m_overrideToolTip;
    else {
      QString s = K3bMediaSelectionComboBox::mediumToolTip( m );
      if( !m.diskInfo().empty() && !(wantedMediumState() & m.diskInfo().diskState()) )
	s.append( "<p><i>" + i18n("Medium will be overwritten.") + "</i>" );
      return s;
    }
  }
示例#5
0
 QString mediumString( const K3bMedium& m ) const {
   if( m.device() == m_overrideDevice )
     return m_overrideString;
   else
     return K3bMediaSelectionComboBox::mediumString( m );
 }
示例#6
0
  bool showMedium( const K3bMedium& m ) const {
    return ( m.device() == m_overrideDevice ||
	     K3bMediaSelectionComboBox::showMedium( m ) );
  }