зеркало из https://github.com/mozilla/gecko-dev.git
bug 131031 patch by neil.marshall@sympatico.ca r=db48x sr=alecf a=asa
[RFE] Should be able to save images from page info dialog box
This commit is contained in:
Родитель
fe5652d3ef
Коммит
1d850f166e
|
@ -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">
|
||||||
|
|
Загрузка…
Ссылка в новой задаче