From f8adea8986f3c249a49a30dd922bb357ea7e7284 Mon Sep 17 00:00:00 2001
From: "caillon%returnzero.com" <caillon%returnzero.com>
Date: Wed, 27 Mar 2002 07:47:08 +0000
Subject: [PATCH] Bug 125133.  Add 'Go to Home' and 'Go up a level' buttons to
 the XUL filepicker.  Patch contributed by johann@ai.univie.ac.at; r=fabian
 (jar.mn changes) r=bzbarsky,caillon. sr=jag. a=asa

---
 themes/classic/global/filepicker/folder-home.gif  | Bin 0 -> 484 bytes
 themes/classic/global/filepicker/folder-up.gif    | Bin 0 -> 481 bytes
 themes/classic/global/mac/filepicker.css          |  11 +++++++++++
 themes/classic/global/win/filepicker.css          |  11 +++++++++++
 themes/classic/jar.mn                             |   2 ++
 themes/modern/global/filepicker.css               |  11 +++++++++++
 themes/modern/global/filepicker/folder-home.gif   | Bin 0 -> 632 bytes
 themes/modern/global/filepicker/folder-up.gif     | Bin 0 -> 627 bytes
 themes/modern/jar.mn                              |   2 ++
 .../filepicker/res/content/filepicker.js          |   4 ++++
 .../filepicker/res/content/filepicker.xul         |   2 ++
 .../filepicker/res/locale/en-US/filepicker.dtd    |   3 +++
 12 files changed, 46 insertions(+)
 create mode 100644 themes/classic/global/filepicker/folder-home.gif
 create mode 100644 themes/classic/global/filepicker/folder-up.gif
 create mode 100644 themes/modern/global/filepicker/folder-home.gif
 create mode 100644 themes/modern/global/filepicker/folder-up.gif

