<?xml version="1.0"?>
<!--
 * ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "MPL"); you may not use this file
 * except in compliance with the MPL. You may obtain a copy of
 * the MPL at http://www.mozilla.org/MPL/
 *
 * Software distributed under the MPL is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the MPL for the specific language governing
 * rights and limitations under the MPL.
 *
 * The Original Code is Enigmail.
 *
 * The Initial Developer of the Original Code is Patrick Brunschwig.
 * Portions created by Patrick Brunschwig <patrick@enigmail.net> are
 * Copyright (C) 2003 Patrick Brunschwig. All Rights Reserved.
 *
 * Contributor(s):
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 * ***** END LICENSE BLOCK ***** *
-->

<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://enigmail/skin/enigmail.css" type="text/css"?>

<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % enigMailDTD SYSTEM "chrome://enigmail/locale/enigmail.dtd" >
%enigMailDTD;
]>

<dialog id="enigmailDispPhoto"
        title="&enigmail.photoViewer.title;"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        onload="onLoad();"
        ondialogaccept="return window.close();"
        width="500px"
        height="400px"
        buttons="accept">
  <script type="application/x-javascript" src="chrome://enigmail/content/enigmailCommon.js"/>

  <script type="application/x-javascript">
  <![CDATA[

    var repaintCount=0;
    var keyId;
    function onLoad() {
      window.addEventListener("MozAfterPaint", resizeDlg, false);

      var keyListObj = new Object();
      EnigLoadKeyList(false, keyListObj);

      var userIdList=window.arguments[0].userId.split(/\r?\n/);
      keyId = window.arguments[0].keyId;
      var uid = document.getElementById("uidContainer");
      document.getElementById("photoImage").setAttribute("src", window.arguments[0].photoUri);
      for (var i=0; i< userIdList.length; i++) {
        var l=document.createElement("label");
        l.setAttribute("value", userIdList[i]);
        uid.appendChild(l);
      }
      document.getElementById("keyId").setAttribute("value", EnigGetString("keyId")+": 0x"+keyId);
      document.getElementById("keyValidity").setAttribute("value", EnigGetTrustLabel(EnigGetTrustCode(keyListObj.keyList[keyId])));
    }

    function resizeDlg(event) {
      ++repaintCount;
      window.sizeToContent();
      if (repaintCount > 3) {
        removeListener();
      }
    }

    function removeListener() {
      window.removeEventListener("MozAfterPaint", resizeDlg, false);
    }

    function displayKeyProps() {
      EnigDisplayKeyDetails(keyId, false);
    }

  ]]>
  </script>

  <hbox align="center">
    <vbox align="center">
      <hbox align="center">
        <groupbox autostretch="always">
          <image id="photoImage" maxwidth="350px" maxheight="300px"/>
        </groupbox>
      </hbox>
    </vbox>
    <vbox>
      <vbox autostretch="always" id="uidContainer"/>
      <label id="keyId"/>
      <hbox align="start">
        <label value="Key validity: "/>
        <label id="keyValidity"/>
      </hbox>
      <separator/>
      <hbox align="end">
        <button label="&enigmail.displayKeyProperties.label;" oncommand="displayKeyProps()"/>
      </hbox>
    </vbox>
  </hbox>
</dialog>

