Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1578143
 поиск   регистрация   авторизация 
 
Группа :: Архивирование/Создание CD
Пакет: k3b

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: k3b-0.12.10-messages-alt.patch


diff -U 10 -Nr k3b-0.12.10.old/libk3b/projects/k3bcdrecordwriter.cpp k3b-0.12.10/libk3b/projects/k3bcdrecordwriter.cpp
--- k3b-0.12.10.old/libk3b/projects/k3bcdrecordwriter.cpp	2005-12-15 16:09:11 +0300
+++ k3b-0.12.10/libk3b/projects/k3bcdrecordwriter.cpp	2005-12-20 13:08:42 +0300
@@ -694,21 +694,21 @@
 	emit infoMessage( i18n("Unable to open new session."), ERROR );
 	emit infoMessage( i18n("Probably a problem with the medium."), ERROR );
 	break;
       case CANNOT_FIXATE_DISK:
 	emit infoMessage( i18n("The disk might still be readable."), ERROR );
 	if( m_writingMode == K3b::TAO && burnDevice()->dao() )
 	  emit infoMessage( i18n("Try DAO writing mode."), ERROR );
 	break;
       case PERMISSION_DENIED:
 	emit infoMessage( i18n("%1 has no permission to open the device.").arg("Cdrecord"), ERROR );
-	emit infoMessage( i18n("You may use K3bsetup2 to solve this problem."), ERROR );
+	emit infoMessage( i18n("Become a member of group cdwriter."), ERROR );
 	break;
       case BUFFER_UNDERRUN:
 	  emit infoMessage( i18n("Probably a buffer underrun occurred."), ERROR );
 	  if( !d->usingBurnfree && burnDevice()->burnproof() )
 	    emit infoMessage( i18n("Please enable Burnfree or choose a lower burning speed."), ERROR );
 	  else
 	    emit infoMessage( i18n("Please choose a lower burning speed."), ERROR );
 	break;
       case HIGH_SPEED_MEDIUM:
 	emit infoMessage( i18n("Found a high-speed medium not suitable for the writer being used."), ERROR );
@@ -723,21 +723,21 @@
 	emit infoMessage( i18n("Another application is blocking the device (most likely automounting)."), ERROR );
 	break;
       case WRITE_ERROR:
 	emit infoMessage( i18n("A write error occurred."), ERROR );
 	if( m_writingMode == K3b::DAO )
 	  emit infoMessage( i18n("Sometimes using TAO writing mode solves this issue."), ERROR );
 	break;
       case UNKNOWN:
 	if( p->exitStatus() == 12 && K3b::kernelVersion() >= K3bVersion( 2, 6, 8 ) && m_cdrecordBinObject->hasFeature( "suidroot" ) ) {
 	  emit infoMessage( i18n("Since kernel version 2.6.8 cdrecord cannot use SCSI transport when running suid root anymore."), ERROR );
-	  emit infoMessage( i18n("You may use K3bSetup to solve this problem or remove the suid bit manually."), ERROR );
+	  emit infoMessage( i18n("Remove the suid bit from cdrecord's file."), ERROR );
 	}
 	else if( !wasSourceUnreadable() ) {
 	  emit infoMessage( i18n("%1 returned an unknown error (code %2).")
 			    .arg(m_cdrecordBinObject->name()).arg(p->exitStatus()), 
 			    K3bJob::ERROR );
 	  emit infoMessage( strerror(p->exitStatus()), K3bJob::ERROR );
 
 	  if( p->exitStatus() >= 254 && m_writingMode == K3b::DAO ) {
 	    emit infoMessage( i18n("Sometimes using TAO writing mode solves this issue."), ERROR );
 	  }
diff -U 10 -Nr k3b-0.12.10.old/src/k3bsystemproblemdialog.cpp k3b-0.12.10/src/k3bsystemproblemdialog.cpp
--- k3b-0.12.10.old/src/k3bsystemproblemdialog.cpp	2005-12-15 16:08:58 +0300
+++ k3b-0.12.10/src/k3bsystemproblemdialog.cpp	2005-12-20 13:20:53 +0300
@@ -92,24 +92,26 @@
     pixmapLabelRight->setPixmap( theme->pixmap( K3bTheme::MEDIA_NONE ) );
     labelTitle->setPaletteBackgroundColor( theme->backgroundColor() );
     labelTitle->setPaletteForegroundColor( theme->foregroundColor() );
   }
 
 
   m_closeButton = new QPushButton( i18n("Close"), this );
   connect( m_closeButton, SIGNAL(clicked()), this, SLOT(close()) );
   m_checkDontShowAgain = new QCheckBox( i18n("Don't show again"), this );
 