diff --git a/themes/classic/global/filepicker/folder-home.gif b/themes/classic/global/filepicker/folder-home.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fefe2f6b79e58771c939034dc3c34a8ea0910465
GIT binary patch
literal 484
zcmaKp&2Q3h9L9ep8WWQx9z1&S?jNA><VEAnyC)C+9q6{~#btBO=%$M=am&UI$|jHv
z0!3i7Flb@Cwv@Ke7TVHM7%!t;Td@5He2$-d^L(E?&(mj59z1+`2iyiQ0B#@j{KcyR
zLE}_|YBU>7u_Y;Tr`PKbhL>ag%9u<hvMhrecX5hko06>dMwjE?C(%El#PQ!`=rj{e
z<`QV(?7T9aPQ4CHg%X))DhH#*Y>6xqG(ocz+hSXi(C#Rz?L53P9C-pUZx}v_ross{
zX5VAQbRN%@$x@Y}*%l|XMY+@IUR(_9hniuSzAzkyQ3NaI%C#!Z(OgTE)&5{)n5HKX
z55&$gdAvk2Rfc0Yffw3iP4fifJ_tUq)a=~-;b^SsrfD8J5P@I}$(Aw&yiC?fhLaRk
z?e$I5@<T|{;RMO>bza~_*)Ad&PeTaS6lF>2YPN}G9R^SR5hQ|O@pL|!Eu#e@U!f|s
zI$7u2O4p98>AGcEn>$B#E&tIy{ra_Azy<CDTh1on=Hu5hvvc#Vg~g?rrR9~Cx2vxC
zjk)!YiyyW=zx%X4`}N!R)$Q%&-S=xhclQ?de(Z1UZ~k(xd3O%n$A16D!I#Jz@aP|-
CuyddQ

literal 0
HcmV?d00001

diff --git a/themes/classic/global/filepicker/folder-up.gif b/themes/classic/global/filepicker/folder-up.gif
new file mode 100644
index 0000000000000000000000000000000000000000..482b9a6a38b6145734db070a26875ec8f21b8bd3
GIT binary patch
literal 481
zcmaKp&2Q3h9L9ep8WR%|4<5aE_YcsRc+`0F?#Y9H2f8iWbWXSFd|h0OThy41IaoFj
zI)Tx`poQ_;QrbdW`a(-#yo`2j!S)~UIezlZ^L_F>_aEH5b^Gx(a23D+{0Kk~A3Z4$
zG)^_BMzhhB1X)$u-EOZxI2#$~=6F0-6a`$mj#Dh#lohQzJR5BvM0dl9{lCfZQ6`$q
zCD6k0No6vb_+6L^Co<7g4n~XF5?Lf@f@UdJU<FxhwN=e=9-N!5e8HGM0v|+EkpvoZ
z?y+JzkLSu{smjo-z=<tMX}3G4r+w$4Zkkpg0!LsJ!HT(Ztx9t=CrFCc>km!K@&)6;
z*l{M0mq@0{a11B%Vr!)9zEC^>!6%iPle;$<j&#GatQ{935R4(&Ql@~H$vVk!vZ`s_
zo@Lp45R!B`K{9-u7kNo>iU`Hi5P~%&MOHhyV`AGop`*P+<PgE)>3lL<Mhir~LRD&Y
zvd*{EjuTlo4BNKffBWs!@*mwWE?&3-yx=Bq<Zc2k-+k(tnx65_&dqz~pD!%DSoF@U
zOfRj@z4`F*^}D61wbd^#*T2rbUE5gs{&{nK`PcH+#^%q(-7WwAt51JC&%m93L(Xvj

literal 0
HcmV?d00001

diff --git a/themes/classic/global/mac/filepicker.css b/themes/classic/global/mac/filepicker.css
index 2ee22e856be50..61c48c7febce7 100644
--- a/themes/classic/global/mac/filepicker.css
+++ b/themes/classic/global/mac/filepicker.css
@@ -58,3 +58,14 @@ outlinerchildren:-moz-outliner-image(FilenameColumn, file) {
   border-color: #000000;
 } 
 
+/* ::::: button items ::::: */
+
+.up-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-up.gif");
+  max-width: 36px;
+}
+
+.home-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-home.gif");
+  max-width: 36px;
+}
diff --git a/themes/classic/global/win/filepicker.css b/themes/classic/global/win/filepicker.css
index 2ee22e856be50..61c48c7febce7 100644
--- a/themes/classic/global/win/filepicker.css
+++ b/themes/classic/global/win/filepicker.css
@@ -58,3 +58,14 @@ outlinerchildren:-moz-outliner-image(FilenameColumn, file) {
   border-color: #000000;
 } 
 
+/* ::::: button items ::::: */
+
+.up-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-up.gif");
+  max-width: 36px;
+}
+
+.home-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-home.gif");
+  max-width: 36px;
+}
diff --git a/themes/classic/jar.mn b/themes/classic/jar.mn
index 2492612fbf404..fa1c51b45909a 100644
--- a/themes/classic/jar.mn
+++ b/themes/classic/jar.mn
@@ -111,6 +111,8 @@ classic.jar:
   skin/classic/global/filepicker/blank.gif                              (global/filepicker/blank.gif)
   skin/classic/global/filepicker/dir-closed.gif                         (global/filepicker/dir-closed.gif)
   skin/classic/global/filepicker/dir-open.gif                           (global/filepicker/dir-open.gif)
+  skin/classic/global/filepicker/folder-up.gif                          (global/filepicker/folder-up.gif)
+  skin/classic/global/filepicker/folder-home.gif                        (global/filepicker/folder-home.gif)
   skin/classic/global/arrow/arrow-dn-dis.gif                            (global/arrow/arrow-dn-dis.gif)
   skin/classic/global/arrow/arrow-dn-hov.gif                            (global/arrow/arrow-dn-hov.gif)
   skin/classic/global/arrow/arrow-dn-sharp.gif                          (global/arrow/arrow-dn-sharp.gif)
diff --git a/themes/modern/global/filepicker.css b/themes/modern/global/filepicker.css
index 9c2b5171bc59b..94eee77016ade 100644
--- a/themes/modern/global/filepicker.css
+++ b/themes/modern/global/filepicker.css
@@ -73,3 +73,14 @@ outlinerchildren:-moz-outliner-image(FilenameColumn, file) {
   border-color: #000000;
 }
 
+/* ::::: button items ::::: */
+
+.up-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-up.gif");
+  max-width: 36px;
+}
+
+.home-button {
+  list-style-image: url("chrome://global/skin/filepicker/folder-home.gif");
+  max-width: 36px;
+}
diff --git a/themes/modern/global/filepicker/folder-home.gif b/themes/modern/global/filepicker/folder-home.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9fad4cc8347c4b1a00d8e0caebca7e615399a3d
GIT binary patch
literal 632
zcmaKqSx*xI6osb*G(jeDL9K{OT~MST2$e-tG_olw#+aDs3lGF66XUZ6qYxp00TUx8
zKw>b_2P2fVG;Ohz&J?;(y0=58r88ZpEu|DXrBmwk4|pEG+?;!I?yYaEtEg<r2KECG
z0Q{O1H9u?Bno*N=&AR4Xb9!7}KM@Fp!kdxpXly6GySqye1dx$yvN{}2FA)rFZAbs`
z#Nz_#%wL&cK_Ql@rAqD6iZPi?PNd+XK&lWgsv)IrS&!(<s2O!w9WIB<>-GiwLE1U8
z6HjS$c78$#@x+TlsdAp4SLx&$liGmjEjHBQ!rVR&5eTerY;4jC$#|Ta6hcBs39EE!
z!>R?vP|W2ag5k}rI7N-lN@nMm6dIEru~}@G4RhmeUz8+A`I1Qyv|?PPbB7~aQ8GqR
z)L06_B1i=<>lIp)0kI=C%<B&ZLt%<aOo?DwiklG|ZpYoYhoFn#OXMP0<@69<|2j#V
zBobr%g{e7s4pvFz8riZzsWoeiR^zH2vEx4fIvtse#S)3c*AXsV%YVd*r86>tHh>M#
zO5Ft5tA7VDKD4*DeeCRFWcBoBfsC%tZQTbCWgk9rl-V)FIQAvyc<zal%u}aXXU?8G
zpLgIw-|)mx-=`T~&&BEdO9kx0A`mQLT`4W&TrIB<R2Ebff|sko>o-boa%#$NP2aAp
zssfAdRM&#_4VIclwEONotjO6^TL(7W=RA1WJpJfL8MFMiy?@Ws@rX9<mAo$>=NEG|
z_I(5GEyKmnvs=3dO7I-sce11D8@oj@$nD7MWpY4M=bOj<O@r*$E;aYb&lf}QGu~#t
Pq(5wBB%?Gv4Y>9Xa$K6L

literal 0
HcmV?d00001

diff --git a/themes/modern/global/filepicker/folder-up.gif b/themes/modern/global/filepicker/folder-up.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0cfb9612d74b0792ab6d4705ea89d8fee78138a2
GIT binary patch
literal 627
zcmaKp+fPyf9LEn`teI?OmYP~>7fVetGq0IxXj+z5FU>VaTdkgYt{2;~(n-yAS-sdx
z5BZc9ir@eP<Qxz<B6m1&xE$^W5b*-YK|A~deIGyj?fd)g`|a%NsBd8800#jO04Amd
zz5S0hCe&zkSRHPM+vo8I@lYfZU0dIbCAN~=+uJyf1A7aNR;SbL$HS40&DbxF@DEQi
z`&Y_aPza?eiBhw;Y}nb^VWpvrCs7DxDp09i(ji(CYC@e>r^o5>djp|hm~>v>N~Sf*
z6|wjrM=0Y<lp^vT*2>jJl^)TVZK%_Oc>_K?6k1tbT_YdHlSyKl5As1J1Z!1#iy6gG
z%;Uqu(Y1{vK}>SRT+yOJZPXz)vkkLhUY9ozi^nJD#M1(B*<c}aN7pxE@dQB-Q)vhZ
zKp0xmDKthsVn=M4KNt>2q6Cqe5kS&3Hz78c-Q{)paI%Owv0MPbZXfOsuEa@`RBCE&
zVP+nhhhVW>EnU(pH72#eYOvT5yDJb}AtT2ViBu}}^~Z0rmj9?Ev4@fg3<8w^sq`km
zKGiFL@_J}!@ZInTC5!n!i%J>!I5?VpIOoXG+`KpAl>9Hp3JQyk=bb1nDLr}W^qE6t
zW8YchV;^QY%(Lus<rS6Zt7sRhOD@)2s=ZuS&uge?q&Cr-tFN@wT&-=byT)#7Xs2S=
zo9P{$H_WYF=xFy%EPBi9@2S0gr<dJ#xBVV<;y&Y%ySuUSLG+np);+Mh>f!#EiCr0t
zZ)FE^>88>r%;pyZ($BJNP?6vNR6X3sdfQV__uM|j{6vQf8`%M$MaKFGX8<jkMdh^i
HVxZ|C7TTHS

