summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2006-12-06 21:41:27 +0000
committerthomascube <thomas@roundcube.net>2006-12-06 21:41:27 +0000
commit1a98a6a5db16edcf2fdebcb1fd0919c6582ba513 (patch)
tree8ba883b0d9dfc50e0c8ca4a00af26aa8901eef45 /program/js
parentb517af4a471283adc62ef82cb30b97e896bb6799 (diff)
Preview pane and marking as read (#1484132)
Diffstat (limited to 'program/js')
-rw-r--r--program/js/app.js12
1 files changed, 9 insertions, 3 deletions
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; n<selection.length; 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)
{