+/*
 #ifdef HAVE_K3BSETUP
   m_k3bsetupButton = new QPushButton( i18n("Start K3bSetup2"), this );
   connect( m_k3bsetupButton, SIGNAL(clicked()), this, SLOT(slotK3bSetup()) );
 #endif
+*/
 
   // setup the problem view
   // ---------------------------------------------------------------------------------------------------
   KTextEdit* view = new KTextEdit( this );
   view->setReadOnly(true);
   view->setTextFormat(RichText);
 
 
   // layout everything
   QGridLayout* grid = new QGridLayout( this );
@@ -169,94 +171,107 @@
 void K3bSystemProblemDialog::checkSystem( QWidget* parent, 
 					  const char* name )
 {
   QValueList<K3bSystemProblem> problems;
 
   // 1. cdrecord, cdrdao
   if( !k3bcore->externalBinManager()->foundBin( "cdrecord" ) ) {
     problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 				       i18n("Unable to find %1 executable").arg("cdrecord"),
 				       i18n("K3b uses cdrecord to actually write CDs."),
-				       i18n("Install the cdrtools package which contains "
-					    "cdrecord."),
+				       i18n("Install the cdrecord-classic package and use ALT Control Center "
+				    	    "or try 'control cdrecord-classic public' in a shell as user "
+					    "'root'. Remember that only users in group 'cdwriter' "
+					    "will be allowed to execute cdrecord."),
 				       false ) );
   }
   else {
     if( k3bcore->externalBinManager()->binObject( "cdrecord" )->version < K3bVersion( 2, 0 ) ) {
       problems.append( K3bSystemProblem( K3bSystemProblem::NON_CRITICAL,
 					 i18n("Used %1 version %2 is outdated").arg("cdrecord").arg(k3bcore->externalBinManager()->binObject( "cdrecord" )->version),
 					 i18n("Although K3b supports all cdrtools versions since "
 					      "1.10 it is highly recommended to at least use "
 					      "version 2.0."),
 					 i18n("Install a more recent version of the cdrtools."),
 					 false ) );
     }
     
 #ifdef Q_OS_LINUX
 
     //
     // Since kernel 2.6.8 older cdrecord versions are not able to use the SCSI subsystem when running suid root anymore
     // So for we ignore the suid root issue with kernel >= 2.6.8 and cdrecord < 2.01.01a02
     //
+/*
     if( K3b::simpleKernelVersion() >= K3bVersion( 2, 6, 8 ) &&
 	k3bcore->externalBinManager()->binObject( "cdrecord" )->version < K3bVersion( 2, 1, 1, "a02" ) ) {
       if( k3bcore->externalBinManager()->binObject( "cdrecord" )->hasFeature( "suidroot" ) )
 	problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					   i18n("%1 will be run with root privileges on kernel >= 2.6.8").arg("cdrecord <= 2.01.01a02"),
 					   i18n("Since Linux kernel 2.6.8 %1 will not work when run suid "
 						"root for security reasons anymore.").arg("cdrecord <= 2.01.01a02"),
 					   i18n("Use K3bSetup to solve this problem."),
 					   true ) );
     }
-    else if( !k3bcore->externalBinManager()->binObject( "cdrecord" )->hasFeature( "suidroot" ) && getuid() != 0 ) // not root
+*/
+    if( !k3bcore->externalBinManager()->binObject( "cdrecord" )->hasFeature( "suidroot" ) && getuid() != 0 ) // not root
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("%1 will be run without root privileges").arg("cdrecord"),
 					 i18n("It is highly recommended to configure cdrecord "
 					      "to run with root privileges. Only then cdrecord "
 					      "runs with high priority which increases the overall "
 					      "stability of the burning process. Apart from that "
 					      "it allows changing the size of the used burning buffer. "
-					      "A lot of user problems could be solved this way. This is also "
-					      "true when using SuSE's resmgr."),
-					 i18n("Use K3bSetup to solve this problem."),
+					      "A lot of user problems could be solved this way."),
+					 i18n("Use ALT Control Center or try 'control cdrecord-classic public' "
+					      "in a shell as user 'root'. Remember that only users in "
+					      "group 'cdwriter' will be allowed to run cdrecord."),
 					 true ) );
 #endif
   }
 
   if( !k3bcore->externalBinManager()->foundBin( "cdrdao" ) ) {
     problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 				       i18n("Unable to find %1 executable").arg("cdrdao"),
 				       i18n("K3b uses cdrdao to actually write CDs."),
-				       i18n("Install the cdrdao package."),
+				       i18n("Install the cdrdao package and use ALT Control Center "
+				    	    "or try 'control cdrdao public' in a shell as user 'root'. "
+					    "Remember that only users in group 'cdwriter' will "
+					    "be allowed to run cdrdao."),
 				       false ) );
   }
   else {
 #ifdef Q_OS_LINUX
     if( !k3bcore->externalBinManager()->binObject( "cdrdao" )->hasFeature( "suidroot" ) && getuid() != 0 )
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("%1 will be run without root privileges").arg("cdrdao"),
 					 i18n("It is highly recommended to configure cdrdao "
 					      "to run with root privileges to increase the "
 					      "overall stability of the burning process."),
-					 i18n("Use K3bSetup to solve this problem."),
+					 i18n("Use ALT Control Center or try 'control cdrdao public' "
+					      "in a shell as user 'root'. Remember that only users in "
+					      "group 'cdwriter' will be allowed to run cdrdao."),
 					 true ) );
 #endif
   }
 
   if( !k3bcore->deviceManager()->dvdWriter().isEmpty() ) {
     if( !k3bcore->externalBinManager()->foundBin( "growisofs" ) ) {
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("Unable to find %1 executable").arg("growisofs"),
 					 i18n("K3b uses growisofs to actually write dvds. "
 					      "Without growisofs you won't be able to write dvds. "
 					      "Make sure to install at least version 5.10."),
-					 i18n("Install the dvd+rw-tools package."),
+					 i18n("Install the dvd+rw-tools package and use ALT Control Center "
+					      "or try 'control growisofs public' in a shell as user 'root'. "
+					      "Remember that only users in group 'cdwriter' will "
+					      "be allowed to run growisofs."),
 					 false ) );
     }
     else {
       if( k3bcore->externalBinManager()->binObject( "growisofs" )->version < K3bVersion( 5, 10 ) ) {
 	problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					   i18n("Used %1 version %2 is outdated").arg("growisofs").arg(k3bcore->externalBinManager()->binObject( "growisofs" )->version),
 					   i18n("K3b needs at least growisofs version 5.10 to write dvds. "
 						"All older versions will not work and K3b will refuse to use them."),
 					   i18n("Install a more recent version of %1.").arg("growisofs"),
 					   false ) );
