Bug #261199 --> Start porting the saved search folder UI from thunderbird to seamonkey
sr=bienvenu git-svn-id: svn://10.0.0.236/trunk@164006 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
d371468847
commit
4f669368f2
@ -192,6 +192,47 @@ function MsgCompactFolder(isAll)
|
||||
}
|
||||
}
|
||||
|
||||
function openNewVirtualFolderDialogWithArgs(defaultViewName, aSearchTerms)
|
||||
{
|
||||
var folderURI = GetSelectedFolderURI();
|
||||
var folderTree = GetFolderTree();
|
||||
var name = GetFolderNameFromUri(folderURI, folderTree);
|
||||
name += "-" + defaultViewName;
|
||||
|
||||
var dialog = window.openDialog("chrome://messenger/content/virtualFolderProperties.xul", "",
|
||||
"chrome,titlebar,modal,centerscreen",
|
||||
{preselectedURI:folderURI,
|
||||
searchTerms:aSearchTerms,
|
||||
newFolderName:name});
|
||||
}
|
||||
|
||||
|
||||
function MsgVirtualFolderProperties(aEditExistingVFolder)
|
||||
{
|
||||
var preselectedFolder = GetFirstSelectedMsgFolder();
|
||||
var preselectedURI;
|
||||
if(preselectedFolder)
|
||||
{
|
||||
var preselectedFolderResource = preselectedFolder.QueryInterface(Components.interfaces.nsIRDFResource);
|
||||
if(preselectedFolderResource)
|
||||
preselectedURI = preselectedFolderResource.Value;
|
||||
}
|
||||
|
||||
var dialog = window.openDialog("chrome://messenger/content/virtualFolderProperties.xul", "",
|
||||
"chrome,titlebar,modal,centerscreen",
|
||||
{preselectedURI:preselectedURI,
|
||||
editExistingFolder: aEditExistingVFolder,
|
||||
onOKCallback:onEditVirtualFolderPropertiesCallback,
|
||||
msgWindow:msgWindow});
|
||||
}
|
||||
|
||||
function onEditVirtualFolderPropertiesCallback(aVirtualFolder)
|
||||
{
|
||||
// we need to reload the folder if it is the currently loaded folder...
|
||||
FolderPaneSelectionChange();
|
||||
}
|
||||
|
||||
|
||||
function MsgFolderProperties()
|
||||
{
|
||||
var preselectedURI = GetSelectedFolderURI();
|
||||
|
||||
@ -140,10 +140,7 @@ var nsSearchResultsController =
|
||||
return true;
|
||||
|
||||
case "saveas_vf_button":
|
||||
// prompt for view name - create virtual folder in ok callback.
|
||||
getViewName("search");
|
||||
|
||||
|
||||
saveAsVirtualFolder();
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@ -790,40 +787,23 @@ function BeginDragThreadPane(event)
|
||||
return false;
|
||||
}
|
||||
|
||||
function getViewName(defaultViewName)
|
||||
function saveAsVirtualFolder()
|
||||
{
|
||||
var preselectedURI = gCurrentFolder.URI;
|
||||
|
||||
var name = gCurrentFolder.name;
|
||||
name += defaultViewName + "-view";
|
||||
dump("preselectedURI = " + preselectedURI + "\n");
|
||||
searchFolderURIs = preselectedURI;
|
||||
|
||||
var searchSubfolders = document.getElementById("checkSearchSubFolders").checked;
|
||||
if (gCurrentFolder && (searchSubfolders || gCurrentFolder.isServer || gCurrentFolder.noSelect))
|
||||
{
|
||||
var subFolderURIs = AddSubFoldersToURI(gCurrentFolder);
|
||||
if (subFolderURIs.length > 0)
|
||||
searchFolderURIs += '|' + subFolderURIs;
|
||||
var subFolderURIs = AddSubFoldersToURI(gCurrentFolder);
|
||||
if (subFolderURIs.length > 0)
|
||||
searchFolderURIs += '|' + subFolderURIs;
|
||||
}
|
||||
|
||||
dump("search folders = " + searchFolderURIs + "\n");
|
||||
|
||||
// need to calculate the uri string of all the folders
|
||||
// to search over, folder1|folder2|folder3...
|
||||
var dialog = window.openDialog(
|
||||
"chrome://messenger/content/virtualFolderName.xul",
|
||||
"newFolder",
|
||||
"chrome,titlebar,modal",
|
||||
{siblingFolderURI: preselectedURI, searchFolderURIs: searchFolderURIs,
|
||||
okCallback: CreateSearchView, name: name});
|
||||
var dialog = window.openDialog("chrome://messenger/content/virtualFolderProperties.xul", "",
|
||||
"chrome,titlebar,modal,centerscreen",
|
||||
{preselectedURI:preselectedURI,
|
||||
searchTerms:gSearchSession.searchTerms,
|
||||
searchFolderURIs: searchFolderURIs});
|
||||
}
|
||||
|
||||
function CreateSearchView(newName, siblingFolderURI, foldersToSearch)
|
||||
{
|
||||
dump ("in create view, new name = " + newName + " orig uri = " + siblingFolderURI + "\n");
|
||||
var siblingFolder = GetResourceFromUri(siblingFolderURI);
|
||||
var siblingMsgFolder = siblingFolder.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
CreateVirtualFolder(newName, siblingMsgFolder.parent ? siblingMsgFolder.parent : siblingMsgFolder,
|
||||
foldersToSearch, gSearchSession.searchTerms);
|
||||
}
|
||||
|
||||
@ -26,8 +26,8 @@
|
||||
<!ENTITY fileButton.accesskey "i">
|
||||
<!ENTITY goToFolderButton.label "Open Message Folder">
|
||||
<!ENTITY goToFolderButton.accesskey "r">
|
||||
<!ENTITY saveAsVFButton.label "Save as Virtual Folder">
|
||||
<!ENTITY saveAsVFButton.accesskey "v">
|
||||
<!ENTITY saveAsVFButton.label "Save as Search Folder">
|
||||
<!ENTITY saveAsVFButton.accesskey "a">
|
||||
|
||||
<!-- for ABSearchDialog.xul -->
|
||||
<!ENTITY abSearchHeading.label "Search in:">
|
||||
|
||||
@ -85,9 +85,9 @@ function viewChange(aMenuList, val)
|
||||
ViewLabel(parseInt(val) - kLabelOffset);
|
||||
break;
|
||||
case "7": // save view as virtual folder
|
||||
getViewName(CreateVFFromView, gCurrentViewLabel);
|
||||
val = oldViewValue;
|
||||
aMenuList.value = val;
|
||||
openNewVirtualFolderDialogWithArgs(gCurrentViewLabel, gSaveDefaultSVTerms);
|
||||
break;
|
||||
default:
|
||||
LoadCustomMailView(parseInt(val) - kLastDefaultViewIndex);
|
||||
@ -110,14 +110,6 @@ function viewChange(aMenuList, val)
|
||||
}
|
||||
}
|
||||
|
||||
function CreateVFFromView(newName, origFolderURI)
|
||||
{
|
||||
var selectedFolder = GetResourceFromUri(origFolderURI);
|
||||
var folderToSearch = selectedFolder.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
|
||||
CreateVirtualFolder(newName, folderToSearch.parent, origFolderURI, gSaveDefaultSVTerms);
|
||||
}
|
||||
|
||||
const kLabelPrefs = "mailnews.labels.description.";
|
||||
|
||||
const gLabelPrefListener = {
|
||||
@ -271,6 +263,7 @@ function ViewLabel(labelID)
|
||||
|
||||
// create an i supports array to store our search terms
|
||||
var searchTermsArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
|
||||
|
||||
var term = gSearchSession.createTerm();
|
||||
var value = term.value;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user