Skip to content

Commit 56d2776

Browse files
committed
Improve startup behavior
- Ensures that the selected folder is on the screen after refreshing the pane. - Select startup folder after that. - Display the URI as well as the pretty name in the startup folder picker. - Revision 2.2.3
1 parent 04cd543 commit 56d2776

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

content/folderPane.js

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,22 @@
157157
};
158158
myPrefObserver.register();
159159

160+
/* Refresh pane */
161+
function refreshPane(win) {
162+
try { win.gFolderTreeView._rebuild(); }
163+
catch (e) { setTimeout(refreshPane, 5, win); }
164+
}
165+
for (let win of Services.wm.getEnumerator("mail:3pane")) {
166+
refreshPane(win);
167+
}
168+
169+
/* Ensures that the selected folder is on the screen. */
170+
{
171+
const selected = gFolderTreeView.getSelectedFolders()[0];
172+
if (selected) {
173+
gFolderTreeView._treeElement.ensureRowIsVisible(gFolderTreeView.getIndexOfFolder(selected));
174+
}
175+
}
160176

161177
/* For default startup folder */
162178
const startup_folder = tbsf_prefs.getStringPref("startup_folder");
@@ -182,7 +198,7 @@
182198
if (firstRun && inRestoreTab) {
183199
const folder = MailUtils.getExistingFolder(startup_folder);
184200
if (folder)
185-
oldSelectFolder.call(this, folder, true);
201+
oldSelectFolder.call(this, folder);
186202
else
187203
oldSelectFolder.call(this, x, y);
188204
firstRun = false;
@@ -197,18 +213,13 @@
197213
*/
198214
const folder = MailUtils.getExistingFolder(startup_folder);
199215
if (folder) {
200-
gFolderTreeView.selectFolder(folder, true);
216+
if (!gFolderTreeView.selectFolder(folder)) {
217+
tblog.debug("selectFolder failed");
218+
}
219+
} else {
220+
tblog.debug(startup_folder+" not found");
201221
}
202222
}
203223
}
204224

205-
/* Refresh pane */
206-
function refreshPane(win) {
207-
try { win.gFolderTreeView._rebuild(); }
208-
catch (e) { setTimeout(refreshPane, 5, win); }
209-
}
210-
for (let win of Services.wm.getEnumerator("mail:3pane")) {
211-
refreshPane(win);
212-
}
213-
214225
})()

content/ui.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -781,7 +781,7 @@ function on_pick_folder(aEvent) {
781781
let folder = aEvent.target._folder;
782782
let picker = document.getElementById("startupFolder");
783783
picker.folder = folder;
784-
picker.setAttribute("label", folder.prettyName);
784+
picker.setAttribute("label", folder.prettyName+' ('+folder.URI+')');
785785
tbsf_prefs.setStringPref("startup_folder", folder.URI);
786786
}
787787

@@ -793,7 +793,7 @@ function extra_on_load() {
793793
folder = MailUtils.getExistingFolder(startup_folder);
794794
if (folder) {
795795
picker.folder = folder;
796-
picker.setAttribute("label", folder.prettyName);
796+
picker.setAttribute("label", folder.prettyName+' ('+folder.URI+')');
797797
} else {
798798
let menu = document.getElementById("startup_folder_method");
799799
menu.value = "0";
@@ -816,4 +816,5 @@ function on_startup_folder_method_changed() {
816816
tbsf_prefs.setStringPref("startup_folder", "");
817817
}
818818
document.getElementById("startup_folder_notice").style.display = notice ? "" : "none";
819+
819820
}

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 2,
33
"name": "Manually sort folders",
44
"description": "An extension that allows you to change the way Thunderbird sorts folders in the folder pane.",
5-
"version": "2.2.2",
5+
"version": "2.2.3",
66
"author": "Jonathan Protzenko and Itagaki Fumihiko",
77
"homepage_url": "https://github.com/protz/Manually-Sort-Folders/wiki",
88
"applications": {

0 commit comments

Comments
 (0)