[RFE] Should be able to save images from page info dialog box
This commit is contained in:
cbiesinger%web.de 2002-03-26 20:53:48 +00:00
Родитель fe5652d3ef
Коммит 1d850f166e
3 изменённых файлов: 45 добавлений и 8 удалений

Просмотреть файл

@ -567,19 +567,50 @@ function grabAllMedia(aWindow, aDocument)
return theList.concat(aDocument.getElementsByTagNameNS(XHTMLNS, "img")); return theList.concat(aDocument.getElementsByTagNameNS(XHTMLNS, "img"));
} }
function getSource( item )
{
// Return the correct source without strict warnings
if (item.href != null) {
return item.href;
} else if (item.src != null) {
return item.src;
}
return null;
}
function getSelectedItem(outliner)
{
var view = outliner.outlinerBoxObject.view;
if (!view.rowCount) return null;
// Only works if only one item is selected
var clickedRow = outliner.outlinerBoxObject.selection.currentIndex;
var lineNum = view.getCellText(clickedRow, "image-number");
return imageList[lineNum - 1];
}
function saveMedia()
{
var outliner = document.getElementById("imageoutliner");
var item = getSelectedItem(outliner);
var url = getAbsoluteURL(getSource(item), item);
if (url) {
saveURL(url, null, 'SaveImageTitle', false );
}
}
function onImageSelect() function onImageSelect()
{ {
var outliner = document.getElementById("imageoutliner"); var outliner = document.getElementById("imageoutliner");
var preview = document.getElementById("imagepreview"); var saveAsButton = document.getElementById("imagesaveasbutton");
if (outliner.outlinerBoxObject.selection.count == 1) if (outliner.outlinerBoxObject.selection.count == 1)
{ {
var view = outliner.outlinerBoxObject.view; makePreview(getSelectedItem(outliner));
if (!view.rowCount) return; saveAsButton.setAttribute("disabled", "false");
var clickedRow = outliner.outlinerBoxObject.selection.currentIndex; } else {
var lineNum = view.getCellText(clickedRow, "image-number"); saveAsButton.setAttribute("disabled", "true");
makePreview(imageList[lineNum-1]);
} }
} }
@ -687,7 +718,7 @@ function makePreview(item)
if (nn == "link" || nn == "input") if (nn == "link" || nn == "input")
{ {
newImage = new Image(); newImage = new Image();
newImage.src = getAbsoluteURL(item.href || item.src, item); newImage.src = getAbsoluteURL(getSource(item), item);
} }
else else
{ {

Просмотреть файл

@ -46,6 +46,7 @@
screenX="10" screenY="10" screenX="10" screenY="10"
persist="screenX screenY width height sizemode"> persist="screenX screenY width height sizemode">
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/pageInfo.js"/> <script type="application/x-javascript" src="chrome://navigator/content/pageInfo.js"/>
<keyset> <keyset>
@ -312,6 +313,9 @@
</row> --> </row> -->
</rows> </rows>
</grid> </grid>
<hbox>
<button label="&mediaSaveAs;" accesskey="&mediaSaveAsAccesskey;" id="imagesaveasbutton" disabled="true" oncommand="saveMedia();"/>
</hbox>
<vbox class="inset iframe" flex="1" pack="center"> <vbox class="inset iframe" flex="1" pack="center">
<hbox id="theimagecontainer" pack="center"> <hbox id="theimagecontainer" pack="center">
<image id="thepreviewimage"/> <image id="thepreviewimage"/>

Просмотреть файл

@ -97,6 +97,8 @@
<!ENTITY mediaEncryption "Encryption:"> <!ENTITY mediaEncryption "Encryption:">
<!ENTITY mediaTitle "title Attribute:"> <!ENTITY mediaTitle "title Attribute:">
<!ENTITY mediaLongdesc "longdesc Attribute:"> <!ENTITY mediaLongdesc "longdesc Attribute:">
<!ENTITY mediaSaveAs "Save As...">
<!ENTITY mediaSaveAsAccesskey "S">
<!ENTITY framesTab "Frames"> <!ENTITY framesTab "Frames">
<!ENTITY framesAccesskey "r"> <!ENTITY framesAccesskey "r">