@@ -268,21 +283,24 @@
 						"version older than 5.12."),
 					   i18n("Install a more recent version of growisofs."),
 					   false ) );
       }
     }
 
     if( !k3bcore->externalBinManager()->foundBin( "dvd+rw-format" ) ) {
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("Unable to find %1 executable").arg("dvd+rw-format"),
 					 i18n("K3b uses dvd+rw-format to format DVD-RWs and DVD+RWs."),
-					 i18n("Install the dvd+rw-tools package."),
+					 i18n("Install the dvd+rw-tools package and use ALT Control Center "
+					      "or try 'control dvd+rw-format public' in a shell as user 'root'."
+					      "Remember that only users in group 'cdwriter' will "
+					      "be allowed to run dvd+rw-format."),
 					 false ) );
     }
   }
 
   if( !k3bcore->externalBinManager()->foundBin( "mkisofs" ) ) {
 
   }
   else if( k3bcore->externalBinManager()->binObject( "mkisofs" )->version < K3bVersion( 1, 14 ) ) {
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("Used %1 version %2 is outdated")
@@ -390,33 +408,33 @@
 
 
   for( QPtrListIterator<K3bDevice::Device> it( k3bcore->deviceManager()->allDevices() );
        it.current(); ++it ) {
     if( !QFileInfo( it.current()->blockDeviceName() ).isWritable() )
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("No write access to device %1").arg(it.current()->blockDeviceName()),
 					 i18n("K3b needs write access to all the devices to perform certain tasks. "
 					      "Without you might encounter problems with %1 - %2").arg(it.current()->vendor()).arg(it.current()->description()),
 					 i18n("Make sure you have write access to %1. In case you are not using "
-					      "devfs or udev K3bSetup is able to do this for you.").arg(it.current()->blockDeviceName()),
+					      "devfs or udev ALT Control Center can help you (you must become a member of group 'cdwriter').").arg(it.current()->blockDeviceName()),
 					 false ) );
 
 
     if( it.current()->interfaceType() == K3bDevice::SCSI &&
 	!it.current()->genericDevice().isEmpty() &&
 	!QFileInfo( it.current()->genericDevice() ).isWritable() )
       problems.append( K3bSystemProblem( K3bSystemProblem::CRITICAL,
 					 i18n("No write access to generic SCSI device %1").arg(it.current()->genericDevice()),
 					 i18n("Without write access to the generic device you might "
 					      "encounter problems with Audio CD ripping from %1 - %2").arg(it.current()->vendor()).arg(it.current()->description()),
 					 i18n("Make sure you have write access to %1. In case you are not using "
-					      "devfs or udev K3bSetup is able to do this for you.").arg(it.current()->genericDevice()),
+					      "devfs or udev ALT Control Center can help you (you must become a member of group 'cdwriter').").arg(it.current()->genericDevice()),
 					 false ) );
   }
 
 
   kdDebug() << "(K3bCore) System problems:" << endl;
   for( QValueList<K3bSystemProblem>::const_iterator it = problems.begin();
        it != problems.end(); ++it ) {
     const K3bSystemProblem& p = *it;
 
     switch( p.type ) {
@@ -435,20 +453,22 @@
 	      << " SOLUTION: " << p.solution << endl << endl;
 
   }
   if( problems.isEmpty() )
     kdDebug() << "          - none - " << endl;
   else {
     K3bSystemProblemDialog( problems, parent, name ).exec();
   }
 }
 
