diff --git a/mail/extensions/smime/content/am-smime.js b/mail/extensions/smime/content/am-smime.js index 1590e06b2f21..1e2ff7dc2683 100644 --- a/mail/extensions/smime/content/am-smime.js +++ b/mail/extensions/smime/content/am-smime.js @@ -408,4 +408,19 @@ function openCertManager() else window.open('chrome://pippki/content/certManager.xul', "", 'chrome,height=400,centerscreen,resizable=yes,dialog=no'); -} \ No newline at end of file +} + +function openDeviceManager() +{ + //check for an existing deviceManger window and focus it; it's not application modal + const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1"; + const kWindowMediatorIID = Components.interfaces.nsIWindowMediator; + const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID); + var lastCertManager = kWindowMediator.getMostRecentWindow("mozilla:devicemanager"); + if (lastCertManager) + lastCertManager.focus(); + else { + window.open('chrome://pippki/content/device_manager.xul', "devmgr", + 'chrome,height=400,centerscreen,resizable=yes,dialog=no'); + } +} diff --git a/mail/extensions/smime/content/am-smime.xul b/mail/extensions/smime/content/am-smime.xul index 264cf0a73970..2b9e7826fe5a 100644 --- a/mail/extensions/smime/content/am-smime.xul +++ b/mail/extensions/smime/content/am-smime.xul @@ -98,12 +98,16 @@ - &managecerts.text;