diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-06-24 14:12:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-24 14:12:10 +0200 |
commit | bc0df4c3a545aa2373dd4fc90707d21c2bf852c1 (patch) | |
tree | 83d88c74f4494d1ff70e34c892abe9c52e4e193c | |
parent | 364a399fc1157f73b8a29039a9e7f8d8b7028df5 (diff) | |
parent | 491fc99b92df22595ab6667bb9de0de989f58ab1 (diff) | |
download | UXP-bc0df4c3a545aa2373dd4fc90707d21c2bf852c1.tar UXP-bc0df4c3a545aa2373dd4fc90707d21c2bf852c1.tar.gz UXP-bc0df4c3a545aa2373dd4fc90707d21c2bf852c1.tar.lz UXP-bc0df4c3a545aa2373dd4fc90707d21c2bf852c1.tar.xz UXP-bc0df4c3a545aa2373dd4fc90707d21c2bf852c1.zip |
Merge pull request #543 from janekptacijarabaci/cookies_logins_1
Preferences - Cookies / Saved Passwords - "Remove..." button should not be active if there are no items; "onselect" is not fired twice
3 files changed, 13 insertions, 5 deletions
diff --git a/application/basilisk/components/preferences/cookies.js b/application/basilisk/components/preferences/cookies.js index 921eee4c0..c420855f8 100644 --- a/application/basilisk/components/preferences/cookies.js +++ b/application/basilisk/components/preferences/cookies.js @@ -565,6 +565,8 @@ var gCookiesWindow = { onCookieSelected: function () { var item; var seln = this._tree.view.selection; + var hasRows = this._tree.view.rowCount > 0; + var hasSelection = seln.count > 0; if (!this._view._filtered) item = this._view._getItemAtIndex(seln.currentIndex); else @@ -592,7 +594,7 @@ var gCookiesWindow = { removeSelectedCookies.label = PluralForm.get(selectedCookieCount, buttonLabel) .replace("#1", selectedCookieCount); - removeSelectedCookies.disabled = !(seln.count > 0); + removeSelectedCookies.disabled = !hasRows || !hasSelection; }, performDeletion: function gCookiesWindow_performDeletion(deleteItems) { @@ -806,7 +808,9 @@ var gCookiesWindow = { this._view._invalidateCache(0); this._view.selection.clearSelection(); - this._view.selection.select(0); + if (this._view.rowCount > 0) { + this._view.selection.select(0); + } this._tree.treeBoxObject.invalidate(); this._tree.treeBoxObject.ensureRowIsVisible(0); diff --git a/application/palemoon/components/preferences/cookies.js b/application/palemoon/components/preferences/cookies.js index 4ef30d48e..4fa47ee4e 100644 --- a/application/palemoon/components/preferences/cookies.js +++ b/application/palemoon/components/preferences/cookies.js @@ -540,6 +540,8 @@ var gCookiesWindow = { onCookieSelected: function () { var properties, item; var seln = this._tree.view.selection; + var hasRows = this._tree.view.rowCount > 0; + var hasSelection = seln.count > 0; if (!this._view._filtered) item = this._view._getItemAtIndex(seln.currentIndex); else @@ -570,7 +572,7 @@ var gCookiesWindow = { removeSelectedCookies.label = PluralForm.get(selectedCookieCount, buttonLabel) .replace("#1", selectedCookieCount); - removeSelectedCookies.disabled = !(seln.count > 0); + removeSelectedCookies.disabled = !hasRows || !hasSelection; }, performDeletion: function gCookiesWindow_performDeletion(deleteItems) { @@ -786,7 +788,9 @@ var gCookiesWindow = { this._view._invalidateCache(0); this._view.selection.clearSelection(); - this._view.selection.select(0); + if (this._view.rowCount > 0) { + this._view.selection.select(0); + } this._tree.treeBoxObject.invalidate(); this._tree.treeBoxObject.ensureRowIsVisible(0); diff --git a/toolkit/components/passwordmgr/content/passwordManager.js b/toolkit/components/passwordmgr/content/passwordManager.js index da63d7de8..bd5cebfc4 100644 --- a/toolkit/components/passwordmgr/content/passwordManager.js +++ b/toolkit/components/passwordmgr/content/passwordManager.js @@ -326,7 +326,7 @@ function LoadSignons() { function GetTreeSelections() { let selections = []; let select = signonsTree.view.selection; - if (select) { + if (select && signonsTree.view.rowCount > 0) { let count = select.getRangeCount(); let min = {}; let max = {}; |