From 1a98a6a5db16edcf2fdebcb1fd0919c6582ba513 Mon Sep 17 00:00:00 2001 From: thomascube Date: Wed, 6 Dec 2006 21:41:27 +0000 Subject: [PATCH] Preview pane and marking as read (#1484132) --- CHANGELOG | 7 +++++++ index.php | 5 ++--- program/include/rcube_shared.inc | 8 ++++++-- program/js/app.js | 12 +++++++++--- program/steps/mail/show.inc | 4 +++- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index aa259d51a..782c31883 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,13 @@ 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) ---------- - Corrected date string in sent message header (closes #1484125) diff --git a/index.php b/index.php index 5d42e6ddd..e67518512 100644 --- a/index.php +++ b/index.php @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ | RoundCube Webmail IMAP Client | - | Version 0.1-20061201 | + | Version 0.1-20061206 | | | | Copyright (C) 2005-2006, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | @@ -40,7 +40,7 @@ */ -define('RCMAIL_VERSION', '0.1-20061201'); +define('RCMAIL_VERSION', '0.1-20061206'); // define global vars $CHARSET = 'UTF-8'; @@ -154,7 +154,6 @@ if ($_action=='html2text') $converter = new html2text($htmlText); // TODO possibly replace with rcube_remote_response() - send_nocacheing_headers(); header('Content-Type: text/plain'); $plaintext = $converter->get_text(); print $plaintext; diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 7a0fd059d..2ac3f3c41 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -1218,8 +1218,12 @@ function send_nocacheing_headers() // send header with expire date 30 days in future function send_future_expire_header() { - if (!headers_sent()) - header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT"); + if (headers_sent()) + return; + + header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+2600000)." GMT"); + header("Cache-Control: "); + header("Pragma: "); } diff --git a/program/js/app.js b/program/js/app.js index 497598016..d47f4278e 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -157,6 +157,7 @@ function rcube_webmail() { this.enable_command('compose', 'add-contact', false); parent.rcmail.show_messageframe(true); + parent.rcmail.mark_message('read', this.uid); } 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 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); - 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); } @@ -1434,9 +1435,14 @@ function rcube_webmail() for (var n=0; nseen) + if (!$MESSAGE['headers']->seen && $_action != 'preview') $IMAP->set_flag($_GET['_uid'], 'SEEN'); // give message uid to the client