4,380 bytes added ,  15 November 2008
mNo edit summary
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'jminta' is Joey Minta.
irc: jminta
mail: add @gmail.com


=== Random notes ===
*[[User:Jminta/Steel | Steel]]
*[[User:Jminta/Private_Browsing | Private Browsing]]
*[[User:Jminta:QA_Scratchpad | Bug 358985]]
*[[User:Jminta/Mail_XPCOMUtils | Writing XPCOMUtils patches for mail]]
*[[User:Jminta/Account_Manager_Notes | Random musings on improving TB's acct mgr]]
*[[User:Jminta/Feeds | Feed architecture]]
*[[User:Jminta/MozMill_in_TB | MozMill in TB]]
=== Scratchpad ===
SearchDialog.js has a dependency map that looks something like:
(as of 6/20/2008)
<pre>
*  commandglue.js
*    isNewsUri
*    MSG_FOLDER_FLAG_VIRTUAL
*  mailWindowOverlay.js
*    MsgOpenSelectedMessages
*      -GetDBView (SearchDialog.js)
*      -GetSelectedIndices (msgMail3PaneWindow.js)
*      -gPrefBranch (mailWindowOverlay.js)
*      -MsgOpenSelectedMessageInExistingWindow (mailWindowOverlay.js)
*        -GetWindowByWindowType (mailWindowOverlay.js)
*      -gMessengerBundle (SearchDialog.js)
*      -MsgOpenNewWindowForMessage (mailWindowOverlay.js)
*        -(none if passed a message-uri and folder-uri)
*    MsgOpenNewWindowForMsgHdr
*      -MsgOpenNewWindowForFolder (mailWindowOverlay.js)
*        -(none if passed a uri)
*  threadPane.js
*    GetThreadTree
*    EnsureRowInThreadTreeIsVisible
*      -GetThreadTree (threadPane.js)
*  searchTermOverlay.js
*    initializeSearchWidgets
*    onMore
*      -getSearchRowIndexForElement (searchTermOverlay.js)
*        -gSearchTermList (searchTermOverlay.js)
*      -createSearchRow (searchTermOverlay.js)
*      -gTotalSearchTerms (searchTermOverlay.js)
*      -updateRemoveRowButton (searchTermOverlay.js)
*    hideMatchAllItem
*    onReset
*      -onMore (searchTermOverlay.js)
*        -(see above)
*      -removeSearchRow (searchTermOverlay.js)
*      -gSearchTermList (searchTermOverlay.js)
*    setSearchScope
*      -gSearchScope (searchTermOverlay.js)
*      -gSearchTerms (searchTermOverlay.js)
*    updateSearchAttributes
*      -gSearchTerms (searchTermOverlay.js)
*  mailWindow.js
*    CreateMessenger
*    messenger
*    nsStatusFeedback
*  msgFolderPickerOverlay.js
*    SetFolderPicker
*      -SetFolderPickerElement (msgFolderPickerOverlay.js)
*        -GetMsgFolderFromURI (widgetglue.js)
*        -gMessengerBundle (SearchDialog.js)
*  mailCommands.js
*    mailSessionContractID
</pre>
calls from SearchDialog.xul expands this by
<pre>
*  globalOverlay.js
*    goDoCommand
*  threadPane.js
*    ThreadPaneKeyPress
*      -ThreadPaneDoubleClick (threadpane.js)
*        -IsSpecialFolderSelected (threadpane.js)
*          -GetThreadPaneFolder (threadpane.js)
*        -MSG_FOLDER_FLAG_DRAFTS (commandglue.js)
*        -MsgComposeDraftMessage (threadpane.js)
*        -MSG_FOLDER_FLAG_TEMPLATES (commandglue.js)
*        -GetLoadedMsgFolder (msgMail3PaneWindow.js)
*        -GetSelectedMessages (msgMail3PaneWindow.js)
*        -ComposeMessage (mailCommands.js)
*          -getIdentityForServer (mailCommmands.js)
*          -msgComposeService (mailWindow.js)
*          -accountManager (mailWindow.js)
*        -MsgOpenSelectedMessages (mailWindowOverlay.js)
*          -(see above)
*    ThreadPaneSelectionChanged
*      -gMsgFolderSelected (commandglue.js)
*      -UpdateStatusMessageCounts (commandglue.js)
</pre>
SearchDialog.xul also imports 2 overlays, searchTermOverlay.xul, which adds the following dependecies
<pre>
* searchTermOverlay.js
*  booleanChanged
*    -setSearchScope (searchTermOverlay.js)
*      -(see above)
*    -GetScopeForDirectoryURI (searchTermOverlay.js)
*    -onMore
*      -(see above)
*    -updateSearchTermsListbox (searchTermOverlay.js)
</pre>
and utilityOverlay.xul, which adds the following dependencies
<pre>
* utilityOverlay.js
*  goToggleToolbar
*  goUpdateGlobalEditMenuItems
*  goUpdateSelectEditMenuItem
*  goUpdateUndoEditMenuItems
*  goUpdatePasteMenuItems
* globalOverlay.js
*  goQuitApplication
*  goDoCommand
</pre>
Additionally, the dialog uses widgets defined in searchWidgets.xml, which have the following additional dependencies
<pre>
* FilterEditor.js
*  getScopeFromFilterList
*  gFilterActionStrings
*  gPromptService
*  gFilter
*  GetFilterEditorMsgWindow
* msgFolderPickeryOverlay.js
*  SetFolderPickerElement
* widgetglue.js
*  GetMsgFolderFromUri
</pre>
289

edits