+/*
 void K3bSystemProblemDialog::slotK3bSetup()
 {
   KProcess p;
   p << "kdesu" << "kcmshell k3bsetup2 --lang " + KGlobal::locale()->language();
   if( !p.start( KProcess::DontCare ) )
     KMessageBox::error( 0, i18n("Unable to start K3bSetup2.") );
 }
+*/
 
 
 #include "k3bsystemproblemdialog.moc"
diff -U 10 -Nr k3b-0.12.10.old/src/k3bsystemproblemdialog.h k3b-0.12.10/src/k3bsystemproblemdialog.h
--- k3b-0.12.10.old/src/k3bsystemproblemdialog.h	2005-12-15 16:08:58 +0300
+++ k3b-0.12.10/src/k3bsystemproblemdialog.h	2005-12-20 13:21:31 +0300
@@ -58,20 +58,22 @@
   K3bSystemProblemDialog( const QValueList<K3bSystemProblem>&,
 			  QWidget* parent = 0, 
 			  const char* name = 0 );
 
   static void checkSystem( QWidget* parent = 0, 
 			   const char* name = 0 );
 
  protected:
   void closeEvent( QCloseEvent* );
 
+/*
  private slots:
   void slotK3bSetup();
+*/
 
  private:
   QPushButton* m_closeButton;
   QPushButton* m_k3bsetupButton;
   QCheckBox* m_checkDontShowAgain;
 };
 
 #endif
diff -U 10 -Nr k3b-0.12.10.old/src/rip/k3bdvdrippingprocess.cpp k3b-0.12.10/src/rip/k3bdvdrippingprocess.cpp
--- k3b-0.12.10.old/src/rip/k3bdvdrippingprocess.cpp	2005-12-15 16:08:56 +0300
+++ k3b-0.12.10/src/rip/k3bdvdrippingprocess.cpp	2005-12-20 14:15:53 +0300
@@ -285,21 +285,21 @@
 		emit newSubTask( i18n("Mounting media") );
 		// FIXME: why not use K3bAppDeviceManager
                 connect( KIO::mount( true, 0, dev->mountDevice(), dev->mountPoint(), false ),
                          SIGNAL(result(KIO::Job*)), this, SLOT( slotPreProcessingDvd(KIO::Job*) ) );
             } else {
                 m_mountPoint = mount;
                 m_dvdAlreadyMounted = true;
                 slotPreProcessingDvd();
             }
         } else {
-            KMessageBox::error(qApp->activeWindow(), i18n("K3b could not mount <%1>. Please run K3bSetup.").arg(dev->mountDevice()),
+            KMessageBox::error(qApp->activeWindow(), i18n("K3b could not mount <%1>.").arg(dev->mountDevice()),
                                i18n("I/O Error") );
             emit finished( false );
         }
     }
 }
 
 void K3bDvdRippingProcess::slotPreProcessingDvd( KIO::Job *resultJob) {
   if( resultJob->error() > 0 ) {
     // do show a dialog instead of an infoMessage since the errorString spreads over multible lines. :(
     resultJob->showErrorDialog( qApp->activeWindow() );
 
design & coding: Vladimir Lettiev aka crux © 2004-2005