Ticket #1485012: previewnotread.r1903.patch

File previewnotread.r1903.patch, 5.8 KB (added by JohnDoh, 5 years ago)

updated for rev1903

  • config/main.inc.php.dist

    diff -Naur --exclude='*.svn*' roundcube_svn/config/main.inc.php.dist roundcube_pub/config/main.inc.php.dist
    old new  
    368368// default setting if preview pane is enabled 
    369369$rcmail_config['preview_pane'] = FALSE; 
    370370 
     371// Preview pane mark as read 
     372$rcmail_config['preview_pane_mark_read'] = TRUE; 
     373 
    371374// Clear Trash on logout 
    372375$rcmail_config['logout_purge'] = FALSE; 
    373376 
  • program/include/rcmail.php

    diff -Naur --exclude='*.svn*' roundcube_svn/program/include/rcmail.php roundcube_pub/program/include/rcmail.php
    old new  
    286286    if (!($this->output instanceof rcube_template)) 
    287287      $this->output = new rcube_template($this->task, $framed); 
    288288 
    289     foreach (array('flag_for_deletion','read_when_deleted') as $js_config_var) { 
     289    foreach (array('flag_for_deletion','read_when_deleted','preview_pane_mark_read') as $js_config_var) { 
    290290      $this->output->set_env($js_config_var, $this->config->get($js_config_var)); 
    291291    } 
    292292 
  • program/js/app.js

    diff -Naur --exclude='*.svn*' roundcube_svn/program/js/app.js roundcube_pub/program/js/app.js
    old new  
    13511351      this.set_busy(true, 'loading'); 
    13521352      target.location.href = this.env.comm_path+url; 
    13531353      // mark as read and change mbox unread counter 
    1354       if (action == 'preview' && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread) 
     1354      if (action == 'preview' && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read) 
    13551355        { 
    13561356        this.set_message(id, 'unread', false); 
    13571357        if (this.env.unread_counts[this.env.mailbox]) 
     
    35933593      addrbook_show_images.disabled = !checkbox.checked; 
    35943594    } 
    35953595 
     3596  this.toggle_preview_pane = function(checkbox) 
     3597    { 
     3598    var preview_pane_mark_read; 
     3599    if (preview_pane_mark_read = document.getElementById('rcmfd_preview_pane_mark_read')) 
     3600      preview_pane_mark_read.disabled = !checkbox.checked; 
     3601    } 
     3602 
    35963603  // display fetched raw headers 
    35973604  this.set_headers = function(content) 
    35983605    { 
  • program/localization/en_US/labels.inc

    diff -Naur --exclude='*.svn*' roundcube_svn/program/localization/en_US/labels.inc roundcube_pub/program/localization/en_US/labels.inc
    old new  
    307307$labels['sortasc']  = 'Sort ascending'; 
    308308$labels['sortdesc'] = 'Sort descending'; 
    309309 
     310$labels['previewpanemarkread']  = 'Mark previewed messages as read'; 
     311 
    310312?> 
  • program/steps/mail/show.inc

    diff -Naur --exclude='*.svn*' roundcube_svn/program/steps/mail/show.inc roundcube_pub/program/steps/mail/show.inc
    old new  
    6666  $OUTPUT->set_pagetitle($MESSAGE->subject); 
    6767   
    6868  // mark message as read 
    69   if (!$MESSAGE->headers->seen) 
     69  if (!$MESSAGE->headers->seen && !($RCMAIL->action == 'preview' && !$CONFIG['preview_pane_mark_read'])) 
    7070    $IMAP->set_flag($MESSAGE->uid, 'SEEN'); 
    7171 
    7272  // give message uid to the client 
  • program/steps/settings/func.inc

    diff -Naur --exclude='*.svn*' roundcube_svn/program/steps/settings/func.inc roundcube_pub/program/steps/settings/func.inc
    old new  
    151151  // show config parameter for preview pane 
    152152  if (!isset($no_override['preview_pane'])) { 
    153153    $field_id = 'rcmfd_preview'; 
    154     $input_preview = new html_checkbox(array('name' => '_preview_pane', 'id' => $field_id, 'value' => 1)); 
     154    $input_preview = new html_checkbox(array('name' => '_preview_pane', 'id' => $field_id, 'value' => 1, 
     155       'onchange' => JS_OBJECT_NAME.'.toggle_preview_pane(this)')); 
    155156     
    156157    $table->add('title', html::label($field_id, Q(rcube_label('previewpane')))); 
    157158    $table->add(null, $input_preview->show($config['preview_pane']?1:0)); 
    158159  } 
    159160 
     161  // show config parameter for preview pane auto mark as read 
     162  if (!isset($no_override['preview_pane_mark_read'])) { 
     163    $field_id = 'rcmfd_preview_pane_mark_read'; 
     164    $input_preview = new html_checkbox(array('name' => '_preview_pane_mark_read', 'id' => $field_id, 
     165       'value' => 1,  'disabled' => $config['preview_pane']?0:1)); 
     166 
     167    $table->add('title', html::label($field_id, Q(rcube_label('previewpanemarkread')))); 
     168    $table->add(null, $input_preview->show($config['preview_pane_mark_read']?1:0)); 
     169  } 
     170 
    160171  if (!isset($no_override['mdn_requests'])) { 
    161172    $field_id = 'rcmfd_mdn_requests'; 
    162173    $select_mdn_requests = new html_select(array('name' => '_mdn_requests', 'id' => $field_id)); 
  • program/steps/settings/save_prefs.inc

    diff -Naur --exclude='*.svn*' roundcube_svn/program/steps/settings/save_prefs.inc roundcube_pub/program/steps/settings/save_prefs.inc
    old new  
    3030  'htmleditor'   => isset($_POST['_htmleditor']) ? TRUE : FALSE, 
    3131  'inline_images'   => isset($_POST['_inline_images']) ? TRUE : FALSE, 
    3232  'preview_pane' => isset($_POST['_preview_pane']) ? TRUE : FALSE, 
     33  'preview_pane_mark_read' => isset($_POST['_preview_pane_mark_read']) ? TRUE : FALSE, 
    3334  'read_when_deleted' => isset($_POST['_read_when_deleted']) ? TRUE : FALSE, 
    3435  'flag_for_deletion' => isset($_POST['_flag_for_deletion']) ? TRUE : FALSE, 
    3536  'logout_purge' => isset($_POST['_logout_purge']) ? TRUE : FALSE,