Skip to content

Commit

Permalink
- don't call expunge and don't remove message row after message move
Browse files Browse the repository at this point in the history
  if flag_for_deletion is set to true (#1485002)
  • Loading branch information
alecpl committed Jun 11, 2008
1 parent 2872275 commit d87fc29
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
CHANGELOG RoundCube Webmail
---------------------------

2008/06/11 (alec)
----------
- Don't call expunge and don't remove message row after message move
if flag_for_deletion is set to true (#1485002)

2008/06/08 (alec)
----------
- Added option to disable autocompletion from selected LDAP address books (#1484922)
Expand Down
10 changes: 7 additions & 3 deletions program/include/rcube_imap.php
Original file line number Diff line number Diff line change
Expand Up @@ -1419,9 +1419,13 @@ function move_message($uids, $to_mbox, $from_mbox='')
// send expunge command in order to have the moved message
// really deleted from the source mailbox
if ($moved) {
$this->_expunge($from_mbox, FALSE);
$this->_clear_messagecount($from_mbox);
$this->_clear_messagecount($to_mbox);
// but only when flag_for_deletion is set to false
if (!rcmail::get_instance()->config->get('flag_for_deletion', false))
{
$this->_expunge($from_mbox, FALSE);
$this->_clear_messagecount($from_mbox);
$this->_clear_messagecount($to_mbox);
}
}
// moving failed
else if (rcmail::get_instance()->config->get('delete_always', false)) {
Expand Down
25 changes: 20 additions & 5 deletions program/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1397,13 +1397,13 @@ function rcube_webmail()
lock = true;
this.set_busy(true, 'movingmessage');
}
else
else if (!this.env.flag_for_deletion)
this.show_contentframe(false);

// Hide message command buttons until a message is selected
this.enable_command('reply', 'reply-all', 'forward', 'delete', 'mark', 'print', false);

this._with_selected_messages('moveto', lock, add_url);
this._with_selected_messages('moveto', lock, add_url, (this.env.flag_for_deletion ? false : true));
};

// delete selected messages from the current mailbox
Expand Down Expand Up @@ -1453,12 +1453,12 @@ function rcube_webmail()
return;

this.show_contentframe(false);
this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : ''));
this._with_selected_messages('delete', false, '&_from='+(this.env.action ? this.env.action : ''), true);
};

// Send a specifc request with UIDs of all selected messages
// @private
this._with_selected_messages = function(action, lock, add_url)
this._with_selected_messages = function(action, lock, add_url, remove)
{
var a_uids = new Array();

Expand All @@ -1467,13 +1467,28 @@ function rcube_webmail()
else
{
var selection = this.message_list.get_selection();
var rows = this.message_list.rows;
var id;
for (var n=0; n<selection.length; n++)
{
id = selection[n];
a_uids[a_uids.length] = id;

this.message_list.remove_row(id, (n == selection.length-1));
if (remove)
this.message_list.remove_row(id, (n == selection.length-1));
else
{
rows[id].deleted = true;

if (rows[id].classname.indexOf('deleted')<0)
{
rows[id].classname += ' deleted';
this.set_classname(rows[id].obj, 'deleted', true);
}

if (rows[id].icon && this.env.deletedicon)
rows[id].icon.src = this.env.deletedicon;
}
}
}

Expand Down

0 comments on commit d87fc29

Please sign in to comment.