From d06e57fdf21879a4e93d6c00b939ca42094d3e86 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 21 Sep 2011 16:43:47 -0400
Subject: [PATCH] Skip confirmation dialog when deleting a contact from a source that supports undelete operations

---
 program/include/rcmail.php |    3 ++-
 program/js/app.js          |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index ca62fa2..edda07c 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -483,7 +483,8 @@
         'name'     => rcube_label('personaladrbook'),
         'groups'   => $this->address_books['0']->groups,
         'readonly' => $this->address_books['0']->readonly,
-        'autocomplete' => in_array('sql', $autocomplete)
+        'autocomplete' => in_array('sql', $autocomplete),
+        'undelete' => $this->address_books['0']->undelete && $this->config->get('undo_timeout'),
       );
     }
 
diff --git a/program/js/app.js b/program/js/app.js
index 4b88958..52b3f60 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3994,7 +3994,8 @@
   {
     // exit if no mailbox specified or if selection is empty
     var selection = this.contact_list.get_selection();
-    if (!(selection.length || this.env.cid) || !confirm(this.get_label('deletecontactconfirm')))
+    var undelete = this.env.address_sources[this.env.source].undelete;
+    if (!(selection.length || this.env.cid) || (!undelete && !confirm(this.get_label('deletecontactconfirm'))))
       return;
 
     var id, n, a_cids = [], qs = '';

--
Gitblit v1.9.1