literal 0
HcmV?d00001

diff --git a/themes/modern/jar.mn b/themes/modern/jar.mn
index 8699ef6d88500..50c648775ef6a 100644
--- a/themes/modern/jar.mn
+++ b/themes/modern/jar.mn
@@ -185,6 +185,8 @@ modern.jar:
   skin/modern/global/filepicker/blank.gif                          (global/filepicker/blank.gif)
   skin/modern/global/filepicker/dir-closed.gif                     (global/filepicker/dir-closed.gif)
   skin/modern/global/filepicker/dir-open.gif                       (global/filepicker/dir-open.gif)
+  skin/modern/global/filepicker/folder-up.gif                      (global/filepicker/folder-up.gif)
+  skin/modern/global/filepicker/folder-home.gif                    (global/filepicker/folder-home.gif)
   skin/modern/global/icons/alert-error.gif                         (global/icons/alert-error.gif)
   skin/modern/global/icons/alert-exclam.gif                        (global/icons/alert-exclam.gif)
   skin/modern/global/icons/alert-message.gif                       (global/icons/alert-message.gif)
diff --git a/xpfe/components/filepicker/res/content/filepicker.js b/xpfe/components/filepicker/res/content/filepicker.js
index 2ec8b39675c1b..ef9ad80fa8aed 100644
--- a/xpfe/components/filepicker/res/content/filepicker.js
+++ b/xpfe/components/filepicker/res/content/filepicker.js
@@ -554,6 +554,10 @@ function goUp() {
   }
 }
 
