$previewPane_vertical_split = getPref($data_dir, $username, 'previewPane_vertical_split', 0);
$previewPane_size = getPref($data_dir, $username, 'previewPane_size', 300);
$pp_refresh_message_list = getPref($data_dir, $username, 'pp_refresh_message_list', 1);
+ $previewPane_autohide = getPref($data_dir, $username, 'previewPane_autohide', 0);
global $optpage_data;
'caption' => _("Always Refresh Message List<br />When Using Preview Pane"),
'type' => SMOPT_TYPE_BOOLEAN,
'initial_value' => $pp_refresh_message_list,
+ 'refresh' => SMOPT_REFRESH_NONE,
+ );
+ $optpage_data['vals'][1][] = array(
+ 'name' => 'previewPane_autohide',
+ 'caption' => _("Automatically Hide Preview Pane<br />When Not Reading Messages"),
+ 'type' => SMOPT_TYPE_BOOLEAN,
+ 'initial_value' => $previewPane_autohide,
'refresh' => SMOPT_REFRESH_ALL,
);
if (!show_preview_pane()) return;
- global $data_dir, $username, $base_uri;
+ global $data_dir, $username, $base_uri, $oTemplate;
$previewPane_vertical_split = getPref($data_dir, $username, 'previewPane_vertical_split', 0);
if ($previewPane_vertical_split)
{
- $split = 'cols';
+ $orientation = 'cols';
$up_arrow = '←';
$down_arrow = '→';
}
else
{
- $split = 'rows';
+ $orientation = 'rows';
$up_arrow = '↑';
$down_arrow = '↓';
}
$previewPane_size = getPref($data_dir, $username, 'previewPane_size', 300);
+ $oTemplate->assign('previewPane_size', $previewPane_size);
+ $oTemplate->assign('base_uri', $base_uri);
+ $oTemplate->assign('orientation', $orientation);
+ $oTemplate->assign('down_arrow', $down_arrow);
+ $oTemplate->assign('up_arrow', $up_arrow);
- $output = "\n<script type=\"text/javascript\">\n"
- . "<!--\n"
- . " function set_preview_pane_size(new_size)\n"
- . " {\n"
- . " if (document.all)\n"
- . " {\n"
- . " parent.document.all[\"fs2\"].$split = \"*, \" + new_size;\n"
- . " }\n"
- . " else if (this.document.getElementById)\n"
- . " {\n"
- . " parent.document.getElementById(\"fs2\").$split = \"*, \" + new_size;\n"
- . " }\n"
- . " }\n"
- . "// -->\n</script>\n"
- . '<form style="margin:0">'
- . '<input type="button" value="' . $down_arrow . '" onclick="set_preview_pane_size(0)" />'
- . '<input type="button" value="X" onclick="parent.bottom.document.location=\'' . $base_uri . 'plugins/preview_pane/empty_frame.php\'" />'
- . '<input type="button" value="' . $up_arrow . '" onclick="set_preview_pane_size(' . $previewPane_size . ')" />'
- . '</form>';
+ $output = $oTemplate->fetch('plugins/preview_pane/collapse_buttons.tpl');
return array('provider_link_before' => $output);
{
// sqgetGlobalVar('REQUEST_URI', $request_uri, SQ_SERVER);
$request_uri = $PHP_SELF;
- $output .= "<script type=\"text/javascript\">\n<!--\n function pp_refresh() { document.location = '$request_uri'; }\n// -->\n</script>\n";
+ $output .= "<script type=\"text/javascript\" language=\"JavaScript\">\n<!--\n function pp_refresh() { document.location = '$request_uri'; }\n// -->\n</script>\n";
}
// don't let message list load into preview pane at all
//
- . "\n<script language='javascript' type='text/javascript'>\n"
+ . "\n<script language='JavaScript' type='text/javascript'>\n"
. "<!--\n"
. "\n"
. " if (self.name == 'bottom')\n"
* (and possibly refresh message list as well)
*
*/
-function preview_pane_change_message_target_do()
+function preview_pane_change_message_target_do($args)
{
if (!checkForJavascript()) return;
if (getPref($data_dir, $username, 'use_previewPane', 0) == 1)
{
$pp_refresh_message_list = getPref($data_dir, $username, 'pp_refresh_message_list', 1);
+ $aMsg = $args[3];
$target = 'bottom';
- if ($pp_refresh_message_list)
-// introduce a delay so read messages actually refresh after they are read
+
+
+ // introduce a delay so read messages actually
+ // refresh after they are read, but only if they
+ // have not already been seen
+ //
+ if ($pp_refresh_message_list && empty($aMsg['FLAGS']['\seen']))
+// old code without refresh delay
// $onclick .= ' onclick="document.location=\'' . $request_uri . '\'; " ';
$onclick .= ' setTimeout(\'pp_refresh()\', 500); ';
}