Index: MainWindow/DeleteDialog.cpp
===================================================================
--- MainWindow/DeleteDialog.cpp	(revision 671896)
+++ MainWindow/DeleteDialog.cpp	(working copy)
@@ -40,10 +40,7 @@
     _label = new QLabel( top );
     lay1->addWidget( _label );
 
-    _deleteFromDisk = new QCheckBox( i18n( "Delete images/videos from disk and database" ), top );
-    lay1->addWidget( _deleteFromDisk );
-
-    _block = new QCheckBox( i18n( "Block from database" ), top );
+    _block = new QCheckBox( i18n( "Don't delete, just block from database" ), top );
     lay1->addWidget( _block );
 
     connect( this, SIGNAL( user1Clicked() ), this, SLOT( deleteImages() ) );
@@ -53,7 +50,6 @@
 {
     _label->setText( i18n("<p><b><center><font size=\"+3\">Delete Images/Videos<br>%1 selected</font></center></b></p>").arg( list.count() ) );
 
-    _deleteFromDisk->setChecked( true );
     _block->setChecked( false );
     _list = list;
 
@@ -64,26 +60,40 @@
 {
     Utilities::ShowBusyCursor dummy;
 
-    if ( _deleteFromDisk->isChecked() ) {
-        for( QStringList::ConstIterator it = _list.begin(); it != _list.end(); ++it ) {
-            Utilities::removeThumbNail( *it );
-            if ( DB::ImageInfo::imageOnDisk(*it) ) {
-                bool ok = !(QFile( *it ).exists()) ||  QFile( *it ).remove();
-                if ( !ok ) {
-                    KMessageBox::error( this, i18n("Unable to delete file '%1'.").arg(*it),
-                                        i18n("Error Deleting Files") );
-                }
+    QStringList listToDelete;
+    QStringList listCouldNotDelete;
+
+    for( QStringList::const_iterator it = _list.constBegin(); it != _list.constEnd(); ++it ) {
+        if ( DB::ImageInfo::imageOnDisk(*it) ) {
+            bool ok = !(QFile( *it ).exists()) ||  QFile( *it ).remove();
+            if ( !ok ) {
+                listCouldNotDelete.append (*it );
+            } else {
+                listToDelete.append( *it );
+                Utilities::removeThumbNail( *it );
             }
         }
     }
 
-    if ( _block->isChecked() )
-        DB::ImageDB::instance()->addToBlockList( _list );
+    if( ! listCouldNotDelete.isEmpty()) {
+        KMessageBox::errorList( this, i18n("<p><b>Unable to delete %1 file(s). Do you have permission to delete these files?</b></p>").arg(listCouldNotDelete.count()), listCouldNotDelete, 
+                            i18n("Error Deleting Files") );
+    }
 
-    if ( _deleteFromDisk->isChecked() )
-        DB::ImageDB::instance()->deleteList( _list );
+    if( ! listToDelete.isEmpty()) {
+        if ( _block->isChecked() )
+            DB::ImageDB::instance()->addToBlockList( listToDelete );
+        else
+            DB::ImageDB::instance()->deleteList( listToDelete );
 
-    accept();
+        accept();
+
+    } else {
+
+        reject();
+
+    }
+
 }
 
 #include "DeleteDialog.moc"
Index: MainWindow/DeleteDialog.h
===================================================================
--- MainWindow/DeleteDialog.h	(revision 671896)
+++ MainWindow/DeleteDialog.h	(working copy)
@@ -39,7 +39,6 @@
 private:
     QStringList _list;
     QLabel* _label;
-    QCheckBox* _deleteFromDisk;
     QCheckBox* _block;
 
 };