+function goHome() {
+  gotoDirectory(homeDir);
+}
+
 function gotoDirectory(directory) {
   window.setCursor("wait");
   try {
diff --git a/xpfe/components/filepicker/res/content/filepicker.xul b/xpfe/components/filepicker/res/content/filepicker.xul
index 7c1c819c32ee2..e9a0ada546e0e 100644
--- a/xpfe/components/filepicker/res/content/filepicker.xul
+++ b/xpfe/components/filepicker/res/content/filepicker.xul
@@ -47,6 +47,8 @@
   <menulist id="lookInMenuList" flex="1" oncommand="onDirectoryChanged(event.target);" crop="start">
     <menupopup id="lookInMenu"/>
   </menulist>
+  <button id="folderUpButton" class="up-button" tooltiptext="&folderUp.tooltiptext;" oncommand="goUp();"/>
+  <button id="homeButton" class="home-button" tooltiptext="&folderHome.tooltiptext;" oncommand="goHome();"/>
 </hbox>
 
 <hbox flex="1">
diff --git a/xpfe/components/filepicker/res/locale/en-US/filepicker.dtd b/xpfe/components/filepicker/res/locale/en-US/filepicker.dtd
index 911f8c8453856..344d19a443d3e 100644
--- a/xpfe/components/filepicker/res/locale/en-US/filepicker.dtd
+++ b/xpfe/components/filepicker/res/locale/en-US/filepicker.dtd
@@ -8,3 +8,6 @@
 <!ENTITY showHiddenFiles.label  "Show hidden files and directories">
 
 <!ENTITY noPermissionError.label "You do not have the permissions necessary to view this directory.">
+
+<!ENTITY folderUp.tooltiptext   "Go up a level">
+<!ENTITY folderHome.tooltiptext "Go to home"> 
-- 
GitLab