"We are back" « oc.at

Mozilla Tweaks III: Single Click Image Download

that 03.06.2002 - 23:08 502 2
Posts

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11342
Mozilla 0wnz, weil man mit wenig Aufwand alles umbauen kann...

Ergebnis des heutigen Hacks: Shift+Click auf ein Image speichert das Bild ohne weitere Fragen ins Download-Verzeichnis unter dem Filenamen, wie ihn der Server liefert.

Vorbereitungen zum Hack:
1. bin/chrome/comm.jar unzippen (mit Dirs!)
2. bin/chrome/installed-chrome.txt editieren:
die Zeile (bei mir ist es Zeile 11):
content,install,url,jar:resource:/chrome/comm.jar!/content/navigator/
ersetzen durch:
content,install,url,resource:/chrome/comm/content/navigator/

der Hack selbst (2 Files in bin/chrome/comm/content/communicator sind zu ändern):

(Zeilen mit "-" löschen, stattdessen Zeilen mit "+" einfügen (das "-" oder "+" nicht eintippen!). Viele Zeilen sind einfach nur eingerückt worden. Die Zeilen mit "+++" geben den Filenamen an, und Zeilen mit "@@" sind zur Orientierung, bei welchen Zeilennummern die Blöcke sind):

Code:
--- contentAreaClick.js.orig	Thu May 30 23:21:49 2002
+++ contentAreaClick.js	Sun Jun  2 19:52:10 2002
@@ -125,6 +125,10 @@
       local_name = local_name.toLowerCase();
     }
 
+    if (local_name == "img" && event.button == 0 && event.shiftKey) {
+      saveURL(target.src, "@@default@@", "SaveImageTitle", false);
+    }
+
     switch (local_name) {
       case "a":
       case "area":
--- contentAreaUtils.js.orig	Sun Jun  2 18:57:47 2002
+++ contentAreaUtils.js	Sun Jun  2 20:19:11 2002
@@ -254,16 +254,22 @@
   var defaultExtension = getDefaultExtension(defaultFileName, aSniffer.uri, contentType);
   fp.defaultExtension = defaultExtension;
   fp.defaultString = getNormalizedLeafName(defaultFileName, defaultExtension);
-  
-  if (fp.show() == Components.interfaces.nsIFilePicker.returnCancel || !fp.file)
-    return;
+
+  var saveFile;
+  if (aData.fileName != "@@default@@" || defaultFileName == "@@default@@") {
+    if (fp.show() == Components.interfaces.nsIFilePicker.returnCancel || !fp.file)
+      return;
     
-  if (isDocument) 
-    prefs.setIntPref("save_converter_index", fp.filterIndex);
-  var directory = fp.file.parent.QueryInterface(nsILocalFile);
-  prefs.setComplexValue("dir", nsILocalFile, directory);
+    if (isDocument) 
+      prefs.setIntPref("save_converter_index", fp.filterIndex);
+    var directory = fp.file.parent.QueryInterface(nsILocalFile);
+    prefs.setComplexValue("dir", nsILocalFile, directory);
     
-  fp.file.leafName = validateFileName(fp.file.leafName);
+    fp.file.leafName = validateFileName(fp.file.leafName);
+  } else {
+    saveFile = prefs.getComplexValue("dir", nsILocalFile);
+    saveFile.appendRelativePath(getNormalizedLeafName(defaultFileName, defaultExtension));
+  }
   
   // If we're saving a document, and are saving either in complete mode or 
   // as converted text, pass the document to the web browser persist component.
@@ -272,7 +278,7 @@
   var persistArgs = {
     source      : source,
     contentType : (isDocument && fp.filterIndex == 2) ? "text/plain" : contentType,
-    target      : fp.file,
+    target      : saveFile ? saveFile : fp.file,
     postData    : aData.document ? getPostData() : null,
     bypassCache : aData.bypassCache
   };

Nach dem Abspeichern den Mozilla neu starten und Babes Home surfen. :)

Ich übernehme selbstverständlich keine Haftung für Schäden an Soft- oder Hardware (falls es jemand wegen dieses w00ten Features vom Sessel haut). Wenn was nicht funktioniert, unter Tools -> Web Development -> JavaScript Console schauen, wo der Fehler ist.

Ich beantworte gerne etwaige Fragen hier im Thread, solange sie nicht das Entpacken oder Editieren von Files betreffen.

-wrax-

<...>
Avatar
Registered: Mar 2002
Location: .at
Posts: 1532
brav gemacht :)

also ich wuerde mich mit solchen sachen nicht beschäftigen,,, aber zum glueck gibt es eben leute wie dich.

(move to include('coding_stuff.inc'); ?)

HVG

Vereinsmitglied
untitled
Avatar
Registered: Jun 2000
Location: NÖ
Posts: 5982
willst ned no was nützliches machn? :) ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz