mirror of
https://github.com/ManchildProductions/binoc-central-mirror.git
synced 2026-06-11 12:28:42 +00:00
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/*
|
|
* This object provides you a way to have a synthetic nsIMsgDBView for a single
|
|
* message header.
|
|
*/
|
|
|
|
var EXPORTED_SYMBOLS = ["MsgHdrSyntheticView"];
|
|
|
|
var Ci = Components.interfaces;
|
|
var Cr = Components.results;
|
|
var Cu = Components.utils;
|
|
|
|
/**
|
|
* Create a synthetic view suitable for passing to |FolderDisplayWidget.show|.
|
|
* You must pass a single message header in.
|
|
*
|
|
* @param aMsgHdr The message header to create the synthetic view for.
|
|
*/
|
|
function MsgHdrSyntheticView(aMsgHdr) {
|
|
this.msgHdr = aMsgHdr;
|
|
|
|
this.customColumns = [];
|
|
}
|
|
|
|
MsgHdrSyntheticView.prototype = {
|
|
defaultSort: [[Ci.nsMsgViewSortType.byDate, Ci.nsMsgViewSortOrder.descending]],
|
|
|
|
/**
|
|
* Request the search be performed and notifications provided to
|
|
* aSearchListener. Since we already have the result with us, this is
|
|
* synchronous.
|
|
*/
|
|
search: function MsgHdrSyntheticView_search(aSearchListener,
|
|
aCompletionCallback) {
|
|
this.searchListener = aSearchListener;
|
|
this.completionCallback = aCompletionCallback;
|
|
aSearchListener.onNewSearch();
|
|
aSearchListener.onSearchHit(this.msgHdr, this.msgHdr.folder);
|
|
// we're not really aborting, but it closes things out nicely
|
|
this.abortSearch();
|
|
},
|
|
|
|
/**
|
|
* Aborts or completes the search -- we do not make a distinction.
|
|
*/
|
|
abortSearch: function MsgHdrSyntheticView_abortSearch() {
|
|
if (this.searchListener)
|
|
this.searchListener.onSearchDone(Cr.NS_OK);
|
|
if (this.completionCallback)
|
|
this.completionCallback();
|
|
this.searchListener = null;
|
|
this.completionCallback = null;
|
|
},
|
|
|
|
/**
|
|
* Helper function used by |DBViewWrapper.getMsgHdrForMessageID|.
|
|
*/
|
|
getMsgHdrForMessageID: function MsgHdrSyntheticView_getMsgHdrForMessageID(
|
|
aMessageId) {
|
|
if (this.msgHdr.messageId == aMessageId)
|
|
return this.msgHdr;
|
|
|
|
return null;
|
|
}
|
|
};
|