-
Notifications
You must be signed in to change notification settings - Fork 23
/
search.txt
73 lines (63 loc) · 1.98 KB
/
search.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
SearchDialog.js:
function onSearchStop() {
gFolderDisplay.view.search.session.interruptSearch();
}
onSearch() {
DBViewWrapper...
}
quickFilterBar.js:
updateSearch
filterer.createSearchTerms(tab.folderDisplay.view.search.session);
new QuickFilterSearchListener
(onSearchHit... msg)
tab.folderDisplay.view.search.userTerms = terms; //==>_applyViewChanges
FilterListDialog.js
runSelectedFilters
filterService = nsIMsgFilterService
filterService.applyFiltersToFolders
module dbViewWrapper
function DBViewWrapper(aListener) {
_applyViewChanges
if (this._viewUpdateDepth)
return;
// make the d
this.listener.onDestroyingView(true); // we will re-create it!
this.search.dissociateView(this.dbView);
...
this.listener.onCreatedView();
// this ends up being a no-op if there are no search terms
this.search.associateView(this.dbView);
if (!this.searching && !this.folderLoading)
this.listener.onAllMessagesLoaded();
module searchSpec:
get session()
if (this._session == null) {
this._session =Cc["@mozilla.org/messenger/searchSession;1"].createInstance(Ci.nsIMsgSearchSession);
}
onSearchDone: function SearchSpecListener_onSearchDone(aStatus) {
this.searchSpec.owner.searching = false;
}
associateView
updateSession
session.appendTerm(term);
customTerm.getAvailable
session.addScopeTerm(scope, folder);
registerListener
this.session.search(this.owner.listener.msgWindow);
dissociateView
if (this.owner.searching)
this.session.interruptSearch();
this._session.unregisterListener(aDBView);
set virtualFolderTerms
set userTerms
set viewTerms
clear
owner._applyViewChanges
search.xml
gloda
messenger.css
.quick-search-button {
-moz-binding: url("chrome://messenger/content/search.xml#searchBarDropMarker");
cursor: default;
-moz-user-focus: none;
}