summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2014-04-08 14:38:54 +0200
committerThomas Bruederli <thomas@roundcube.net>2014-04-08 14:38:54 +0200
commit1e9a59ab89ed69d4bf3cd2d306e1c3f8821f4018 (patch)
tree00da6b4bc0724d4be50853ea60cdb5615f9706ef /program/steps
parent1d1fdcbf8cd7cce93454eb0b64eaf76975ebdd17 (diff)
Don't remove messages from list when moving to another folder in multi-folder search mode, just update the list
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/mail/list.inc5
-rw-r--r--program/steps/mail/move_del.inc8
2 files changed, 12 insertions, 1 deletions
diff --git a/program/steps/mail/list.inc b/program/steps/mail/list.inc
index a8fc9eb8a..36c79fb29 100644
--- a/program/steps/mail/list.inc
+++ b/program/steps/mail/list.inc
@@ -101,6 +101,11 @@ $OUTPUT->set_env('current_page', $count ? $RCMAIL->storage->get_page() : 1);
$OUTPUT->set_env('exists', $exists);
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count), $mbox_name);
+// remove old message rows if commanded by the client
+if (!empty($_REQUEST['_clear'])) {
+ $OUTPUT->command('clear_message_list');
+}
+
// add message rows
rcmail_js_message_list($a_headers, false, $cols);
diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc
index ae367b4f7..9c1acd5d2 100644
--- a/program/steps/mail/move_del.inc
+++ b/program/steps/mail/move_del.inc
@@ -60,7 +60,13 @@ if ($RCMAIL->action == 'move' && !empty($_POST['_uid']) && strlen($_POST['_targe
$OUTPUT->show_message('messagemoved', 'confirmation');
}
- $addrows = true;
+ if (!empty($_POST['_refresh'])) {
+ // FIXME: send updated message rows instead of releading the entire list
+ $OUTPUT->command('refresh_list');
+ }
+ else {
+ $addrows = true;
+ }
}
// delete messages
else if ($RCMAIL->action=='delete' && !empty($_POST['_uid'])) {