From 9b3d7f743f21f0ae27bb314faa61e04f43411be0 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 03 Oct 2008 09:09:25 -0400
Subject: [PATCH] - Add 'skip_deleted' option in User Preferences (#1485445)

---
 CHANGELOG                             |    2 ++
 program/steps/settings/func.inc       |   13 +++++++++++--
 program/localization/en_US/labels.inc |    1 +
 program/localization/pl_PL/labels.inc |    1 +
 program/steps/settings/save_prefs.inc |    1 +
 5 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 085139d..f023409 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,8 +2,10 @@
 ---------------------------
 
 2008/10/03 (alec)
+----------
 - Add support for SJIS, GB2312, BIG5 in rc_detect_encoding()
 - Fix vCard file encoding detection for non-UTF-8 strings (#1485410)
+- Add 'skip_deleted' option in User Preferences (#1485445)
 
 2008/10/02 (alec)
 ----------
diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc
index 64e2506..1fdf753 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -278,6 +278,7 @@
 $labels['ignore'] = 'ignore';
 $labels['readwhendeleted'] = 'Mark the message as read on delete';
 $labels['flagfordeletion'] = 'Flag the message for deletion instead of delete';
+$labels['skipdeleted'] = 'Do not show deleted messages';
 $labels['showinlineimages'] = 'Display attached images below the message';
 $labels['autosavedraft']  = 'Automatically save draft';
 $labels['everynminutes']  = 'every $n minutes';
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index f635c69..d8c94f4 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -227,6 +227,7 @@
 $labels['advancedoptions'] = 'opcje zaawansowane';
 $labels['readwhendeleted'] = 'Podczas usuwania oznacz wiadomość jako przeczytaną';
 $labels['flagfordeletion'] = 'Oznacz wiadomość do usunięcia zamiast ją usuwać';
+$labels['skipdeleted'] = 'Ukryj wiadomości oznaczone do usunięcia';
 $labels['autosavedraft'] = 'Automatyczny zapis tworzonej wiadomości';
 $labels['everynminutes'] = 'co $n minut';
 $labels['never'] = 'nigdy';
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index 04079e1..e98ce1b 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -285,7 +285,16 @@
     $table->add('title', html::label($field_id, Q(rcube_label('flagfordeletion'))));
     $table->add(null, $input_flagfordeletion->show($config['flag_for_deletion']?1:0));
   }
-
+  
+  // don't show deleted messages
+  if (!isset($no_override['skip_deleted'])) {
+    $field_id = 'rcmfd_skip_deleted';
+    $input_purge = new html_checkbox(array('name' => '_skip_deleted', 'id' => $field_id, 'value' => 1));
+    
+    $table->add('title', html::label($field_id, Q(rcube_label('skipdeleted'))));
+    $table->add(null, $input_purge->show($config['skip_deleted']?1:0));
+  }
+  
   // Trash purging on logout
   if (!isset($no_override['logout_purge'])) {
     $field_id = 'rcmfd_logout_purge';
@@ -294,7 +303,7 @@
     $table->add('title', html::label($field_id, Q(rcube_label('logoutclear'))));
     $table->add(null, $input_purge->show($config['logout_purge']?1:0));
   }
-
+  
   // INBOX compacting on logout
   if (!isset($no_override['logout_expunge'])) {
     $field_id = 'rcmfd_logout_expunge';
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index b3b75ff..beeb1df 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -31,6 +31,7 @@
   'inline_images'   => isset($_POST['_inline_images']) ? TRUE : FALSE,
   'preview_pane' => isset($_POST['_preview_pane']) ? TRUE : FALSE,
   'read_when_deleted' => isset($_POST['_read_when_deleted']) ? TRUE : FALSE,
+  'skip_deleted' => isset($_POST['_skip_deleted']) ? TRUE : FALSE,
   'flag_for_deletion' => isset($_POST['_flag_for_deletion']) ? TRUE : FALSE,
   'logout_purge' => isset($_POST['_logout_purge']) ? TRUE : FALSE,
   'logout_expunge' => isset($_POST['_logout_expunge']) ? TRUE : FALSE,

--
Gitblit v1.9.1