mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-22 20:33:10 +09:00
99 lines
2.4 KiB
JavaScript
99 lines
2.4 KiB
JavaScript
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* 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/. */
|
|
|
|
Components.utils.import("resource:///modules/MailUtils.js");
|
|
|
|
var gMessengerBundle;
|
|
|
|
// call this from dialog onload() to set the menu item to the correct value
|
|
function MsgFolderPickerOnLoad(pickerID)
|
|
{
|
|
var uri = null;
|
|
try {
|
|
uri = window.arguments[0].preselectedURI;
|
|
}
|
|
catch (ex) {
|
|
uri = null;
|
|
}
|
|
|
|
if (uri) {
|
|
//dump("on loading, set titled button to " + uri + "\n");
|
|
|
|
// verify that the value we are attempting to
|
|
// pre-flight the menu with is valid for this
|
|
// picker type
|
|
var msgfolder = MailUtils.getFolderForURI(uri, true);
|
|
if (!msgfolder) return;
|
|
|
|
var verifyFunction = null;
|
|
|
|
switch (pickerID) {
|
|
case "msgNewFolderPicker":
|
|
verifyFunction = msgfolder.canCreateSubfolders;
|
|
break;
|
|
case "msgRenameFolderPicker":
|
|
verifyFunction = msgfolder.canRename;
|
|
break;
|
|
default:
|
|
verifyFunction = msgfolder.canFileMessages;
|
|
break;
|
|
}
|
|
|
|
if (verifyFunction) {
|
|
SetFolderPicker(uri,pickerID);
|
|
}
|
|
}
|
|
}
|
|
|
|
function PickedMsgFolder(selection,pickerID)
|
|
{
|
|
var selectedUri = selection.getAttribute('id');
|
|
SetFolderPicker(selectedUri,pickerID);
|
|
}
|
|
|
|
function SetFolderPickerElement(uri, picker)
|
|
{
|
|
var msgfolder = MailUtils.getFolderForURI(uri, true);
|
|
|
|
if (!msgfolder)
|
|
return;
|
|
|
|
var selectedValue = null;
|
|
var serverName;
|
|
|
|
if (msgfolder.isServer)
|
|
selectedValue = msgfolder.name;
|
|
else {
|
|
if (msgfolder.server)
|
|
serverName = msgfolder.server.prettyName;
|
|
else {
|
|
dump("Can't find server for " + uri + "\n");
|
|
serverName = "???";
|
|
}
|
|
|
|
switch (picker.id) {
|
|
case "runFiltersFolder":
|
|
selectedValue = msgfolder.name;
|
|
break;
|
|
case "msgTrashFolderPicker":
|
|
selectedValue = msgfolder.name;
|
|
break;
|
|
default:
|
|
if (!gMessengerBundle)
|
|
gMessengerBundle = document.getElementById("bundle_messenger");
|
|
selectedValue = gMessengerBundle.getFormattedString("verboseFolderFormat",
|
|
[msgfolder.name, serverName]);
|
|
break;
|
|
}
|
|
}
|
|
|
|
picker.setAttribute("label",selectedValue);
|
|
picker.setAttribute("uri",uri);
|
|
}
|
|
|
|
function SetFolderPicker(uri,pickerID)
|
|
{
|
|
SetFolderPickerElement(uri, document.getElementById(pickerID));
|
|
}
|