diff --git a/mozilla/suite/common/sidebar/sidebarOverlay.js b/mozilla/suite/common/sidebar/sidebarOverlay.js index e3f53f68db0..de42f6c6f72 100644 --- a/mozilla/suite/common/sidebar/sidebarOverlay.js +++ b/mozilla/suite/common/sidebar/sidebarOverlay.js @@ -316,7 +316,9 @@ function (force_reload) } else { var saved_src = iframe.getAttribute('content'); var src = iframe.getAttribute('src'); - if (saved_src != src) { + // either we have been requested to force_reload or the + // panel src has changed so we must restore the original src + if (force_reload || (saved_src != src)) { debug(" set src="+saved_src); iframe.setAttribute('src', saved_src); @@ -325,7 +327,6 @@ function (force_reload) gCurFrame = iframe; gTimeoutID = setTimeout (setBlank, 20000); - } } @@ -904,6 +905,11 @@ function SidebarStopPanelLoad(header) { panel.stop_load(); } +function SidebarReloadPanel(header) { + var panel = sidebarObj.panels.get_panel_from_header_node(header); + panel.reload(); +} + // No one is calling this right now. function SidebarReload() { sidebarObj.panels.refresh(); @@ -1184,6 +1190,33 @@ function SidebarFinishClick() { } } +function SidebarInitContextMenu(aMenu, aPopupNode) +{ + var panel = sidebarObj.panels.get_panel_from_header_node(aPopupNode); + var switchItem = document.getElementById("switch-ctx-item"); + var reloadItem = document.getElementById("reload-ctx-item"); + var stopItem = document.getElementById("stop-ctx-item"); + + // the current panel can be reloaded, but other panels are not showing + // any content, so we only allow you to switch to other panels + if (panel.is_selected()) + { + switchItem.setAttribute("collapsed", "true"); + reloadItem.removeAttribute("disabled"); + } + else + { + switchItem.removeAttribute("collapsed"); + reloadItem.setAttribute("disabled", "true"); + } + + // only if a panel is currently loading enable the ``Stop'' item + if (panel.get_iframe().getAttribute("loadstate") == "loading") + stopItem.removeAttribute("disabled"); + else + stopItem.setAttribute("disabled", "true"); +} + /////////////////////////////////////////////////////////////// // Handy Debug Tools ////////////////////////////////////////////////////////////// diff --git a/mozilla/suite/common/sidebar/sidebarOverlay.xul b/mozilla/suite/common/sidebar/sidebarOverlay.xul index ac86a0c3a3a..c7257642123 100644 --- a/mozilla/suite/common/sidebar/sidebarOverlay.xul +++ b/mozilla/suite/common/sidebar/sidebarOverlay.xul @@ -34,16 +34,24 @@ - - - + + + + + - diff --git a/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd b/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd index 7c2de6007ae..a5982b514fb 100644 --- a/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd +++ b/mozilla/suite/locales/en-US/chrome/common/sidebar/sidebarOverlay.dtd @@ -21,20 +21,22 @@ - Samir Gehani --> - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +