--- roundcubemail-0.2.1/program/include/rcmail.php 2009-03-02 19:34:18.000000000 +0200 +++ roundcubemail-dev/program/include/rcmail.php 2009-03-10 18:56:07.000000000 +0200 @@ -290,7 +290,7 @@ if (!($this->output instanceof rcube_template)) $this->output = new rcube_template($this->task, $framed); - foreach (array('flag_for_deletion','read_when_deleted') as $js_config_var) { + foreach (array('flag_for_deletion','read_when_deleted','preview_pane_mark_read') as $js_config_var) { $this->output->set_env($js_config_var, $this->config->get($js_config_var)); } --- roundcubemail-0.2.1/program/js/app.js 2009-02-27 13:06:29.000000000 +0200 +++ roundcubemail-dev/program/js/app.js 2009-03-10 19:00:20.000000000 +0200 @@ -1406,7 +1406,7 @@ this.set_busy(true, 'loading'); target.location.href = this.env.comm_path+url; // mark as read and change mbox unread counter - if (action == 'preview' && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread) + if (action == 'preview' && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read) { this.set_message(id, 'unread', false); if (this.env.unread_counts[this.env.mailbox]) @@ -3714,6 +3714,13 @@ addrbook_show_images.disabled = !checkbox.checked; } + this.toggle_preview_pane = function(checkbox) + { + var preview_pane_mark_read; + if(preview_pane_mark_read = document.getElementById("rcmfd_preview_pane_mark_read")) + preview_pane_mark_read.disabled = !checkbox.checked; + } + // display fetched raw headers this.set_headers = function(content) { --- roundcubemail-0.2.1/program/localization/en_US/labels.inc 2009-01-17 03:55:39.000000000 +0200 +++ roundcubemail-dev/program/localization/en_US/labels.inc 2009-03-10 19:03:08.000000000 +0200 @@ -268,6 +268,7 @@ $labels['htmleditor'] = 'Compose HTML messages'; $labels['htmlsignature'] = 'HTML signature'; $labels['previewpane'] = 'Show preview pane'; +$labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['skin'] = 'Interface skin'; $labels['logoutclear'] = 'Clear Trash on logout'; $labels['logoutcompact'] = 'Compact Inbox on logout'; --- roundcubemail-0.2.1/program/localization/et_EE/labels.inc 2009-01-17 03:55:39.000000000 +0200 +++ roundcubemail-dev/program/localization/et_EE/labels.inc 2009-03-10 19:13:48.000000000 +0200 @@ -213,6 +213,7 @@ $labels['htmleditor'] = 'Kasuta HTML redaktorit'; $labels['htmlsignature'] = 'HTML allkiri'; $labels['previewpane'] = 'Näita eelvaate akent'; +$labels['previewpanemarkread'] = 'Märgi eelvaatamisel kirjad loetuks'; $labels['skin'] = 'Kliendi välimus'; $labels['logoutclear'] = 'Tühjenda väljumisel prügikast'; $labels['logoutcompact'] = 'Tihenda väljumisel sissetulevate kaust'; --- roundcubemail-0.2.1/program/steps/mail/show.inc 2009-02-18 21:15:36.000000000 +0200 +++ roundcubemail-dev/program/steps/mail/show.inc 2009-03-10 19:04:50.000000000 +0200 @@ -135,7 +135,7 @@ } // mark message as read - if (!$MESSAGE->headers->seen) + if (!$MESSAGE->headers->seen && !($RCMAIL->action == 'preview' && !$CONFIG['preview_pane_mark_read'])) $IMAP->set_flag($MESSAGE->uid, 'SEEN'); } --- roundcubemail-0.2.1/program/steps/settings/func.inc 2008-12-31 19:52:55.000000000 +0200 +++ roundcubemail-dev/program/steps/settings/func.inc 2009-03-10 19:07:40.000000000 +0200 @@ -178,12 +178,21 @@ // show config parameter for preview pane if (!isset($no_override['preview_pane'])) { $field_id = 'rcmfd_preview'; - $input_preview = new html_checkbox(array('name' => '_preview_pane', 'id' => $field_id, 'value' => 1)); + $input_preview = new html_checkbox(array('name' => '_preview_pane', 'id' => $field_id, 'value' => 1,'onchange' => JS_OBJECT_NAME.'.toggle_preview_pane(this)')); $table->add('title', html::label($field_id, Q(rcube_label('previewpane')))); $table->add(null, $input_preview->show($config['preview_pane']?1:0)); } + // show config parameter for preview pane auto mark as read + if (!isset($no_override['preview_pane_mark_read'])) { + $field_id = 'rcmfd_preview_pane_mark_read'; + $input_preview = new html_checkbox(array('name' => '_preview_pane_mark_read', 'id' => $field_id, 'value' => 1, 'disabled' => $config['preview_pane']?0:1)); + + $table->add('title', html::label($field_id, Q(rcube_label('previewpanemarkread')))); + $table->add(null, $input_preview->show($config['preview_pane_mark_read']?1:0)); + } + if (!isset($no_override['mdn_requests'])) { $field_id = 'rcmfd_mdn_requests'; $select_mdn_requests = new html_select(array('name' => '_mdn_requests', 'id' => $field_id)); --- roundcubemail-0.2.1/program/steps/settings/save_prefs.inc 2008-12-04 12:21:34.000000000 +0200 +++ roundcubemail-dev/program/steps/settings/save_prefs.inc 2009-03-10 19:08:22.000000000 +0200 @@ -29,6 +29,7 @@ 'htmleditor' => isset($_POST['_htmleditor']) ? TRUE : FALSE, 'inline_images' => isset($_POST['_inline_images']) ? TRUE : FALSE, 'preview_pane' => isset($_POST['_preview_pane']) ? TRUE : FALSE, + 'preview_pane_mark_read' => isset($_POST['_preview_pane_mark_read']) ? TRUE : FALSE, 'focus_on_new_message' => isset($_POST['_focus_on_new_message']) ? TRUE : FALSE, 'read_when_deleted' => isset($_POST['_read_when_deleted']) ? TRUE : FALSE, 'skip_deleted' => isset($_POST['_skip_deleted']) ? TRUE : FALSE,