diff --git a/mozilla/xpfe/components/filepicker/res/content/filepicker.js b/mozilla/xpfe/components/filepicker/res/content/filepicker.js index bb0af1b2fad..f91b5851d12 100644 --- a/mozilla/xpfe/components/filepicker/res/content/filepicker.js +++ b/mozilla/xpfe/components/filepicker/res/content/filepicker.js @@ -76,7 +76,9 @@ function filepickerLoad() { if ((filePickerMode == nsIFilePicker.modeOpen) || (filePickerMode == nsIFilePicker.modeSave)) { + window.setCursor("wait"); outlinerView.setFilter(filterTypes[0]); + window.setCursor("auto"); /* build filter popup */ var filterPopup = document.createElement("menupopup"); @@ -152,7 +154,9 @@ function filepickerLoad() { function onFilterChanged(target) { var filterTypes = target.getAttribute("filters"); + window.setCursor("wait"); outlinerView.setFilter(filterTypes); + window.setCursor("auto"); } function onOK() @@ -313,13 +317,13 @@ function convertColumnIDtoSortType(columnID) { switch (columnID) { case "FilenameColumn": - sortKey = sortType_name; + sortKey = nsFileView.SORTTYPE_NAME; break; case "FileSizeColumn": - sortKey = sortType_size; + sortKey = nsFileView.SORTTYPE_SIZE; break; case "LastModifiedColumn": - sortKey = sortType_date; + sortKey = nsFileView.SORTTYPE_DATE; break; default: dump("unsupported sort column: " + columnID + "\n"); @@ -332,12 +336,8 @@ function convertColumnIDtoSortType(columnID) { function handleColumnClick(columnID) { var sortType = convertColumnIDtoSortType(columnID); - if (outlinerView.sortType == sortType) { - // reverse the current sort - outlinerView.sort(outlinerView.sortType, !outlinerView.reverseSort, false); - } else { - outlinerView.sort(sortType, false, false); - } + var sortOrder = (outlinerView.sortType == sortType) ? !outlinerView.reverseSort : false; + outlinerView.sort(sortType, sortOrder, false); // set the sort indicator on the column we are sorted by var sortedColumn = document.getElementById(columnID); @@ -456,7 +456,9 @@ function goUp() { function gotoDirectory(directory) { addToHistory(directory.unicodePath); + window.setCursor("wait"); outlinerView.setDirectory(directory.unicodePath); + window.setCursor("auto"); sfile = directory; } diff --git a/mozilla/xpfe/components/filepicker/res/content/nsFileView.js b/mozilla/xpfe/components/filepicker/res/content/nsFileView.js index e0ce98a8b2e..6cb58b52ea7 100644 --- a/mozilla/xpfe/components/filepicker/res/content/nsFileView.js +++ b/mozilla/xpfe/components/filepicker/res/content/nsFileView.js @@ -34,10 +34,6 @@ const nsAtomService_CONTRACTID = "@mozilla.org/atom-service;1"; var gDateService = null; -const sortType_name = 1; -const sortType_size = 2; -const sortType_date = 3; - function numMatchingChars(str1, str2) { for (var i = 0; ((i < Math.min(str1.length, str2.length)) && (str1[i] == str2[i])); i++); return i; @@ -97,6 +93,10 @@ function nsFileView() { nsFileView.prototype = { + SORTTYPE_NAME: 1, + SORTTYPE_SIZE: 2, + SORTTYPE_DATE: 3, + /* readonly attribute long rowCount; */ set rowCount(c) { throw "readonly property"; }, get rowCount() { return this.mTotalRows; }, @@ -301,7 +301,7 @@ nsFileView.prototype = { case 0: /* no sort has been set yet */ return; - case sortType_name: + case nsFileView.SORTTYPE_NAME: for (i = 0; i < this.mDirList.length; i++) { this.mDirList[i].cachedName = this.mDirList[i].file.unicodeLeafName; } @@ -310,7 +310,7 @@ nsFileView.prototype = { } compareFunc = sortFilename; break; - case sortType_size: + case nsFileView.SORTTYPE_SIZE: for (i = 0; i < this.mDirList.length; i++) { this.mDirList[i].cachedSize = this.mDirList[i].file.fileSize; } @@ -319,7 +319,7 @@ nsFileView.prototype = { } compareFunc = sortSize; break; - case sortType_date: + case nsFileView.SORTTYPE_DATE: for (i = 0; i < this.mDirList.length; i++) { this.mDirList[i].cachedDate = this.mDirList[i].file.lastModificationDate; }