Preview pane and marking as read (#1484132)

release-0.6
thomascube 18 years ago
parent b517af4a47
commit 1a98a6a5db

@ -1,6 +1,13 @@
CHANGELOG RoundCube Webmail CHANGELOG RoundCube Webmail
--------------------------- ---------------------------
2006/12/06 (thomasb)
----------
- Improve memory usage when sending mail (closes #1484098)
- Mark messages as read once the preview is loaded (closes #1484132)
- Include smtp final response in log (closes #1484081)
2006/12/04 (thomasb) 2006/12/04 (thomasb)
---------- ----------
- Corrected date string in sent message header (closes #1484125) - Corrected date string in sent message header (closes #1484125)

@ -2,7 +2,7 @@
/* /*
+-----------------------------------------------------------------------+ +-----------------------------------------------------------------------+
| RoundCube Webmail IMAP Client | | RoundCube Webmail IMAP Client |
| Version 0.1-20061201 | | Version 0.1-20061206 |
| | | |
| Copyright (C) 2005-2006, RoundCube Dev. - Switzerland | | Copyright (C) 2005-2006, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL | | Licensed under the GNU GPL |
@ -40,7 +40,7 @@
*/ */
define('RCMAIL_VERSION', '0.1-20061201'); define('RCMAIL_VERSION', '0.1-20061206');
// define global vars // define global vars
$CHARSET = 'UTF-8'; $CHARSET = 'UTF-8';
@ -154,7 +154,6 @@ if ($_action=='html2text')
$converter = new html2text($htmlText); $converter = new html2text($htmlText);
// TODO possibly replace with rcube_remote_response() // TODO possibly replace with rcube_remote_response()
send_nocacheing_headers();
header('Content-Type: text/plain'); header('Content-Type: text/plain');
$plaintext = $converter->get_text(); $plaintext = $converter->get_text();
print $plaintext; print $plaintext;

@ -1218,8 +1218,12 @@ function send_nocacheing_headers()
// send header with expire date 30 days in future // send header with expire date 30 days in future
function send_future_expire_header() function send_future_expire_header()
{ {
if (!headers_sent()) if (headers_sent())
header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT"); return;
header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT");
header("Cache-Control: ");
header("Pragma: ");
} }

@ -157,6 +157,7 @@ function rcube_webmail()
{ {
this.enable_command('compose', 'add-contact', false); this.enable_command('compose', 'add-contact', false);
parent.rcmail.show_messageframe(true); parent.rcmail.show_messageframe(true);
parent.rcmail.mark_message('read', this.uid);
} }
if ((this.env.action=='show' || this.env.action=='preview') && this.env.blockedobjects) if ((this.env.action=='show' || this.env.action=='preview') && this.env.blockedobjects)
@ -298,9 +299,9 @@ function rcube_webmail()
// start interval for keep-alive/recent_check signal // start interval for keep-alive/recent_check signal
this.start_keepalive = function() this.start_keepalive = function()
{ {
if (this.env.keep_alive && this.task=='mail' && this.gui_objects.messagelist) if (this.env.keep_alive && !this.env.framed && this.task=='mail' && this.gui_objects.messagelist)
this._int = setInterval(this.ref+'.check_for_recent()', this.env.keep_alive * 1000); this._int = setInterval(this.ref+'.check_for_recent()', this.env.keep_alive * 1000);
else if (this.env.keep_alive && this.task!='login') else if (this.env.keep_alive && !this.env.framed && this.task!='login')
this._int = setInterval(this.ref+'.send_keep_alive()', this.env.keep_alive * 1000); this._int = setInterval(this.ref+'.send_keep_alive()', this.env.keep_alive * 1000);
} }
@ -1434,9 +1435,14 @@ function rcube_webmail()
for (var n=0; n<selection.length; n++) for (var n=0; n<selection.length; n++)
{ {
id = selection[n]; id = selection[n];
a_uids[a_uids.length] = id; if ((flag=='read' && this.message_list.rows[id].unread) || (flag=='unread' && !this.message_list.rows[id].unread))
a_uids[a_uids.length] = id;
} }
} }
// nothing to do
if (!a_uids.length)
return;
switch (flag) switch (flag)
{ {

@ -23,6 +23,8 @@ require_once('Mail/mimeDecode.php');
$PRINT_MODE = $_action=='print' ? TRUE : FALSE; $PRINT_MODE = $_action=='print' ? TRUE : FALSE;
// allow this request to be cached
send_future_expire_header();
// similar code as in program/steps/mail/get.inc // similar code as in program/steps/mail/get.inc
if ($_GET['_uid']) if ($_GET['_uid'])
@ -58,7 +60,7 @@ if ($_GET['_uid'])
// mark message as read // mark message as read
if (!$MESSAGE['headers']->seen) if (!$MESSAGE['headers']->seen && $_action != 'preview')
$IMAP->set_flag($_GET['_uid'], 'SEEN'); $IMAP->set_flag($_GET['_uid'], 'SEEN');
// give message uid to the client // give message uid to the client

Loading…
Cancel
Save