<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Prasanta,<div class=""><br class=""></div><div class="">I again tested updated webrev in Windows and Linux and it works as expected.</div><div class=""><br class=""></div><div class="">webrev.1 looks good to me.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Jay<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 20-Jul-2020, at 8:45 PM, Prasanta Sadhukhan <<a href="mailto:prasanta.sadhukhan@oracle.com" class="">prasanta.sadhukhan@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div class=""><p class="">Actually, I was a bit wrong in construing that the button should
      just be disabled for ServiceUI.printDialog if ServiceUIFactory is
      null & getUI(MAIN_ROLE...) is null. <br class="">
    </p><p class="">The "properties" dialog is used for another use-case which is for
      cross-platform dialog also ie, when we have a printer job created
      using (in which case also getUI() will be null for windows)<br class="">
    </p>
    <pre style="background-color: rgb(255, 255, 255); font-family: "Courier New"; font-size: 7.2pt;" class="">PrintRequestAttributeSet pSet =  <span style="color:#000080;font-weight:bold;" class="">new </span>HashPrintRequestAttributeSet();
pSet.add(DialogTypeSelection.<span style="color:#660e7a;font-weight:bold;font-style:italic;" class="">COMMON</span>);
pj.printDialog(pSet);</pre><p class="">And, as per JDK-4673406, it  is likely that supporting this <i class="">"properties"
        sheet will only be possible where there is already a job with
        which</i><i class=""><br class="">
      </i><i class="">
        to make the association. ie using
        java.awt.PrinterJob.printDialog(AttributeSet) and not for direct
        uses with javax.print.ServiceUI.printDialog(..)</i>"</p>
    <div class="moz-cite-prefix">So, ideally, we should be checking if
      we have a printer job in addition to ServiceUIFactory being not
      null to allow creation of association between printer properties
      and the printer job <br class="">
    </div>
    <div class="moz-cite-prefix">so if a PrinterJob cross-platform
      printer-dialog is created, then we should support "Properties"
      dialog. <br class="">
    </div>
    <div class="moz-cite-prefix">If we directly use
      javax.print.ServiceUI.printDialog(..), then in that case no
      printer job will be created, so properties dialog can be disabled
      for that use-case.</div>
    <div class="moz-cite-prefix"><br class="">
    </div>
    <div class="moz-cite-prefix">Modified webrev:
      <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.1/">http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.1/</a></div>
    <div class="moz-cite-prefix"><br class="">
    </div>
    <div class="moz-cite-prefix">Regards</div>
    <div class="moz-cite-prefix">Prasanta<br class="">
    </div>
    <div class="moz-cite-prefix">On 20-Jul-20 3:53 PM, Jayathirth D v
      wrote:<br class="">
    </div>
    <blockquote type="cite" cite="mid:384E7712-4D11-431C-9F4C-FC79188A16F4@ORACLE.COM" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      Hi Prasanta,
      <div class=""><br class="">
      </div>
      <div class="">Is just checking for dialog is null fine or we also
        need to verify DocumentProptiesUI in our case? As done in else
        case when dialog is null at <a href="http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l801" class="" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l801</a> ?</div>
      <div class=""><br class="">
      </div>
      <div class="">I also see that Win32ServiceUIFactory</div>
      <div class="">.getUI() doesnt return null in some specific
        DocumentsPropertyUI at <a href="http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1692" class="" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1692</a> </div>
      <div class=""><br class="">
      </div>
      <div class="">Thanks,</div>
      <div class="">Jay<br class="">
        <div class=""><br class="">
          <blockquote type="cite" class="">
            <div class="">On 17-Jul-2020, at 11:22 AM, Prasanta
              Sadhukhan <<a href="mailto:prasanta.sadhukhan@oracle.com" class="" moz-do-not-send="true">prasanta.sadhukhan@oracle.com</a>>
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div class=""><p class="">Hi Jay,</p><p class="">I am using the same methodology used to
                  determine whether to show the properties dialog when
                  button-clicked on it (which is not to show if dialog
                  is null) as per<br class="">
                </p><p class=""><a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l793" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/fabf11c3a8ca/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l793</a></p><p class="">So, if we cannot show the dialog using that
                  mechanism, we can enable/disable the button itself
                  beforehand using that check.</p>
                Regards<br class="">
                Prasanta.<br class="">
                <div class="moz-cite-prefix">On 16-Jul-20 9:26 PM,
                  Jayathirth D v wrote:<br class="">
                </div>
                <blockquote type="cite" cite="mid:6FFB1DCE-E1F1-490C-A888-6A1FE3490A94@ORACLE.COM" class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  Hi Prasanta,
                  <div class=""><br class="">
                  </div>
                  <div class="">I tested the fix in Mac and Windows and
                    it works as mentioned.</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">In <a href="http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688" class="" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688</a> we
                    are returning null when “role <=
                    ServiceUIFactory.MAIN_UIROLE”. So it covers 3 roles
                    “MAIN_UIROLE”, “ADMIN_UIROLE” and “ABOUT_UIROLE”.</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">In your webrev we are checking only for
                    “<font class="">MAIN_UIROLE”. Is creation of <span style="caret-color: rgb(0, 0, 0);" class="">“</span></font>JDIALOG_UI”
                    restricted only to “<span style="caret-color: rgb(0,
                      0, 0);" class="">MAIN_UIROLE</span>”?</div>
                  <div class=""><br class="">
                  </div>
                  <div class="">Thanks,</div>
                  <div class="">Jay</div>
                  <div class="">
                    <div class=""><br class="">
                      <blockquote type="cite" class="">
                        <div class="">On 15-Jul-2020, at 6:27 PM,
                          Prasanta Sadhukhan <<a href="mailto:prasanta.sadhukhan@oracle.com" class="" moz-do-not-send="true">prasanta.sadhukhan@oracle.com</a>>
                          wrote:</div>
                        <br class="Apple-interchange-newline">
                        <div class="">
                          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
                          <div class=""><p class="">Any reviewer for this?<br class="">
                            </p>
                            <div class="moz-cite-prefix">On 09-Jul-20
                              1:10 PM, Prasanta Sadhukhan wrote:<br class="">
                            </div>
                            <blockquote type="cite" cite="mid:05a59b29-c359-58a0-daa2-e572e52d3e6b@oracle.com" class="">
                              <meta http-equiv="content-type" content="text/html; charset=UTF-8" class=""><p class="">Hi All,</p><p class="">Please review a fix for an
                                issue where "Properties" button in
                                ServiceUI.printDialog is enabled in
                                windows but clicking it doesn't show any
                                dialog.</p><p class="">According to <a href="https://bugs.openjdk.java.net/browse/JDK-4673406" title="RFE: Java Printing: Provide a
                                  way to display win32 printer driver's
                                  dialog" class="issue-link" data-issue-key="JDK-4673406" moz-do-not-send="true"><strike class="">JDK-4673406</strike></a>,
                                the properties dialog isn't supported
                                for direct uses with
                                javax.print.ServiceUI.printDialog, so it
                                makes sense to disable this properies
                                button for this usecase.</p><p class="">This button is disabled in
                                linux,mac already. This is because, as
                                per<br class="">
                              </p><p class=""><a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/jdk/client/annotate/754ec520eb4a/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l964" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/annotate/754ec520eb4a/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l964</a></p><p class="">the button is disabled if
                                ServiceUIFactory is null and for
                                linux/mac, it is null</p>
                              <a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1637" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1637</a><br class="">
                              <a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java#l490" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java#l490</a><p class="">but for windows, it created
                                "Win32ServiceUIFactory" but it does not
                                handle the properties dialog if "role"
                                requested to be performed by ServiceUI
                                is <= ServiceUIFactory.<span style="color:#660e7a;font-weight:bold;font-style:italic;" class="">MAIN_UIROLE</span></p><p class=""><span style="color:#660e7a;font-weight:bold;font-style:italic;" class=""></span>[<a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688" moz-do-not-send="true">http://hg.openjdk.java.net/jdk/client/file/754ec520eb4a/src/java.desktop/windows/classes/sun/print/Win32PrintService.java#l1688</a>]<br class="">
                              </p><p class="">Proposed fix is to make sure
                                this role is accounted for in the
                                buttonProperties enabling check.</p><p class="">Bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8246742" moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8246742</a></p><p class="">webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.0/" moz-do-not-send="true">http://cr.openjdk.java.net/~psadhukhan/8246742/webrev.0/</a></p>
                              Regards<br class="">
                              Prasanta<br class="">
                              <span style="color: rgb(102, 14, 122);" class=""></span> </blockquote>
                          </div>
                        </div>
                      </blockquote>
                    </div>
                    <br class="">
                  </div>
                </blockquote>
              </div>
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
    </blockquote>
  </div>

</div></blockquote></div><br class=""></div></body></html>